大家好,我是 AI 探险家 Jason。 今天我们来谈谈 AI 编程。
AI 编程,最重要的是动手开始做!
先把东西做出来,再优化迭代,过程中我们不断学习,成长,沉淀经验。
初期,我们不需要纠结原理,理解代码。要学会的第一个技能就是:讲清楚需求,让 AI 能充分的理解,再经过多轮对话不断优化,验证效果和修复缺陷,循环往复,直到成品落地。
AI 编程工具
目前 AI编程主流的工具是:Cursor、Codex 和 Claude Code;前 2 者都是 AI 代码编辑器,新时代的 IDEA;后者是 AI 命令行工具,当然还有小米家的 MIMO,无线上下文,中文友好。接下来大概介绍一下这三种 AI 编程工具,大家可以自行选择,也能都尝试尝试。
Cursor 是一款基于 VS Code 开发的人工智能代码编辑器,它保留了 VS Code 强大的功能和生态体系,专注于集成 AI 技术,界面友好。国内的相同功能产品有:阿里的 Qoder、字节的 Trae,都是新一代的 AI 编程原生开发环境。
Codex 是 OpenAI 公司推出的智能编码工具,可以原生的集成 ChatGPT。
Claude Code 是终端编程 Agent,可以处理极其复杂的代码工程,可以通过一些插件集成到 VS Code 或者 IDEA 中,进行使用。
AI 编程技巧
选择好我们的 AI 编程工具后,可以加入一些 MCP 或者 Skills,来给我们的 AI 编程工具增添羽翼,让它更加强大。
简单介绍一下 MCP 和 Skills 是什么,解决了什么。
MCP 相当于一个万能拓展坞,使你的 AI 工具可以连接到任何的外部服务。比如,通过 MCP 服务,让 AI 调用帮你查询数据库的业务数据;或者通过 MCP 服务帮你把文字手稿,转换为精美的 PPT。
SKills 顾名思义,技能。它相当于让你的 AI 学会了各种武林功法。比如如何生成 PPT,如何处理 Excel 的数据,如何安装要求生成文档,它可以让 AI 做一件事情时,调用这个技能包,规范 AI 的行为和方法,使他干的更好!具备更多的能力。
AI 编程心法
动手开始之前,首先想清楚自己要做什么?明确自己的核心目标和解决什么问题,要具体哪些功能。最终将大的需求一步步拆解成小的需求,让 AI 每次都只完成一个小功能,做完后我们直接验证功能,没问题开始下一个。比起上来,直接说帮我做个售票系统的订单管理页面,让 AI 自己去想都要做什么,自己设计自己实现,不如告诉它要具体的功能点,让它帮你实现。需求先行,想清楚再动手。
好的提示词,可以让你事半功倍。通常一份好的提示词要包含:告诉 AI 它的身份是什么?现在它要做什么事情,事情的背景是什么样的?以及当天针对现状背景,你的需求是什么?具体要实现哪些功能。以及做的时候,对成果有哪些约束条件,比如页面要蓝色的背景,最后告诉它要输出什么,格式是怎样的?当我们遇到复杂功能点时,给 AI 举例子,它会更容易理解。
在代码工程开启的第一步,我们通常都要生成一个项目的规则文件,无论是 claude.md 还是 agents.md,所有主流的 AI 工具都支持在其内部写入项目的技术栈,编码规范,以及项目目录说明,和核心的规则约束与项目目标,AI 在生产代码时候,就会自动遵守这些约定。
在我们开发过程中,功能的缺陷是不可避免的。无论是人还是 AI,都要学会如何去排查问题,解决问题。想 AI 描述缺陷时,要直接了当的告诉它哪里错了,告诉它现状是什么样子的,我们期望的是什么样子的,并且提供给他报错的信息,可以直接粘贴复制过来,让它进行分析原因,我们确认后再动手改代码。遇到某些复杂的问题,或者 AI 掉进了一个黑洞里,理解一直是错误的无法出来,那我们就要多尝试,是不是自己表述有问题,或者换个角度去表达描述问题,也想就迎刃而解了。
如果上述的问题还是没有解决,且代码越改越糟糕,这时候就到了 Git 发挥作用的时候了。Git 是什么呢?代码版本管理工具,你可以理解为它是一个照相机,每次你提交代码它都会存个快照,如果你对当前的代码不满意,就可回到上一次拍照的时刻,把代码回滚。当然 Git 是完成可以使用命令行操作的,也就意味着你也可以用 AI 来帮你提交代码,保留原始版本,防止 AI 把代码改崩了回不去。
说了这么多,总结一下:实际上我们要做的事情就是:按照需求拆解功能,确认方案,和 AI 对话,逐步实现,验证功能和改进优化,每次完成一个小功能时,使用 Git 提交一次代码,记录我们的成果。保障后续出问题能随时回退回来,然后接着下一个功能,循环往复。这就是 AI 项目开发的整理流程。
开发完后,我们可以对自己的项目部署上线,让所有人都能访问到它。当然也有免费的平台供我们部署自己的项目,不一定要花钱去买云服务器,比如我的博客网站就部署在 GitHub Pages,这里我更推荐 Vercel,免费的额度个人使用完全够用,部署的速度也非常快,且它在全球都有 CDN,访问也不会出现像 GitHub Pages 卡顿的情况,使用起来也很方便,使用 Git 推送即能实现部署。你只需要有一个 GitHub 账号,和你的项目即可。把代码推到 GitHub 仓库,就能实现部署。当然,如果你有自己的域名也可以配置上自己的域名。
AI 编程进阶
智能体工程:核心是我通过编排 AI 智能体,设计好系统的架构和规范约束,让每个 AI 智能体各司其职,我们当老板,AI 给我们工作,我们只负责项目验收和质量检验,从一步步和 AI 进行复杂需求功能点的交流,脱离出来。实现真正的解放双手。
上下文工程:这时候我们就要考虑上下文预算设计,哪些信息要常驻保留,哪些信息要按需加载;建立自己的决策日志,把层级犯过的错误踩过的坑记录下来防止重复发生,窗口管理策略,何时可以开启新的对话,什么时候需要对已有的对话压缩,进行文档的沉淀等。
驾驭工程:养完龙虾又养马,继龙虾后又大火的 AI 概念。本质上是:提示词让我们给好的给 AI 表达指令,让 AI 有自己的身份,思维方式,输出的成果的约束条件等。其次,上下午功能,解决了如何提供信息给 AI,通过 Agents.md ,以及记忆功能,相关的检索和压缩,让 AI 能记住的信息更多,更好的去实现功能。最后则是驾驭工程,它在 2 者的最外层,给 AI 提供了工具调用,任务编排,和反馈机制,以及架构护栏,把 AI 的操作框在一个有界的范围内,马越养越顺手。
SDD 规范驱动开发:这是一种新的开发思想,在开始动手前,我们要先做好战前准备,创建明确的,AI 能直接理解和执行的规范文档,比如需求规范,代码约束。区别于传统的开发,在实践中不断优化迭代,最后形成文档。先搞文档,明确后再动手。
写在最后:
这个时代不缺乏实现的方式,稀缺的是我们的创意;
AI 编程动手实践很重要,比起空泛的学习概念,不如直接开始,遇事不决可问大模型!
夜雨聆风