使用 AI Coding Agent 的实践

过去很多对 Vibe Coding 嗤之以鼻的大佬,例如 DHH,Linus,Antirez 等,在 2025 年 12 月开始纷纷改口,我觉得这是相当正常的,去年 12 月开始,AI 编程工具和头部的模型突然有一个跳跃式的进步,突然对于复杂任务和大型项目的理解,以及写出代码的正确率有了极大的提升。这进步大概来自于两个方面:

  1. 头部模型在长上下文(>256K) 的支持,尤其是关键信息的召回率提升惊人
  2. 主流的 Vibe Coding 工具的 Context Engineer 实践日益成熟,例如 Claude Code / Codex / OpenCode

2025 年 12 月这个时间节点,主流 Coding Agent 的质量超过了一个临界点:100% 的无人工干预下完成长时间的 Agentic Loop 成为可能。

为项目选择严谨的编程语言

Rust 的严谨性让 AI 能写出更接近 bug free 的 infra code。如果你要再启动一个新的 backend infra 项目, Rust 应该是你的第一选择。

使用最新锐的模型

根据我个人的实践来说,当下能用来进行大型 Infra 项目(数据库,操作系统,编译器等)开发的模型大概就两个:GPT-5.2 (xhigh) + Opus 4.5,还有半个算是 Gemini 3 Pro。

人如何给 AI 提需求

一个办法是让 AI 来角色扮演。比方说,我在开发 PostgreSQL 版本的 TiDB 时,我就让 AI 假设自己是一个资深的 Postgres 用户,从开发者的视角告诉我有哪些特性是非常重要、一定要实现而且 ROI 比较高的,让它列出 N 个这样的功能点,然后 AI 就会根据它的理解生成一个需求列表,接下来你再和 AI 对这些需求逐个打磨,这其实是一个高效冷启动的方法。

规划阶段不要给 AI 太具体的方案

而是让 AI 来生成方案,你只需要关注最终你想要的结果;提前告诉 AI 有哪些基础设施和环境的问题,让它少走弯路。

要求 Agent 做的一些关键动作

比如无论接下来做什么,都要把计划和 todo 列表放在一个 work.md 或 todo.md 这类文件里。还有,每完成一个阶段的工作,就把上一阶段的经验教训更新到 agents.md 里。第三点是当一个计划完成并且代码合并后,把这个工作的设计文档添加到项目的知识库中(.codex/knowledge)。

AI 在调查、研究和分析的阶段

告诉模型它拥有无限的预算和时间,尽可能充分地进行调研。如果你的模型有推理深度的参数的话,我建议在这个阶段把它们全部调到 xhigh 的级别。

AI 在实现阶段

要么你就让 AI 完全去做,要么你就完全自己做,千万别混着来,我目前是倾向于完全零人工干预的模式效果更好。

测试和验收结果的阶段,人的参与非常重要

我在完成大目标前,我一定会先和 AI 一起做一个方便的集成测试框架,并提前准备好测试的基础设施,收集和生成一些现成集成测试的用例,尽量一键能运行那种,这样在开发阶段就能事半功倍,而且关于如何使用这些测试的基础设施的信息,我都会在正式开始前就固化在 agents.md 里,这样就不用每次沟通的时候都再告诉它该怎么测试了。

关于测试从哪来的问题,我自己的经验是你可以让 AI 帮你生成,但一定要告诉它一些生成的逻辑,标准和目的,另外就是千万不要把生成测试的 Context 和实际进行开发工作的 Agent 的 Context 混在一起。

重构和拆分阶段

Agent 通常不会主动去做项目结构和模块边界的治理,你要它把功能做出来,它恨不得把所有东西都写进几个几万行的大文件里。

做法通常是先停下来,用自己的经验进行模块拆分,然后在新的架构下进行 1~2 轮的重构,之后又可以高并发度的进行开发了。

多 Agent 协同编程

让不同的 Agent 在不共享上下文的前提下互相 Review 工作,其实能显著提高质量。这就像在管理研发团队时,你不会让同一个人既当运动员又当裁判。相当于 Agent A 写的代码交给 Agent B 来 Review,往往能发现一些 A 看不到的问题。通过这样的循环往复,你就会更有信心。

用得比较好的一个工作流

  1. 让 GPT-5.2 在 Codex 下生成多个功能的设计文档,做出详细的设计和规划,第一阶段把这些规划文档都保存下来。
  2. 用 Codex 根据这些需求文档一个一个去实现功能。在实现的过程中,就像我前面提到的那样,记录 To-Do、经验教训,并在接近完成的时候,在代码通过测试并准备提交之前停下
  3. 把当前的工作区交给另一个 ClaudeCode 或 OpenCode,在不提供上下文的情况下,让 ClaudeCode 来 Review 当前还未提交的代码,根据设计提出修改建议。然后再把这些建议发回给 Codex,让 Codex 来评论这些建议,如果有道理就修改代码。
  4. 改完之后,再让 ClaudeCode (Opus 4.5) 那边再次 Review,直到双方都觉得代码已经写得很不错了,再提交到 Git 上,标记这个任务完成,更新知识库,然后进入下一个功能的开发。
发表于 2026 年 1 月 20 日,星期二
更新于 2026 年 5 月 4 日,星期一