1. 从"人写代码"到"人管意图":AI Native 团队到底在变什么
这两年"AI Native"这个词被喊得震天响,但真正落到团队日常开发里,绝大多数人做的其实只是"给 IDE 装了个补全插件"。这跟 AI Native 差着十万八千里。我见过太多团队,买了几十份 AI 编程工具的席位,结果工程师还是按老流程走:需求文档写三天、评审两轮、排期两周、编码一周、测试一周。AI 只是把"敲键盘"这一步加速了 20%,整个交付周期几乎没变。
问题出在哪?出在流程本身还是为人设计的,而不是为"人机协作"设计的。AI Native 团队的核心变化,不是工具换了,而是软件开发生命周期(SDLC)的每个环节都要重新分配"人"和"Agent"的职责边界。以前是人写代码、人写测试、人写文档;现在是人定义意图、Agent 执行、人做验收。这个转变听起来简单,实操起来全是坑。
这篇手册想解决的问题很具体:一个真实的研发团队,怎么把 AI Native 从口号变成每天能跑起来的流程。我会从角色重定义、上下文工程、Plan Mode 的落地、Agent 的并发与安全、以及团队协作规范几个角度,把踩过的坑和跑通的方案都摊开讲。适合正在做 AI 转型的技术负责人、想搭 Agent 工作流的资深工程师,以及刚接触 Agent 开发、想知道"这东西到底怎么用在真实项目里"的同学。
先给一个反直觉的结论:AI Native 团队最大的瓶颈从来不是模型能力,而是上下文管理。模型再强,你喂给它的信息是乱的、缺的、过时的,产出就是垃圾。所以后面我会花很大篇幅讲CLAUDE.md这类"项目记忆文件"怎么写、Plan Mode 怎么用、Agent 之间怎么传递状态。这些才是决定成败的细节。
2. 角色重定义:AI Native 团队里每个人到底干什么
2.1 传统 SDLC 的职责划分为什么在 AI Native 下失效
传统 SDLC 里,需求、设计、编码、测试、运维是串行的,每个环节有明确的人负责。这套流程的前提是"每个环节的产出物需要人来理解和传递"。但 AI Native 下,Agent 可以直接读需求、生成设计、写代码、跑测试,中间很多"传递"环节被压缩了。
失效的第一个点是评审。以前代码评审是看人写得对不对,现在 Agent 生成的代码量可能是人的 5 到 10 倍,你根本评审不过来。评审的重点必须从"逐行看逻辑"转向"看意图是否符合、看边界是否覆盖"。
失效的第二个点是排期。Agent 写代码快,但它的"快"是有条件的——上下文给足了才快,上下文乱了它比人还慢,因为它会反复试错。所以排期不能再按"人天"算,要按"上下文准备度"算。
失效的第三个点是测试。人写的测试是抽样覆盖,Agent 可以生成全量边界测试,但 Agent 也会生成"看起来对但其实没测到点子上"的测试。测试策略要从"写测试"转向"定义什么叫测到位"。
2.2 我实际跑通的四种角色
我们团队现在把角色重新切成四类,每类的产出物和验收标准都不一样:
| 角色 | 核心职责 | 主要产出物 | 验收标准 |
|---|---|---|---|
| 意图定义者 | 把模糊需求转成 Agent 可执行的规格 | 结构化需求 + 验收用例 | Agent 能无歧义理解 |
| 上下文工程师 | 维护项目记忆、规范、示例库 | CLAUDE.md、规范文档、示例集 | Agent 首次产出命中率 |
| Agent 编排者 | 设计 Agent 工作流、处理并发与失败 | 工作流配置、重试策略 | 端到端任务成功率 |
| 验收官 | 定义"什么叫对"、做最终把关 | 验收清单、回归基线 | 缺陷逃逸率 |
注意,这四类角色不是四个人,很多时候一个人身兼两三类。但职责必须分开想,因为每类的思维方式完全不同。意图定义者要像产品经理一样想清楚"要什么",上下文工程师要像技术写作者一样想清楚"怎么表达",编排者要像 SRE 一样想清楚"怎么不出事",验收官要像测试架构师一样想清楚"怎么证明它对"。
2.3 一个真实的角色切换案例
我们有个后端服务重构任务,按老流程是:架构师出设计 → 两个工程师写两周 → 测试一周。这次我们试了 AI Native 流程:
意图定义者花半天把重构目标写成 12 条可验证的规格,每条都带输入输出示例。上下文工程师花半天整理现有代码的模块边界、依赖关系、命名规范,写进CLAUDE.md。编排者配置了一个"先出计划、再分模块执行、每模块跑测试"的工作流。验收官提前写好回归基线。
结果 Agent 在 3 小时内产出了初版重构代码,通过了 80% 的回归用例。剩下 20% 失败的地方,全是"规格没写清楚"的边界情况。我们回头补规格,再跑一轮,通过率到 95%。整个过程人的投入大概是 2 人天,比原来省了 70%。
关键洞察是:省下来的时间不是"写代码"省下来的,是"想清楚"这件事被前置了。以前想清楚是在写代码过程中边写边想,现在必须提前想清楚,因为 Agent 不会帮你"边写边悟"。
3. 上下文工程:CLAUDE.md 到底该写什么、不该写什么
3.1 为什么项目记忆文件是 AI Native 的地基
Agent 每次执行任务,都是从零开始理解你的项目。你如果不给它一份稳定的"项目记忆",它每次都要重新摸索,产出质量忽高忽低。CLAUDE.md这类文件的作用,就是把项目的隐性知识显性化,让 Agent 每次都能站在同一个起点上。
我见过最常见的错误,是把CLAUDE.md写成"项目介绍文档"——写一堆业务背景、产品愿景。这些对 Agent 执行具体任务几乎没用。Agent 需要的是可操作的约束和模式,不是背景故事。
3.2 一份能用的 CLAUDE.md 的六个必备模块
我现在的模板固定包含六块,缺一块 Agent 的产出质量就明显下降:
第一块:项目结构与模块边界。明确告诉 Agent 哪些目录是干什么的,模块之间怎么依赖,哪些地方不能碰。比如"/core是领域逻辑,不允许引入任何 IO 依赖"这种硬约束,必须写清楚。
第二块:命名与代码风格。不是泛泛说"遵循最佳实践",而是给具体例子。比如"服务类命名用XxxService,方法用动词开头,返回统一用Result<T>包装"。Agent 对具体例子的遵循度远高于抽象规则。
第三块:常用命令。构建、测试、lint、格式化的命令全部列出来。Agent 需要知道怎么验证自己的产出,你不给它命令,它就会瞎猜。
第四块:测试规范。测试文件放哪、用什么框架、断言风格、mock 策略。这块特别重要,因为 Agent 生成的测试质量直接决定你能不能信任它的代码。
第五块:禁止事项。明确列出"不要做什么"。比如"不要修改migrations目录下的历史文件"、"不要引入新的第三方依赖除非明确要求"。Agent 很听话,你禁止了它就不做,你不禁止它就可能乱来。
第六块:常见任务示例。给两三个"输入 → 输出"的完整示例,让 Agent 有参照。比如"新增一个 API 端点的完整步骤",从路由、服务、测试到文档,一步步列出来。
3.3 上下文不是越多越好:我踩过的"信息过载"坑
早期我犯过一个错,把CLAUDE.md写到 3000 多行,恨不得把整个项目的知识都塞进去。结果 Agent 的表现反而变差了。原因是上下文窗口是有限的,无关信息会稀释关键信息。
后来我做了个实验:同一批任务,分别用 3000 行版本和 400 行精简版本跑。精简版本的首次产出命中率反而高了 15%。因为 Agent 能聚焦在真正重要的约束上。
所以现在的原则是:CLAUDE.md只放"每次任务都需要"的稳定信息,任务相关的临时信息通过任务描述传递。项目记忆文件保持精简,控制在 500 行以内,超过就拆成多个文件,按需引用。
3.4 上下文的分层管理
我现在把上下文分成三层:
- 全局层:
CLAUDE.md,所有任务共享,放项目结构、风格、命令、禁止事项。 - 模块层:每个大模块一个
MODULE.md,放该模块的领域知识、接口约定、特殊约束。 - 任务层:每次任务临时提供的需求描述、相关代码片段、验收标准。
Agent 执行时,先读全局层,再按任务涉及的模块读模块层,最后读任务层。这样既保证了信息完整,又避免了无关信息干扰。
提示:模块层文件不要主动全读,让 Agent 根据任务涉及的目录自动判断该读哪个。你可以在
CLAUDE.md里写清楚"处理/payment目录的任务时,先读/payment/MODULE.md"。
4. Plan Mode:为什么"先出计划再执行"是 Agent 落地的关键
4.1 直接让 Agent 写代码为什么容易翻车
很多人用 Agent 的方式是:给个需求,直接说"帮我实现"。这在简单任务上还行,稍微复杂一点就翻车。翻车的原因不是 Agent 能力不够,而是它在没有全局视野的情况下就开始局部决策,做着做着发现方向错了,但已经改不回来了。
这跟人一样。你让一个新人直接上手写一个复杂功能,不给他时间想清楚架构,他大概率会写出一个能跑但结构混乱的东西。Agent 更严重,因为它不会像人一样"停下来想想",它会一路做到底。
Plan Mode 的核心价值,就是强制 Agent 在动手前先输出一份可评审的计划。这份计划包括:任务拆解、涉及的文件、实现思路、潜在风险、验证方式。人看完计划,确认方向对了,再让 Agent 执行。
4.2 Plan Mode 的实操流程
我们现在的标准流程是三步:
第一步:生成计划。给 Agent 任务描述,明确要求"先不要写代码,输出一份实现计划"。计划要包含:要改哪些文件、每个文件改什么、新增哪些文件、怎么测试、有什么风险。
第二步:评审计划。人看计划,重点看三件事:方向对不对、有没有遗漏、风险识别全不全。这一步通常 5 到 10 分钟,但能省下后面几小时的返工。
第三步:执行计划。计划确认后,让 Agent 按计划执行。执行过程中如果遇到计划外的情况,要求 Agent 停下来报告,而不是自己决定。
4.3 计划质量的判断标准
不是所有计划都是好计划。我总结了几条判断标准:
- 可验证:计划里每一步都有明确的验证方式,不是"实现 XX 功能"这种模糊描述。
- 有边界:明确说了不做什么,避免范围蔓延。
- 有顺序:步骤之间有依赖关系,不是一堆并列的任务。
- 有风险:识别了可能出问题的地方,而不是盲目乐观。
如果 Agent 出的计划缺了这几条,我会让它重出,而不是凑合执行。计划阶段多花 10 分钟,执行阶段能省 1 小时,这个投入产出比非常划算。
4.4 Plan Mode 在多人协作中的价值
Plan Mode 还有个容易被忽略的价值:它是人和 Agent 之间的"契约"。计划一旦确认,就相当于双方对"要做什么"达成了共识。执行过程中如果产出不符合预期,可以回溯是计划本身有问题,还是执行偏离了计划。
这在多人协作时特别重要。A 同学定义的任务,B 同学评审计划,C 同学执行验收,中间靠计划这份文档对齐。没有计划,三个人对"要做成什么样"的理解可能完全不同。
5. Agent 并发与安全:怎么让多个 Agent 不打架
5.1 多 Agent 并发的真实痛点
单 Agent 跑顺了之后,自然会想上多 Agent 并发,因为很多任务是独立的,并行能大幅提速。但多 Agent 一上,问题就来了:
- 文件冲突:两个 Agent 同时改同一个文件,后写的覆盖先写的。
- 状态不一致:Agent A 改了接口,Agent B 还在用旧接口,跑起来就报错。
- 资源竞争:同时跑太多 Agent,把构建资源、测试环境占满,互相拖慢。
- 错误传播:一个 Agent 的产出有错,依赖它的 Agent 跟着错,错误级联放大。
我见过最惨的一次,五个 Agent 并行重构,结果互相覆盖,最后代码库处于一个"半新半旧"的混乱状态,回滚都回不干净。
5.2 并发编排的三条硬规则
踩了足够多的坑之后,我总结出三条硬规则:
规则一:按文件边界划分任务。每个 Agent 负责的文件集合不能重叠。如果两个任务必须改同一个文件,就串行执行,不要并行。这条规则能消除 90% 的冲突。
规则二:依赖关系显式声明。任务之间如果有依赖,必须显式声明,编排器按依赖顺序调度。不要让 Agent 自己判断"我依赖谁",它判断不准。
规则三:每个 Agent 独立验证。每个 Agent 完成后必须自己跑测试,通过才算完成。不要等所有 Agent 跑完再统一验证,那样错误定位成本极高。
5.3 并发度的选择
并发度不是越高越好。我的经验值是:并发度 = min(独立任务数, CPU 核数 / 2, 测试环境数)。超过这个值,收益递减,冲突概率上升。
我们团队一般控制在 3 到 5 个并发 Agent。再多的话,协调成本超过并行收益。而且并发度高的时候,人根本看不过来,评审质量会下降。
5.4 Agent 安全:几个必须设的防线
Agent 安全不是"防黑客"那种安全,而是防止 Agent 做出你不想让它做的事。几条必须设的防线:
- 文件系统边界:限制 Agent 只能操作项目目录,不能碰系统文件。
- 命令白名单:只允许执行预定义的命令,不允许任意 shell 命令。
- 网络访问控制:默认禁止 Agent 访问外部网络,需要时显式开启。
- 敏感信息隔离:密钥、凭证不放在 Agent 能读到的文件里。
- 操作审计:Agent 的每一步操作都记录日志,出问题能回溯。
注意:Agent 的"自主性"和"安全性"是矛盾的。自主性越高,能做的事越多,风险越大。我的建议是从最小权限开始,按需放开,而不是一上来就给全部权限。
5.5 失败处理与重试策略
Agent 执行失败是常态,不是异常。关键是怎么处理失败:
- 可重试失败:网络抖动、临时资源不足,直接重试,最多 3 次。
- 需人工介入的失败:计划外的情况、需要业务判断的决策,停下来报告。
- 不可恢复的失败:环境问题、依赖缺失,终止任务,清理现场。
重试的时候要注意幂等性。如果 Agent 的操作不是幂等的,重试可能造成重复副作用。所以任务设计时就要考虑幂等,或者提供回滚机制。
6. Agent 开发学习路线:从会用工具到会搭系统
6.1 三个能力层级
Agent 开发这件事,能力可以分三层:
第一层:会用现成 Agent 工具。会用 Cursor、Claude Code 这类工具,能写CLAUDE.md,能用 Plan Mode。这一层大部分工程师半年内能到。
第二层:会编排 Agent 工作流。能设计多 Agent 协作流程,能处理并发、失败、状态传递。这一层需要理解分布式系统的基本概念。
第三层:会开发 Agent 框架。能基于 SDK 开发自定义 Agent,能实现记忆、工具调用、规划等核心能力。这一层需要深入理解 LLM 的工作原理。
大部分人只需要到第二层就能在团队里发挥巨大价值。第三层是框架开发者的事,不是每个团队都需要。
6.2 学习路线的实操建议
如果你现在刚开始,我的建议是:
- 先用起来:找一个真实的小任务,用现成工具跑通,感受 Agent 的能力边界。
- 写上下文:给你的项目写一份
CLAUDE.md,观察 Agent 产出的变化。 - 上 Plan Mode:强制自己每次都先看计划再执行,养成习惯。
- 试多 Agent:找两个独立任务,试着并行跑,体会协调的难点。
- 读框架源码:选一个主流 Agent 框架,读它的核心实现,理解记忆、工具、规划怎么做的。
每一步都要在真实项目里练,不要只看教程。Agent 开发是实践性极强的技能,看一百篇教程不如跑通一个真实任务。
6.3 常见的学习误区
- 误区一:以为要学很多新东西。其实 Agent 开发的核心能力是"把问题想清楚"和"把上下文组织好",这两件事跟传统工程能力高度重合。
- 误区二:追求最新框架。框架迭代很快,追新没意义。把一两个框架用透,比浅尝十个框架强。
- 误区三:忽视基础。分布式、并发、状态管理这些基础能力,在 Agent 开发里同样重要,甚至更重要。
7. 团队协作规范:让 AI Native 流程真正跑起来
7.1 规范一:任务描述的结构化
Agent 的产出质量,很大程度上取决于任务描述的质量。我们团队现在要求所有任务描述必须包含四要素:
- 目标:要达成什么,用可验证的语言描述。
- 约束:不能做什么,边界在哪。
- 上下文:相关的文件、模块、历史决策。
- 验收:怎么证明做对了。
缺任何一项,任务描述打回重写。这个规范刚开始大家嫌麻烦,跑顺之后发现写清楚任务描述的时间,远小于返工的时间。
7.2 规范二:产出的评审标准
Agent 的产出不能"看着差不多就过"。我们定了三条评审标准:
- 意图符合:产出是否达成了任务目标,不是"看起来像"。
- 边界正确:是否遵守了约束,没有越界。
- 可验证:是否有测试或验证方式证明它对。
三条都满足才算通过。不满足的,要么补上下文重跑,要么人工修正。
7.3 规范三:知识沉淀机制
每次任务结束后,要复盘两件事:哪些上下文缺失导致 Agent 出错、哪些经验应该沉淀到项目记忆里。前者用来改进任务描述,后者用来改进CLAUDE.md。
这个机制让团队的 Agent 使用能力持续提升。三个月下来,我们的首次产出命中率从 50% 提到了 85%,靠的就是持续的知识沉淀。
7.4 规范四:人机职责的清晰边界
最后一条也是最重要的:明确哪些事必须人做,哪些可以交给 Agent。我们的原则是:
- 决策类:架构选型、技术方案、优先级排序,人做。
- 执行类:编码、测试、文档、重构,Agent 做。
- 验收类:最终把关、上线决策,人做。
这条边界不是固定的,随着 Agent 能力提升会动态调整。但任何时候,最终责任都在人身上,Agent 只是执行工具。这个认知不能丢。
8. 我在真实项目里踩过的几个坑
8.1 坑一:上下文更新不及时导致 Agent 用旧规范
有次我们改了 API 返回格式,但忘了更新CLAUDE.md。结果 Agent 按旧格式生成了一堆代码,跑测试全挂。排查了半天才发现是上下文过时。
教训:上下文文件要跟代码同步更新,最好把"更新CLAUDE.md"作为代码变更流程的一部分。我们现在要求任何影响接口、规范的改动,必须同步更新项目记忆文件,否则 PR 不通过。
8.2 坑二:Agent 生成的测试"假通过"
Agent 生成的测试有时候会"迎合"实现,而不是真正验证行为。比如实现有个 bug,测试也按 bug 的行为写断言,结果测试通过但功能是错的。
教训:Agent 生成的测试必须人工审查断言逻辑,重点看"这个断言是不是真的在验证需求"。我们现在的做法是,关键模块的测试由人写断言,Agent 只负责补测试用例。
8.3 坑三:并发 Agent 的资源竞争
有次五个 Agent 并行跑,同时触发构建,把构建服务器打满,所有任务都超时。后来加了并发限流,问题解决。
教训:并发编排要考虑下游资源的承载能力,不能只看任务本身是否独立。构建、测试、部署这些共享资源,必须做限流。
8.4 坑四:过度信任 Agent 的"自信"
Agent 有时候会用非常自信的语气给出错误答案。它不会说"我不确定",而是直接给你一个看起来合理的错误方案。
教训:对 Agent 的产出保持健康的怀疑,特别是涉及业务逻辑、边界条件的地方。验证永远不能省,这是 AI Native 流程里最不能妥协的一环。
9. 关于 AI Native 落地,我最后想说的几句实在话
AI Native 不是买几个工具、写几份文档就能实现的,它是一次团队工作方式的重构。核心变化是:人从"执行者"变成"定义者和验收者",Agent 承担执行。这个转变对团队的能力要求不是降低了,而是提高了——你得想得更清楚、表达得更准确、验证得更严格。
我见过转型成功的团队,也见过买了工具却用不起来的团队。差别不在工具,在有没有把上下文工程、Plan Mode、并发编排、验收规范这几件事真正跑通。工具是死的,流程是活的。
如果你现在正准备在团队里推 AI Native,我的建议是:先在一个小项目上跑通完整流程,积累经验,再推广。不要一上来就全团队铺开,那样大概率会翻车。跑通一个项目,你会对"哪里会出问题"有真实的体感,这比看任何手册都有用。
最后分享一个我一直在用的小技巧:每次 Agent 出错,都问自己"是我哪里没说清楚",而不是"Agent 怎么这么笨"。这个思维转变之后,你会发现大部分问题都能通过改进上下文和任务描述解决,而不是靠换更强的模型。这个习惯,是我做 AI Native 这两年最大的收获。