主题
通用 AI 编程方法论
这套方法论与客户端无关,Claude Code、Codex、Cursor 都适用,是《从零到驾驭 AI:成长路径》第四阶段(会协作)的展开。核心就四件事:给 AI 立规矩、喂对上下文、拆小任务、小步验证。
1. 用项目规则文件给 AI 立规矩
1.1 为什么需要规则文件
AI 每次对话都是"新同事入职"。没有规则文件,它每次都要重新猜你的技术栈、代码风格和禁忌。规则文件相当于一份常驻的入职手册,每次会话自动注入。
1.2 放什么内容
- 项目技术栈与版本(如
Vite + Vue 3 + TypeScript)。 - 目录结构约定,说明"什么代码放哪里"。
- 编码规范:命名、注释、测试要求。
- 禁止事项:不要改哪些文件、不要引入哪些依赖、不要删注释。
- 常用命令:构建、测试、启动的准确命令。
1.3 放在哪里
- Claude Code 读取
CLAUDE.md(项目根目录),也遵循AGENTS.md。 - Codex 读取
AGENTS.md。 - Cursor 支持
.cursorrules或.cursor/rules/目录。
规则文件保持在 100 行以内,写成"指令"而不是"散文"。太长会被稀释,AI 反而抓不住重点。
1.4 迭代规则
发现 AI 犯了同一个错两次,就把这条纠正写进规则文件。规则文件是活的文档,随项目成长。
2. 管理好上下文窗口
2.1 上下文决定质量
AI 只"看得见"当前上下文里的内容。上下文塞满了无关代码,回答质量就会下降;关键文件没进去,它就开始瞎猜。
2.2 实用做法
- 在项目根目录启动会话,而不是家目录,避免 AI 找不到文件。
- 让 AI 先用搜索定位相关文件,再读入,而不是一次性贴大量代码。
- 新任务开新会话。上一任务的历史会污染下一任务的判断。
- 长会话中主动总结:让 AI 输出当前进度与决策,开新会话后粘贴进去。
2.3 识别上下文被污染的信号
AI 开始重复问你说过的事、忘记早先的约束、或引用不存在的代码,就该清理上下文或重启会话了。
3. 把大任务拆成小任务
3.1 为什么拆
一次性让 AI"实现整个功能",生成 500 行代码后出错的概率极高,而且错误藏得深。小任务每次生成几十行,出错立刻能发现。
3.2 拆法
- 先让 AI 输出实现方案(改哪些文件、分几步),确认后再动手。
- 每步只做一件事:一个函数、一个组件、一次重构。
- 每步结束立即构建或跑测试,绿色了再进行下一步。
- 遇到偏差,当场纠正,不要攒到最后。
3.3 好的任务描述模板
text
在 src/api/user.ts 中新增 updateUser 函数:
- 输入:UpdateUserPayload 类型(见 src/types/user.ts)
- 调用 PATCH /api/users/:id
- 参考同文件中 getUser 的写法,包括错误处理
- 完成后运行 npm run typecheck指明位置、输入输出、参照物和验证方式,AI 一次命中的概率大幅提升。
4. 小步迭代与验证闭环
4.1 永远不要直接相信生成结果
AI 生成的代码要经过三道检查:能否构建、逻辑是否正确、是否符合项目风格。构建能挡住语法与类型错误,逻辑和风格需要你读一遍 diff。
4.2 建立验证习惯
- 让 AI 修改后主动运行构建或测试,而不是只"看起来对"。
- 用 git diff 审查每次改动,发现多余改动立刻要求回退。
- 让 AI 解释关键改动的原因,解释不清的实现往往有问题。
4.3 处理连续失败
同一个问题修三轮还没好,说明方向错了。停下来:让 AI 总结目前的尝试与失败原因,换个思路重新拆任务,而不是继续在错误方向上加补丁。
5. 一页速查
- 规则文件常驻项目根目录,100 行以内,持续迭代。
- 新任务开新会话,长会话主动总结续接。
- 大任务先要方案,拆成小步,步步验证。
- 描述任务说清:位置、输入输出、参照物、验证命令。
- 修三轮不过就换方向。
相关阅读:《Prompt 提示词秘籍》(把任务描述写到位)、《Claude Code 进阶玩法》(把重复动作自动化)、《效率与省钱技巧》(同一习惯的费用视角)。