指南

智能体工程:与 AI 智能体一起开发,并始终掌控工作

智能体工程是这样一种工作方式:由 AI 智能体写代码,你来指挥它们——给出清晰的任务说明、可检查的标准,并在最后做出决定。本指南说明它与氛围编程有何不同,展示一套使用 Claude Code、Codex、Cursor 和 Gemini CLI 的智能体编程工作流,并指出日常工作中容易卡住的地方。

什么是智能体工程?

编程智能体不只是一个建议代码片段的聊天。它直接在你的项目文件夹中工作:读取文件、搜索代码、运行测试、修改多个文件,并自己检查结果。智能体编程描述的是智能体做什么;智能体工程描述的是围绕它的方法:你如何写任务说明、如何让结果可验证,以及如何承担责任。

这个概念有一位知名的“教父”。2025 年 2 月,OpenAI 联合创始人 Andrej Karpathy 提出了“氛围编程”(vibe coding)一词,指一种完全跟着感觉走、甚至忘了代码存在的编程方式。柯林斯词典将它评为 2025 年度词汇。一年后的 2026 年 2 月,Karpathy 称“智能体工程”(agentic engineering)是他更喜欢的说法,用来指专业的版本:之所以叫“智能体”,是因为大多数时候你不再自己写代码,而是指挥和监督智能体;之所以叫“工程”,是因为其中需要技能和经验。

智能体工程与氛围编程:区别在哪里

两者使用同样的工具。区别在于你事先规定了多少,以及事后检查得有多仔细。

方面氛围编程智能体工程
任务说明聊天中的一条提示词包含目标、需求和验收标准的规格
检查试试能不能运行测试、构建、审查差异
代码往往不读经过审查;责任在人
记忆聊天记录文件:AGENTS.md、规格、任务
适合原型、个人小工具、实验产品、客户项目,以及一切有用户和数据的东西

氛围编程不是错误,而是适合特定时机的工具。许多氛围编程者在实验变成别人也在用的东西时,就转向了工程化的做法。

由你指挥:任务说明、审查、决定

在智能体工程中,你的工作重心发生了转移。你敲的代码变少了,但有三件事要做得更仔细:

  • 任务说明:你描述要构建什么,以及怎样才算完成。说明越精确,需要修正的轮次就越少。
  • 审查:你阅读差异、查看测试结果并试用成果。智能体在工作看起来完成时就会停下;只有审查才能表明它是否真的完成了。
  • 决定:合并还是返工,做下一个任务还是调整方向。这些决定始终由你来做。

工作循环

从任务说明到决定

琥珀色代表你,青色代表智能体。

  1. 人类

    任务说明

    你描述目标、需求,以及怎样才算完成。

    • 带验收标准的规格
    • 执行、起草或询问
  2. AI

    实现

    智能体进行规划,在自己的分支中修改代码,并运行测试和构建。

    • Branch ai/course-page
    • npm test · npm run build
  3. AI

    交回

    它汇报自己做了什么,并附上证据。只有你能做的事,它会为你创建任务。

    • 已交回给你验收
    • 给你:注册 API 访问权限
  4. 人类

    审查和决定

    你对照标准检查差异和结果,然后验收或退回修改。是否合并由你决定。

    • 验收
    • 退回修改:附说明

退回修改和答复会回到智能体那里,直到满足标准为止。

每天与编程智能体共事时的典型卡点

如果你每天都和智能体一起工作,一定熟悉这些地方:

  • 未决事项消失在聊天记录中。会话结束时还剩三件事。几天后,它们要么被新消息淹没,要么随会话一起被关掉了。
  • 给你的任务藏在长篇回答里。智能体需要一个 API 密钥、一条 DNS 记录或 App Store 中的一项审批,却在总结的第四段才提到。
  • 多个会话,多个项目。一个窗口在做课程页面,第二个在修 bug,第三个在做调研。只有你知道哪个进度在哪里。
  • 上下文窗口被塞满。会话越长,智能体表现越差,所以 Anthropic 建议在不相关的任务之间用 /clear 重新开始。凡是没有写进文件的内容,智能体就再也看不到了。

这些问题的解决办法有一个共同点:工作进度应该放在文件里,而不是聊天中。

实践:经得起考验的 Claude Code 工作流

用文件存放任务,而不是聊天记录

把每个任务都创建为智能体能读取和修改的文件:包含标题、状态、负责人和记录。这样,每次新会话都以“处理你未完成的任务”开始,智能体就能找到所需的一切,即使在 /clear 之后或换了工具也一样。会话结束时,任务说明是:“为未决事项创建任务。”

带验收标准的规格

凡是比一行代码更大的事,都写一份规格:目标、需求,以及可以逐项勾选的验收标准。Anthropic 在 Claude Code 最佳实践中建议,对于较大的功能,先让智能体提问并写好规格,再在新的会话中开始实现。好的规格会列出涉及的文件、说明哪些不在范围内,并以一项能证明一切正常的检查结尾。

设定自主程度:执行、起草、询问

不是每个任务都能给同样的自由。更新一个依赖项,智能体可以直接做。首页的文案,它应该先准备草稿,由你确认。数据库迁移,它应该先询问。这要针对每个任务决定,而不是一次性定下所有任务。

用交回取代总结

智能体完成后,不应该只是回复,而应该把任务交回:交给你验收,并附上说明它做了什么、成果在哪里的备注;如果缺了什么,就带着问题交回。只有你能做的事,它会为你单独创建任务。

有证据的审查

