🎯
核心结论:不要把 AI Agent 当成“更会写代码的聊天框”,而要把它当成能力很强、记忆却不稳定的新工程师。团队需要用技能、上下文、验证与评测,替它补齐工程系统。
本文根据 Lauren Tan 在 Cursor 的分享《How Cursor Turned AI Agents Into Better Engineers》整理,并将其中的方法转译为可执行的团队工作流。
1. 问题不在模型能力,而在工程系统
AI Agent 已经能够阅读代码、修改文件、运行命令和生成 PR,但它仍会表现得像一位“聪明但健忘的新同事”:
- 不稳定地理解需求与仓库约束
- 难以持续记住架构决策、历史上下文与团队习惯
- 会重复犯错,或在缺少验证时自信地产生错误结论
- 面对过大的任务时容易失焦、绕路或扩大改动范围
因此,瓶颈不只是提示词,而是如何把人的工程经验外化成 Agent 可复用、可验证、可迭代的工作系统。
2. 信任曲线:从微观管理到自动合并
这场分享使用“工程管理”作为隐喻:如果管理者不信任新人,就会逐行盯着每个输出;如果工程师不信任 Agent,也会被困在反复提示、查看和纠错的循环里,无法并行推进工作。
更健康的路径是一条渐进式信任曲线:
- 手把手协作:Agent 完成局部任务,人逐步检查思路、改动与验证结果。
- 结构化委派:Agent 按明确的技能与流程完成设计、编码、测试或排障,人重点审核关键决策。
- 受控自治:对边界清晰、验证充分的任务,Agent 可以自动提交甚至自动合并 PR。
信任不应来自“这次模型看起来很聪明”,而应来自一套可重复运行的验证机制。
3. Agent 的工程操作系统
3.1 用 Skills 把经验变成可调用的工作流
将高频、重要且容易遗漏的工程动作封装为技能,而不是每次临场写一段长提示词。分享中提到的例子包括:
/architect:先理解现有结构,形成设计方案、约束和变更边界。/tdd:把测试优先的习惯固化为可执行流程。- 验证、调试、代码审查、重构等技能:分别承担质量检查和故障定位的职责。
一个好的 Skill 不只是“提示词模板”,而是一个可复用的操作手册:何时使用、输入是什么、执行哪些步骤、要调用哪些工具、产物如何验收、失败时如何回退。
3.2 Feature Map:先建立任务与代码的共同地图
在开始编码前,为 Agent 提供足以做出正确决策的任务地图:
- 需求目标与非目标
- 受影响的模块、入口与依赖关系
- 架构约束、接口边界与不允许触碰的区域
- 验收标准、测试场景与潜在回归点
- 相关 PR、设计文档和历史决策
Feature Map 的作用不是塞更多上下文,而是过滤噪声,让 Agent 知道什么重要、什么不该做,以及如何证明任务已经完成。
3.3 Verification First:把“验证”设计进工作流
让 Agent 生成代码不难;让它可靠地证明代码可用,才是自动化的关键。每类任务都应预先定义验证链路:
| 任务类型 | 最小验证 | 更高置信度验证 |
|---|---|---|
| 新功能 | 单元测试、类型检查 | 集成测试、端到端测试、验收脚本 |
| Bug 修复 | 可复现用例、回归测试 | 边界条件与相邻模块回归 |
| 重构 | 原有测试全绿、行为不变 | 性能对比、依赖影响分析 |
| UI 变更 | 构建通过、组件测试 | 截图对比、关键路径端到端测试 |
| CI / 工具链 | 本地等价命令 | 独立环境中的完整流水线 |
Agent 的最终交付不应只是“改了哪些文件”,而应包含:变更摘要、验证命令、验证结果、仍未覆盖的风险,以及需要人工确认的决策。
4. PStack 思路:让 Agent 不再反复失忆
分享中介绍了 PStack——将工程技能、决策框架、审查流程和调试方法沉淀为可复用资产的实践。它背后的原则是:
- 外部化记忆:把架构知识和团队约定放在仓库可发现的位置,而不是只存在于人的脑中或一次性对话里。
- 标准化流程:把“优秀工程师通常会做什么”写成明确步骤,而不是依赖模型临场猜测。
- 按需加载上下文:根据任务调用恰当的 Skill 和资料,避免用一份巨大静态说明污染所有对话。
- 让失败成为训练数据:每次 Agent 误判、漏测或返工,都应反哺到 Skill、规则或评测用例中。
5. 维护 Skills:把提示词也当成软件维护
Skills 会过期。仓库演进、工具变化和模型行为变化后,原先有效的流程可能开始失效。因此需要为 Skills 建立持续维护机制:
- 收集真实失败样本:错误设计、漏掉的测试、无效排障、过大 PR 等。
- 为关键技能建立 Eval Playbook:固定输入、预期过程、验收标准与失败判定。
- 修改 Skill 后回放评测:确认新版本解决了问题,且没有引入明显退化。
- 记录版本与适用边界:避免不同团队或不同技术栈误用同一套流程。
这使 Agent 的进步从“偶然调出一次好结果”变成可累积的工程能力。
6. 为 Agent 重塑代码库与协作边界
Agent 的能力会受到代码库结构直接影响。一个难以理解、边界模糊、验证缓慢的仓库,会让人和 Agent 都难以高效工作。
推荐的仓库准备
- 清晰的模块边界与依赖方向
- 可机器执行的架构规则、格式化、类型检查与测试命令
- 小而独立的 PR,避免让一个 Agent 跨越过多上下文
- 对高风险目录、数据迁移、权限逻辑和外部副作用设置明确护栏
- 在 CI 中执行严格且可解释的约束
- 把常见排障路径、发布流程和回滚步骤沉淀为技能
这里的目标不是为 Agent 单独建设一套系统,而是借由 Agent 倒逼工程环境变得更清晰、更自动化、更可验证。
7. 一套可落地的 Agent 工作流
阶段 A:澄清与规划
- 读取 Feature Map、架构说明与相关历史。
- 用
/architect输出目标、影响面、方案选项、风险与验收条件。 - 人只在关键决策点介入,而不是在每行代码后介入。
阶段 B:受控实现
- 将任务拆成可独立验证的小单元。
- 每个单元指定允许修改的范围、预期产物和验证命令。
- 优先并行委派低耦合子任务,避免多个 Agent 修改同一片高冲突区域。
阶段 C:验证与审查
- 用
/tdd或等价流程补齐测试。 - 运行静态检查、测试、构建和任务特定验证。
- 要求 Agent 报告证据,而非只报告结论。
- 对安全、架构、业务逻辑和不可逆操作保留人工审批。
阶段 D:学习与固化
- 将失败模式记录到评测样例。
- 更新相应 Skill、仓库规则或 Feature Map 模板。
- 持续扩大可自动化任务的范围,而非一次性追求“全自动”。
8. 每个 Agent PR 的交付契约
可以将以下模板作为 Agent 的默认输出格式:
目标:
- 本次要解决的问题与完成标准
变更:
- 修改了哪些模块,以及原因
- 未修改哪些相关区域,以及原因
验证:
- 执行的命令
- 结果与关键证据
- 未能执行的验证及原因
风险:
- 已知边界、假设和需要人工确认的事项
下一步:
- 可安全合并 / 需要审查 / 需要补充信息
这份契约把 Agent 的产出从“代码补丁”升级为“带证据的工程交付物”。
9. 团队落地路线图
第 1 周:建立最小闭环
- 选择一个低风险、高频任务,例如补测试、修复明确 bug 或更新文档。
- 为该任务定义输入、允许范围、验证命令和交付契约。
- 人工逐步审查 Agent 的每次执行,收集失败样本。
第 2–3 周:沉淀 3–5 个核心 Skills
- 先覆盖架构理解、测试驱动、调试、代码审查和 PR 汇报。
- 将真实问题编入评测集,而不是只用理想示例。
- 为每个 Skill 写明适用范围和不可处理的情况。
第 4 周以后:扩大受控自治
- 把稳定通过评测和 CI 的任务放入更高自治等级。
- 让 Cloud Agent 或后台 Agent 承担耗时、低风险、可验证的工作。
- 定期复盘 ROI:节省了多少人工上下文切换,是否增加了返工、CI 成本或维护负担。
10. 最终启示
AI 编码的竞争力不在于谁写出最长的 Prompt,而在于谁能把团队的工程智慧变成一个持续进化的系统:
- 用上下文减少猜测
- 用 Skills 固化方法
- 用验证建立信任
- 用 Evals 维护质量
- 用小 PR 和护栏控制风险
- 用渐进自治释放并行能力
当这些机制成熟后,工程师的角色会从“盯着 Agent 输出”转向“设计工作系统、定义质量标准、处理高杠杆决策”。
Discussion
评论
用 GitHub 账号登录即可留言。想法、纠错、补充都欢迎。