跳到正文
返回

解读 Cursor《How Cursor Turned AI Agents Into Better Engineers》

约 8 分钟
改动小记 · 1 次
Note

🎯

核心结论:不要把 AI Agent 当成“更会写代码的聊天框”,而要把它当成能力很强、记忆却不稳定的新工程师。团队需要用技能、上下文、验证与评测,替它补齐工程系统。

本文根据 Lauren Tan 在 Cursor 的分享《How Cursor Turned AI Agents Into Better Engineers》整理,并将其中的方法转译为可执行的团队工作流。

1. 问题不在模型能力,而在工程系统

AI Agent 已经能够阅读代码、修改文件、运行命令和生成 PR,但它仍会表现得像一位“聪明但健忘的新同事”:

  • 不稳定地理解需求与仓库约束
  • 难以持续记住架构决策、历史上下文与团队习惯
  • 会重复犯错,或在缺少验证时自信地产生错误结论
  • 面对过大的任务时容易失焦、绕路或扩大改动范围

因此,瓶颈不只是提示词,而是如何把人的工程经验外化成 Agent 可复用、可验证、可迭代的工作系统。

2. 信任曲线:从微观管理到自动合并

这场分享使用“工程管理”作为隐喻:如果管理者不信任新人,就会逐行盯着每个输出;如果工程师不信任 Agent,也会被困在反复提示、查看和纠错的循环里,无法并行推进工作。

更健康的路径是一条渐进式信任曲线:

  1. 手把手协作:Agent 完成局部任务,人逐步检查思路、改动与验证结果。
  2. 结构化委派:Agent 按明确的技能与流程完成设计、编码、测试或排障,人重点审核关键决策。
  3. 受控自治:对边界清晰、验证充分的任务,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 建立持续维护机制:

  1. 收集真实失败样本:错误设计、漏掉的测试、无效排障、过大 PR 等。
  2. 为关键技能建立 Eval Playbook:固定输入、预期过程、验收标准与失败判定。
  3. 修改 Skill 后回放评测:确认新版本解决了问题,且没有引入明显退化。
  4. 记录版本与适用边界:避免不同团队或不同技术栈误用同一套流程。

这使 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 输出”转向“设计工作系统、定义质量标准、处理高杠杆决策”。

参考


分享这篇文章:

接着读

  1. thinking一点小想法。同属 thinking · 同系列第 3 / 3 篇
  2. OpenCLI 深度解析:把浏览能力收成 Agent 能调用的命令拆 jackwener/OpenCLI。它不是爬虫也不是大模型,而是把需要浏览器上下文的能力,收成可发现、可编排、可输出结构化结果的 CLI。
  3. Pi 深度解析(三):pi-ai 之二,上下文怎么在厂商之间流动归一化之后,历史消息怎么在 Claude / GPT / Gemini 之间不丢、不串、不报错:上下文结构、跨厂商交接、签名回放、中断与工具分流。

Discussion

评论

用 GitHub 账号登录即可留言。想法、纠错、补充都欢迎。