要的是证据而不是声称:测试输出、它运行的命令、一张截图。给智能体一些它能自己检查的东西,例如测试或构建。对于较大的更改,Claude Code 的计划模式(Shift+Tab)很有帮助:智能体在更改任何内容之前先阅读和规划。在新的上下文中再看一遍,例如由子智能体来看,能发现智能体在自己的代码中忽略的漏洞。代码任务它在自己的分支中完成,是否合并由你决定。

AGENTS.md 和 CLAUDE.md:给智能体的手册

每次会话开始时,智能体都不记得上一次。因此,它需要了解的项目信息要写进一个它在开始时读取的文件。AGENTS.md 是为此而设的开放格式,相当于给智能体看的 README,现由 Linux 基金会旗下的 Agentic AI Foundation 管理。Codex、Cursor 和许多其他工具都会读取它。Claude Code 读取 CLAUDE.md,没有 CLAUDE.md 时会退而读取 AGENTS.md;用 @AGENTS.md 可以在一个文件中引入另一个。Gemini CLI 读取 GEMINI.md,文件名可以更改。

# AGENTS.md

## 命令
- 测试:npm test
- 完成前:npm run lint && npm run typecheck

## 规则
- 在自己的分支中工作,绝不在 main 上。
- 未经批准,不推送、不部署。
- 新增依赖项须先询问。

## 任务
任务位于 TandemLoop 中,链接为 ./tandemloop。
请先阅读 ./tandemloop/AGENTS.md。只有我能做的事
(访问权限、审批、决定),在那里为我创建任务。

文件要保持简短。对于 CLAUDE.md,Anthropic 建议少于 200 行,并且只写智能体无法从代码中读出的内容。如果它重复犯同一个错误,就把规则写进文件;如果它早已遵守某条规则,就可以把它删掉。

工具:Claude Code、Codex、Cursor、Gemini CLI

工具厂商运行环境读取
Claude CodeAnthropic终端、编辑器、桌面 AppCLAUDE.md,备选 AGENTS.md
CodexOpenAI终端、编辑器、桌面 AppAGENTS.md
CursorAnysphere自带编辑器、终端AGENTS.md 和自己的规则
Gemini CLIGoogle终端GEMINI.md,可配置为 AGENTS.md

选择哪个工具,不如怎样工作重要。如果说明、规格和任务都存放在文件中,你就可以更换智能体,新的智能体会从同样的进度接着做。

TandemLoop 如何支持智能体工程

TandemLoop 是一款适用于 Mac、iPad 和 iPhone 的待办事项 App,你和智能体在其中共享同样的任务。这些任务以文本文件形式保存在你的 iCloud 云盘中;智能体直接读写它们,并遵循 TandemLoop 提供的手册。无需插件或 API。

多个智能体和会话读取同一个文件夹,看到同样的进度。同一时间应该只有一个智能体写入;否则,通过 iCloud 同步可能产生冲突副本。页面与 AI 智能体协作的待办事项 App展示了完整的工作流;指南Claude Code 与 Obsidian介绍了同样的设置在 Obsidian 仓库中是什么样子。

除了代码之外,TandemLoop 也是一款完整的待办事项 App,有收件箱、项目、截止日期和自定义视图。如果你遵循 GTD 方法,可以让智能体预先整理收件箱,并准备每周回顾。

在 App 中

规格和交回集中在一处

任务在线课程
撰写第 2 课的脚本待验收 · 10 月 23 日(星期五)截止AI

待验收脚本共 2,380 字,结尾附练习。成果:Script-Lesson-2.md。请检查开头部分。

规格可交给智能体

目标

第 2 课“正确地交出任务”的旁白,约十分钟。

需求

  • 结构与课程大纲一致
  • 直接面向学员讲述,举一个日常例子

验收标准

  • 不超过 2,500 字
  • 结尾附练习

常见问题

什么是智能体工程?

智能体工程是指借助 Claude Code、Codex、Cursor 或 Gemini CLI 等 AI 智能体开发软件,这些智能体会阅读代码、运行命令并修改文件。你不再自己写代码,而是下达任务、检查结果并做出决定。“工程”指的是围绕这一切的严谨做法:规格、测试、审查,以及给智能体的明确规则。

智能体工程和氛围编程有什么区别?

氛围编程时,你放手让 AI 去做,主要只看结果能不能运行;代码往往不会去读。智能体工程用的是同样的智能体,但有规格、验收标准、测试和审查,对结果的责任始终在你。氛围编程适合原型;智能体工程适合有用户、需要维护的软件。

氛围编程算真正的编程吗?

它能产出真实可用的代码,只是没有人理解或检查它。用于原型或只有你自己用的工具,这没有问题。一旦有其他人使用这个软件、它要处理数据,或者你要持续开发好几个月,就需要智能体工程所描述的工作方式。

有哪些氛围编程工具?

常见的选择是终端和编辑器中的编程智能体,例如 Anthropic 的 Claude Code、OpenAI 的 Codex、Cursor 以及 Google 的 Gemini CLI。此外还有基于浏览器的 App 生成器,可以根据描述生成完整的应用。对于智能体工程,最合适的是直接在项目文件夹中工作的智能体。

AGENTS.md 里应该写什么?

智能体需要了解、却无法从代码中读出的一切项目信息:测试和构建的命令、分支和提交的规则、哪些事必须先询问才能做,以及任务存放在哪里。文件要保持简短;说明越长,越不容易被可靠地遵守。

多个智能体同时工作时,如何保持清楚?

把任务说明、成果和未决事项从各个聊天中拿出来,放进以文件形式存储、每次会话都会读取的任务中。每个任务都显示由谁负责、处于什么状态。只让智能体并行处理互不相干的事,例如各自在自己的分支中,并且同一时间只让一个智能体写入共享文件。

你来指挥。
智能体与你协作。