驾驭 Coding Agent:从快速生成到可靠交付的个人能力模型

人工智能 Oct 15, 2026

Coding Agent 写出代码,已经可以很快;难的是让它持续交付正确、可靠、可维护的软件。

本文写给已经把 Coding Agent 用进真实项目,却开始被需求澄清、上下文失真、Review、返工或多 Agent 协调卡住的开发者。它不是工具选型指南、模型排行榜或「万能提示词」合集,而是一套较少依赖具体产品的个人能力模型。

你可以顺序阅读,也可以按问题跳转:想理解 Agent 为什么没有自动带来可靠交付,先读前两节;想诊断个人短板,读第三节;被 Review 拖慢,直接看第四节;想安排练习,读第五、六节;同类错误反复出现,从第七节反查闭环。

驾驭 Coding Agent:从快速生成到可靠交付的个人能力模型

一、变便宜的是常规代码生产,不是工程判断

Peter Steinberger 是最早重度使用 Coding Agent 的工程师之一。他曾给自己的项目写下一份约 800 行的 AGENTS.md,其中有一大段手把手教模型使用 Tailwind 4——因为当时的 Sonnet 4.0 不认识这个太新的版本。几个月后 Sonnet 4.5 发布,这段说明被整段删掉:模型已经掌握了它,原来的教学从资产变成了噪声。

这个故事揭示的不是「技巧没有价值」,而是表层做法和底层原则有不同的保质期。

  • 表层做法针对某个模型、工具、版本或当前缺陷,例如特定提示模板、会话编排和兼容补丁。它可能正是当下的最优解,但应该被视为可替换、需复查的实现层。
  • 底层原则解决任何协作者都会面对的不确定性:意图是否清楚、信息是否相关、行动是否越界、结果能否验证、失败能否反馈。工具会换,原则通常更耐久。

因此,区分两者不必问「下一代模型还需不需要」,而应问:这项做法主要在补偿当前模型的局限,还是在降低意图、行动与验证的不确定性? 前者要随模型更新而复查,后者值得内化成能力。

Simon Willison 从 2025 年到 2026 年写了大量 AI 辅助编程文章。工具换了一茬又一茬,他反复强调的仍是把规格写清楚、先跑测试、认真评审、维护好 Git 习惯。Jesse Vincent 的「架构师 + 实现者」双会话工作法也能跨工具迁移。具体形式会演化,背后的原则——先澄清意图,再执行,最后用反馈校准——相对稳定。

这也解释了一个容易被夸大的判断:正在下降的是把明确规格翻译成常规代码的生产稀缺性,不是全部编程能力。 领域知识、架构取舍、复杂调试、安全判断和结果责任没有因此消失;恰恰因为实现变快,它们更早暴露为交付瓶颈。

我把组织这些能力的总称叫作驾驭力(Agent Mastery):把人的判断与 Agent 的执行组织成一个能够持续校准的可靠交付闭环。

贯穿案例|订单 CSV 导出

假设你要给 SaaS 后台增加「按当前筛选条件导出订单 CSV」。Agent 很快就能写出按钮、接口和 CSV 序列化代码,但「完成」至少还包含四个问题:只有管理员可用吗?敏感字段脱敏了吗?导出的是筛选命中的全部订单还是当前页?十万条数据会不会拖垮在线请求?代码生成很便宜,不等于这些判断已经免费。

过去社区讨论 Harness,常把重心放在给 Agent 搭约束、验证和上下文管理体系。方向没有错,但 Harness 不会自动带来可靠交付,个人判断也不能替代系统约束。有效的关系是:人识别目标与风险,再把可重复的判断固化进 Context、Tools 和 Harness;系统返回证据,人据此继续校准。

二、你驾驭的不是模型,而是一个交付系统

很多失败被笼统归因于「模型不够聪明」,是因为我们把 Coding Agent 误看成了一个模型。实际参与交付的是一个系统:

可靠交付系统 = LLM + Context + Tools + Harness + Human Judgment

这不是可计算的数学公式,而是一张依赖关系图。五个部分各司其职,也无法简单互相替代:

要素 它决定什么 常见误解
LLM 理解、推理、规划与生成能力 把模型能力当成交付质量
Context Agent 此刻能看到哪些事实、约束、状态与证据 信息越多越好
Tools Agent 能读取、执行、观察和验证什么 只要能执行命令就够了
Harness 权限、环境、循环、检查点、反馈与记录如何被组织 把模型之外的一切都叫 Harness
Human Judgment 做什么、为何做、接受何种风险,以及何时可以放行 人必须手工介入每一步

可以把 Context 理解为信息平面,Tools 理解为行动与观察平面,Harness 是组织二者运行和反馈的机制,Human Judgment 则负责目标、取舍和责任。模型决定系统可能做到什么;Context、Tools 与 Harness 决定它能否稳定做到;人决定什么值得做、什么才算做对。

订单导出的例子里,LLM 可以提出实现方案;Context 要包含订单字段、筛选语义、权限规则、脱敏政策和数据规模;Tools 要能读代码、启动服务、构造多页数据并运行测试;Harness 要提供受控权限、测试命令、CI 门禁和验证记录;人则要决定哪些字段允许导出、大数据量走同步、流式还是异步,以及什么风险可以接受。任何一环缺失,都可能得到「代码写完了,功能却没交付」。

上下文工程:不是喂得越多,而是让正确的信息在正确时刻出现

上下文问题经常被简化成「再多给 Agent 几个文件」。但上下文窗口里有信息,不代表信息相关、真实、最新,也不代表 Agent 知道冲突时该信谁。更有效的上下文工程包含四个动作:

  1. 选择: 只引入当前决策所需的代码、业务规则、示例和历史状态。对订单导出,权限中间件和订单查询比整个仓库的介绍更重要。
  2. 组织: 区分稳定规则与临时任务状态,用索引和渐进展开替代一次性倾倒。AGENTS.md 适合放高频红线与入口,详细知识放到可按需读取的文档里。
  3. 校验: 检查来源、时效、适用范围和冲突。让 Agent 复述关键假设,例如「当前筛选」是否包含全部分页结果,能在动工前暴露理解偏差。
  4. 更新: 根据执行结果和业务变化修订上下文,删除过期规则。若导出功能因旧字段说明泄露手机号,修复的不只是代码,还包括字段政策的权威来源。

所以,上下文工程不是一次「喂足」,而是一个小循环:

选择 → 行动 → 获得反馈 → 校验 → 更新

这条小循环会嵌进更大的驾驭力闭环。人的判断发现系统缺口,Harness 把判断变成可重复反馈;系统越成熟,人越不需要在每次会话里重新口述同一件事。

三、驾驭力闭环:一块知识底座,六项能力

六项能力不是彼此独立的清单,而是一次交付中首尾相接的六类判断:

意图表达 → 委派决策 → 监督校验 → 失败诊断 → 资产沉淀 → 反哺下一轮意图

知识底座决定每一环的判断分辨率;元能力管理整条闭环中的注意力、节奏和责任边界。前一环的输出,是后一环的输入:意图不清,委派就无从判断;校验没有证据,诊断只能猜;诊断没有沉淀,同一个坑会在新会话里重来。

第 0 项:知识底座——表达的边界,就是认知的边界

它是什么: T 型知识结构里的竖杠——你在自己领域中的知识深度。Agent 显著降低了接触陌生知识的成本,却没有把「信息可得」自动变成稳定判断。提出更好的问题、做出更精简的表达、从多个方案中选出合适的一项,仍然依赖内化过的领域知识与工程经验。

订单导出看似只是生成 CSV,可靠判断却至少需要知道:权限必须在服务端执行,不能只隐藏按钮;「当前筛选」与「当前分页」不是一个语义;脱敏不等于任意删字段;大数据量导出还涉及一致性、内存、超时和审计。缺少这些概念,你甚至不知道该要求 Agent 证明什么。

具体做法:

  • 积累「压缩过的判断力」。 第一性原理、奥卡姆剃刀、高内聚低耦合、幂等、正交——这些词有价值,是因为每个词背后都压缩了一类问题的判断框架。精简不是单纯删字,而是提高概念密度。
  • 讲不懂就不放过。 接受自己无法复述的方案之前,让 Agent 解释到你能讲清它的假设、机制和边界。Agent 可以加速学习,理解仍要由你完成。
  • 让方案互相质疑。 重要决策,让 Agent 给出立场不同的方案并互相反驳,你负责裁决。裁决暴露的知识缺口,比直接接受一个答案更有价值。
  • 清理「默认接受」清单。 把「看不太懂但放行了」的改动记下来,定期挑一项补课。偶尔放行可以是风险选择,重复放行同一类问题则说明心理模型正在变薄。

刻意练习法: 接下来两周,每次想对 Agent 的产出说「行吧,就这样」时记一笔,标注是「判断过没问题」还是「看不懂,认了」。周末回看后者集中在哪些领域——那就是知识底座最值得补强的地方(若想系统地扩充知识广度,推荐阅读 慧悟万象阁:持续演化、结构严谨的知识体系,汇聚思维框架、效应、心智模型、定律、谬误、悖论、原则与策略,植根于哲学、淬炼于实践,适合用来提升判断力、澄清思路)。

能力一:意图表达力——把「想要什么」说成可执行、可验收的目标

它是什么: 在委派之前,把想法变成结构清楚的任务:解决什么问题、边界在哪里、什么算完成、什么明确不做、失败时应有什么行为。它表面上是表达,实质上是把模糊决策提前做完。

为什么难: 开发者习惯「边写边想」,因为过去实现很慢,思考可以摊在编码过程中。Agent 加快了实现,模糊处也会更快被默认假设填满。即使模型会提出问题,它也无法替你决定产品目标与风险取舍;流程没有要求澄清时,它往往会直接补齐空白。

具体做法:

  • 开口前先答五问: 解决什么问题?怎么算完成?边界在哪里?哪些明确不做?失败时应该怎样?最后一个问题最容易被忽略,也最能区分演示与交付。
  • 让 Agent 反过来问。 让它先检查项目现状,再一次只问一个问题,把模糊想法逐段逼成设计。分段确认能减少人在长篇结论前注意力滑走的概率。
  • 为视觉问题提供视觉证据。 UI、报错和布局任务中,截图通常比长篇转述更接近事实;同时仍要补充无法从图中看出的交互与可访问性要求。
  • 把稳定规格放进可评审的位置。 聊天记录适合探索,规格文件适合评审、复用和交接;临时想法则不必一律沉淀成长久文档。

对订单导出,一句「加个导出按钮」至少应展开为:只有管理员可以从界面和 API 发起;导出当前筛选命中的全部订单,而非当前页;敏感字段遵循既有脱敏政策;大数据量不得静默截断,并有明确的处理与失败反馈;本次不顺手重构整个订单查询模块。到这里定义的是目标与边界,还不必替 Agent 预先选定流式响应还是后台任务。

表达的分辨率仍受知识底座约束:你说不出脑中没有的概念。意图表达的产物不是漂亮文档,而是一组足以支持委派和验收的明确判断。

刻意练习法: 接下来的两周,每次给 Agent 下达任务前,先写一段 200 字以内的任务说明(目标 / 验收 / 不做 / 失败行为)。两周后对比:有说明和无说明的任务,返工次数差多少。

能力二:委派决策力——决定什么交给 Agent,以及怎样交

它是什么: 在「自己动手」「交给 Agent」和「先侦察再决定」之间做选择。它决定了注意力从哪里投入,也决定后续监督成本有多高。

为什么难: 委派过少,你会成为流程中的人工瓶颈;委派过多,则会把时间耗在盯梢、纠偏和收拾残局。边界还会随模型、工具、Harness、项目状态和任务风险而变化,不能凭一次经验永久划定。

具体做法:

  • 用爆炸半径判断风险,而不是只数文件。 同时看影响范围、可逆性、耦合度、验证能力和失败代价。三行权限改动可能比三十个文案文件风险更高;大改动如果边界清楚、可隔离、可验证,也未必不能委派。
  • 不确定时先派侦察兵。 让 Agent 先读调用链、列方案、指出未知项和预计改动范围,不直接写代码。侦察的价值不是生成一版注定丢弃的实现,而是用较低成本把雷区和决策点暴露出来。
  • 优先并行低耦合任务。 调研、代码解读、低风险维护,以及已有详细规格且接口稳定的实现,通常监督成本较低。并行前仍需确认结果是否会争用同一业务规则或代码边界。
  • 保留反向清单。 尚未确定的产品取舍、核心架构方向、缺少验证手段的高风险改动,不宜直接进入实现。Agent 可以辅助分析,决定权和风险责任不能无人承担。

订单导出适合先侦察:现有筛选条件在哪里构造?查询层如何处理分页?权限在哪一层统一执行?项目里是否已有脱敏函数、导出模式或后台任务?拿到这些信息后,再决定把权限、查询、导出和验证拆开,还是在一个边界清晰的任务中完成。

委派的关键前提不是任务看起来难不难,而是你能否定义边界、获得反馈并验收结果。

刻意练习法: 记一周「委派日志」:每个任务记录预估爆炸半径与事后真实返工时间。回看哪些任务类型稳定划算,哪些需要先侦察或自己拍板。每个人的边界都不同,因为它取决于项目和监督能力。

能力三:监督与校验力——用证据校准信任

它是什么: 在 Agent 声称完成之后,判断结果是否足以放行。核心不是在「全信」和「逐行读完」之间二选一,而是先核验证据,再按风险决定代码审查深度。

为什么难: Agent 的自述不是可靠证据。它可能没有实际跑过测试,也可能用错误的测试证明错误的实现;代码风格与项目一致,也不代表行为正确。另一方面,产出速度上升后,平均地审查每一行会把人变成限速环节。解决办法不是降低标准,而是重新分配注意力。

具体做法:

  • 先做分级决策。 Review 开始时先看任务风险、diff 范围、执行过的验证及未验证项,再决定抽查还是深入审查。
  • 按真实风险分配注意力。 权限与数据敏感度、影响用户或调用方的范围、可逆性、耦合度和自动验证覆盖,比「改动看起来小不小」更重要。
  • 让 Agent 按固定格式汇报: 改了什么、为什么改;跑了什么、结果如何;实际验证了哪些路径;哪些没有验证。主动承认未知项,比笼统保证「全部通过」更有用。
  • 对审查者也保持怀疑。 另一个 Agent 的审查结论同样需要证据。核实它标记的问题是否属实,也从它放行的高风险区域抽样,逐步了解它擅长什么、容易漏掉什么。
  • 识别系统性模式。 一次局部小错可以就地修复;反复忽略失败路径、把编译通过当功能正确,则应进入失败诊断和资产沉淀。

订单导出的证据至少要回答:非管理员能否绕过 UI 直接调 API?管理员导出的行数是否与筛选命中数一致?跨页数据有没有遗漏或重复?敏感字段是否符合政策?大数据量是否会静默截断或耗尽资源?其中哪些尚未在真实环境验证?

刻意练习法: 连续一周,每次 Review 前先回答三个问题:「这次改动的风险是什么?验收标准是什么?我准备看哪些证据和哪些代码路径?」这三个问题会把模糊的「仔细看看」变成可执行的监督策略。

这一节给出能力原则;第四节会把它展开为完整的 Review 方法。

能力四:失败诊断力——先找断点,再决定怎么重试

它是什么: 当 Agent 交付不合格、循环打转或彻底跑偏时,判断可靠交付系统究竟断在哪一层。

为什么难: 不同根因常表现为同一句「结果不对」。不诊断就重试,只是在同一条件下再掷一次骰子;把一切归因为模型,又会把本可修复的规格、上下文和环境问题留到下一次。

诊断链应与前面的五要素系统对齐,从较容易检查的假设开始:

  1. 意图与判断: 目标、验收和风险取舍是否清楚?Agent 理解的任务与你想的是同一个吗?
  2. Context: 信息是否相关、充分、最新?是否漏了关键调用链,或同时存在互相冲突的规则?
  3. Tools: Agent 能否执行真实路径并观察结果?环境起不来、权限不足、日志不可见,都会让它盲飞。
  4. Harness 与验证: 反馈是否可信?测试是否覆盖目标?实现者是否也能随手改写裁判?
  5. LLM 与任务形态: 前面都排查后,再考虑换模型、增加推理投入、拆小任务或改变协作方式。

Human Judgment 不是额外的第六层,而是贯穿整条链:每一步都需要人判断什么事实可信、什么风险可以接受。

订单只导出第一页,可能是规格把「筛选」与「分页」混在了一起,也可能是 Context 没揭示查询结构;CSV 泄露手机号,可能是脱敏政策缺失,也可能是验收没有覆盖字段;十万条订单超时,可能是工具环境没有规模数据,也可能是 Harness 从未检查资源上限。症状相似,修复位置完全不同。

刻意练习法: 下次 Agent 失败时,先忍住直接重试,花五分钟走一遍诊断链并记下根因。坚持一段时间,你会得到自己的失败分布图,也就知道改进应该优先投向哪一层。

能力五:资产沉淀力——让系统不用重复交学费

它是什么: 把重复出现的事实、约束、回归防护和流程固化到合适位置,让人的一次判断成为下一次任务的默认能力。它的复利效应最容易被观察:同一个坑不必在每个新会话里重新解释。

为什么难: 纠错后的自然反应是赶紧继续编码,而沉淀要求多走一步。另一个风险则是过度沉淀:把每次聊天结论都塞进仓库,最后得到一座过期信息的仓库。

每次纠正 Agent 后,可以追问:「可靠交付系统里缺了什么?」 再按四类落位:

  • 缺信息 → 更新任务规格、AGENTS.md 索引或领域文档;
  • 缺约束 → 对可机械判定的规则,优先变成类型、lint、权限门禁或架构测试;
  • 缺回归防护 → 补成能复现问题的测试或契约;
  • 缺流程 → 固化为 skill、脚本或 hook,减少重复的手工指挥。

订单导出踩过的坑可以分别沉淀为管理员权限测试、敏感字段白名单、跨分页回归用例、大数据量资源检查和导出审计记录。「筛选全集而非当前页」应进入规格或领域约定,而不是只在当次聊天里提醒。

资产沉淀也包含做减法。AGENTS.md 应优先保存高频红线和知识入口,详细内容按需展开;判断标准是相关性、可发现性和维护成本,不是固定行数。只有会复用、难以重新推导或能预防高代价错误的知识,才值得进入长期资产。模型、项目或业务变化后,过期规则要更新或删除。

刻意练习法: 给自己立一个简单规则:同一类错误被纠正第二次时,暂停编码,先判断它应进入信息、约束、回归防护还是流程。第一次可能是偶发,第二次已经值得检查系统是否有缺口。

资产沉淀完成后,闭环回到起点:下一次任务拥有更清楚的意图入口、更相关的 Context 和更可靠的 Harness。

能力六:元能力——管理注意力、节奏与责任

前五项能力构成交付闭环,元能力则贯穿每一环。在多 Agent 工作流里,人类的高质量注意力经常成为主要约束:并行执行增加产出,却不会让你同时拥有多份深度判断力。

具体做法:

  • 默认由 blocked 通知驱动,同时保留关键节点抽查。 不必轮流巡视每个会话;让需要决策的 Agent 来找你,并在方案确认、权限变更、合并前等节点主动检查。
  • 一次只深度评审一个变更。 调研和执行可以并行,深度判断很难等比例并行。频繁切换会让每个 diff 都停留在浅层。
  • 给「快」设置刹车。 Agent 跑得越快,越要定期问:方向对吗?这是真需求吗?我是在交付行为,还是只在积累 diff?
  • 允许 Agent 辅助慢思考,但不转移责任。 架构、产品取舍和风险判断可以让 Agent 提供方案与反驳,目标定义、风险接受和最终放行仍需有人负责。
  • 保护学习带宽。 刻意保留理解调用链、亲自调试和复盘的时间,不是为了证明人写得更快,而是维护监督与诊断所需的心理模型。

订单导出中,查询调研、测试设计和实现可以并行;权限规则与脱敏政策应保持单一责任边界,最终风险评审串行完成。实现很快,不构成跳过筛选语义确认的理由。

刻意练习法: 连续三天记录深度评审时段和碎片切换次数,再用一周实践以 blocked 为主、关键节点抽查的方式。比较两种节奏下自己的判断质量和疲劳程度。

四、Review 的系统解法:证据优先,代码按风险审

深度使用 Agent 后,许多开发者会撞上同一堵墙:代码产出增长,Review 时间却无法同步增长。「检查它的时间比我自己写还多」,往往不是因为评审者读得不够快,而是旧的评审方式仍在把注意力平均分配给每一行代码。

需要改变的不是质量标准,而是评审顺序:

先用证据判断交付是否满足目标,再根据风险决定代码审查深度。

证据验证外部行为,代码审查内部结构、旁路和长期风险。证据不能替代高风险代码审查,逐行读代码也不能替代真实行为验证。目标不是「不审代码」,而是停止平均地审代码。

1. 先给证据分层,再检查证据质量

从「Agent 说做完了」到「结果足以放行」,可以分成四层:

  • L0 自述: 「已完成,测试全部通过。」它只能告诉你作者的结论,不能单独作为完成依据。
  • L1 过程记录: 实际执行的命令、测试输出、日志和断言统计。它证明某个过程发生过,但不自动证明过程与需求相关。
  • L2 可复现行为: 他人能按明确的输入、步骤和环境重现预期行为,例如用非管理员账号调用导出接口并得到拒绝。
  • L3 独立判定: 判定规则、执行环境或结果记录至少有关键部分不受本次实现变更控制,例如受保护的契约测试、只读金标准、外部评估或人工复核。

CI、类型检查和测试并不天然属于 L3。如果作者 Agent 能在同一次改动里同时修改实现、测试期望和 CI 配置,它仍可能改写裁判。新开一个审查会话也只是减少共享偏见,不自动构成独立判定。

层级只说明证据来源,还要从四个维度判断它是否可信:

维度 要问的问题
相关性 它直接证明验收目标,还是只证明了一个代理指标?
覆盖度 正常、边界、失败、安全与规模路径覆盖了哪些,又遗漏了哪些?
独立性 产出者能否同时修改测试、期望值、配置或裁判提示?
可复现性 输入、环境、命令和结果是否足以让别人重新得到结论?

不要把四个维度压成一个总分。一个高度可复现却验证错目标的测试,仍然是无关证据;一个覆盖很广却可被作者随意改写的裁判,也不足以独立放行高风险改动。

2. 把验收写成可执行断言

很多 Review 之苦,源于验收标准只停留在自然语言。规格写下「非管理员调用接口应返回拒绝」「筛选命中 231 条时 CSV 应有 231 行且订单 ID 唯一」「手机号只能出现脱敏格式」,行为验证就能从漫无目的地读代码,转成运行一组与目标对应的断言。

可执行验收不会让代码审查消失,也不是免费获得的:断言本身仍要检查相关性、覆盖度与独立性。它真正降低的是反复确认外部行为的成本,并把一次验收沉淀成未来可复用的回归防护。

3. 先审范围,再审实现

在委派前预估过爆炸半径,Review 时就可以用 diff 文件清单与计划对照。预期之外的文件、依赖和配置变化,是需要优先解释的异常信号,而不是必然错误——锁文件或生成文件可能是合理联动,顺手重构也可能是不必要越界。

范围审计先回答三个问题:

  1. 实际改动是否仍服务于原始目标?
  2. 有没有未经讨论的新行为、新依赖或权限扩张?
  3. 测试、金标准和 CI 是否与实现一起变化,从而削弱了证据独立性?

范围对得上,才进入更细的质量判断;范围失控,则先收缩任务,而不是在扩大后的 diff 里继续找局部正确。

4. 按风险分配代码审查深度

「逐行读完」和「测试绿就全信」之间,存在按风险分配注意力的中间态:

  • 低风险、可逆、验证充分: 做范围检查、复现关键证据,再抽样阅读实现;
  • 中风险或耦合较高: 重点审边界条件、状态变化、错误处理、数据访问和兼容性;
  • 高风险: 权限、敏感数据、资金、迁移、不可逆操作和大规模资源使用,需要深入审查关键代码、测试与运行证据。

历史表现可以调整额外抽查比例,却不能消除由任务风险决定的最低门槛。连续几次抽查无误,不代表下一次权限改动可以只看测试结果;一次低风险漏错,也不必把所有文案 diff 都升级成逐行审查。

信任不是谈出来的,而是持续校准出来的。抽查暴露的系统性偏差——例如总漏掉失败路径——应进入能力五的资产沉淀,而不是只在本次 diff 中修完了事。

5. 把评审前移到方案和证据设计

越早发现方向错误,返工通常越便宜。让 Agent 在实现前先给出计划:涉及哪些模块、接口如何变化、风险在哪里、准备用什么证据验收。你不需要把计划审成一篇完美设计文档,只需在代码大量生成之前拦住错误的边界和假设。

订单导出若在计划阶段就明确「筛选全集」「服务端权限」「字段白名单」「规模上限」,后续 Review 会有清楚的抓手;如果这些问题直到代码写完才第一次出现,测试和实现很可能已经围绕错误假设一起长成。

6. 用分离审查 Agent 补充视角,并校验审查者

有些代码仍需要第二双眼睛,而人的带宽有限,可以让另一个 Agent 审查。这里更准确的说法是分离审查:审查者不继承作者的结论和自我辩护,但必须获得相同的任务规格、验收标准、项目约束和必要代码上下文。完全没有上下文,只会让它在错误前提上独立犯错。

阅读它的结论与证据之后,再抽查两类内容:它标记的问题是否属实;它放行的高风险区域是否漏检。几轮下来,你会知道这个审查者擅长什么、在哪些问题上容易失明。它提供的是补充证据,不是自动生效的裁决。

7. 用同一任务把证据、风险和代码连起来

订单 CSV 导出可以这样分配 Review 注意力:

风险 先看什么证据 再审哪些代码
管理员权限 非管理员从 UI 与 API 发起均被拒绝 服务端授权位置、旁路入口、默认拒绝行为
敏感字段 样本输出与字段政策一致,日志不含明文 字段白名单、脱敏函数复用、错误日志
跨分页 多页数据行数、唯一性与筛选结果一致 查询条件复用、分页游标、排序稳定性
大数据量 规模测试、超时与失败行为可复现 内存上限、流式或异步路径、取消与清理

一套实用的 Review 顺序因此是:

确认范围 → 映射验收与证据 → 运行或复现证据 → 判断证据质量 → 按风险审查 diff → 把发现回流到 Context、Tools 或 Harness

这套方法的角色变化不是从「代码评审者」退成「测试结果查看者」,而是从平均拦截每个错误的质检员,转向设计质量反馈回路的人。体系越成熟,低风险区域越能依靠机械反馈;人的深度注意力则留给目标、风险和机器尚未证明的部分。

五、成长路径:从方向盘到编队

底座和六项能力不必同时练。不同阶段的主要矛盾不同,优先投入也不同:

阶段 人与 Agent 的关系 主要矛盾 优先练习 进入下一阶段前
方向盘期 你主写,Agent 处理局部任务 不敢交、不会交、交了不放心 意图表达 + 监督校验 已通过一批小任务校准边界,知道如何验收和诊断失败
副驾期 Agent 主实现,你负责方向、规格和验收 速度提高后,验证体系与心理模型开始吃紧 委派决策 + 失败诊断 关键路径有可靠反馈,重复纠正开始进入资产沉淀
编队期 多个 Agent 并行,你处理决策与集成 注意力、评审带宽和任务耦合成为瓶颈 元能力 + 资产沉淀 并行边界清楚,通知与门禁能暴露阻塞和集成风险

三个阶段不是勋章,而是当前位置。阶段高不代表交付强:副驾期没有建立验证体系就进入编队期,只会把一个不确定结果并行复制成多个。

订单导出在方向盘期可能由你实现、Agent 补测试;副驾期可以由 Agent 实现、你定义权限与验收;编队期可以并行做查询侦察、测试设计与安全审查,但权限和脱敏规则仍应有单一责任边界。升级的目的不是同时打开更多会话,而是让当前阶段的主要矛盾不再主导交付。

六、30 天刻意练习计划

读完能力模型只是「知道」。下面的计划把它变成一组实际练习;每周只聚焦一个重点,沿用你正在做的真实任务即可。

第 1 周:意图表达

  • 每个交给 Agent 的任务,先写 200 字任务说明(目标 / 验收 / 不做 / 失败行为)再开口。
  • 至少两次使用「一次一个问题」的追问方式,让 Agent 把模糊想法逼成完整规格。
  • 周末复盘:比较有说明和无说明任务的返工情况。

第 2 周:监督校验 + Review 体系

  • 每次 Review 前先答三问:风险是什么?验收标准是什么?要看哪些证据与代码路径?
  • 把至少三个任务的验收改写成可执行断言;先运行断言验证行为,再按权限、数据、可逆性、耦合和资源规模等风险审查 diff。
  • 每次都做范围审计:把 diff 文件清单与爆炸半径预估对照,解释预期之外的变化。
  • 让 Agent 按固定格式汇报证据,并明确列出未验证项。
  • 周末复盘:分级决策是否节省了时间?有没有被「全绿」误导?哪些问题只有代码审查发现?

第 3 周:失败诊断 + 资产沉淀

  • 每次失败先走意图、Context、Tools、Harness/验证、LLM/任务形态的诊断链,再决定是否重试。
  • 同一类错误第二次出现时,先判断应固化为信息、约束、回归防护还是流程,再继续编码。
  • 周末复盘:画出自己的失败分布图——问题主要集中在哪一层?

第 4 周:委派 + 元能力

  • 记委派日志:预估爆炸半径与真实返工时间。
  • 如果你在运行多个 Agent:实践以 blocked 通知为主、关键节点抽查,记录深度评审时段与切换次数。
  • 周末复盘:你的委派校准曲线是什么样?哪些任务类型稳定划算,哪些应该先侦察?

一个月后的产出不是又掌握了一组固定技巧,而是一张能力自评表、一张失败分布图、一张委派校准曲线、一份开始积累的资产清单、一份验收断言清单,以及一个更稳定的复盘习惯。表层做法会变化,这些对自身和系统的认识仍可继续复用。

七、六个闭环故障:从症状反查断点

同一个「Agent 不好用」的抱怨,背后可能是完全不同的闭环故障。遇到下面六种症状时,先找断点,再选修复动作:

症状 可能断裂的环节 先检查什么 首个修复动作
一失败就换模型或加 token 失败诊断被跳过 意图、Context、Tools、Harness 和验证是否完整 走一遍五层诊断链,再决定是否升级模型
AGENTS.md 越写越长 上下文的选择、组织和更新失效 哪些内容高频相关,哪些已过期,哪些可机械执行 保留索引与红线,把细节移到按需文档、测试、lint 或 hook
用代码行数、PR 数判断产出 目标和验收对象偏离 是否交付了可验证的用户行为 把评价对象从代码数量改回验收目标与可靠行为
同一个错误反复出现 诊断没有进入资产沉淀 缺的是信息、约束、回归防护还是流程 把第二次纠正固化到合适的系统位置
Agent 说「完成」就放行 监督校验断裂 证据的相关性、覆盖度、独立性和可复现性 复现关键行为,并按风险审查代码
产出增加,Review 流程不变 委派、Harness 与注意力没有校准 范围、风险分级、评审前移和自动门禁 先把高频验收变成反馈,再把人力留给高风险判断

订单导出少行、泄露字段和大数据量超时,看起来都可以被概括成「导出失败」,却可能分别指向意图、Context、验证覆盖或 Harness 的不同断点。用同一句提示重试,只会掩盖真正该修的位置。

这张表也可以每隔一段时间回看:你是在解决一次问题,还是已经让闭环下一次更不容易断?

八、结语:缰绳是双向反馈

「驾驭」这个词里有一幅画面:一匹强健的马,一副缰绳,一个骑手。

把缰绳只理解为限制,是对这个比喻的不完整理解。骑手通过缰绳传递方向、力度和边界,马通过动作、阻力与偏差把现实反馈回来;骑手再调整节奏。缰绳太松,失去的不只是控制,更是双向沟通。

规格、Context 和约束把意图向前传给 Agent;运行行为、测试结果和未验证项把证据向后传回来;人的判断据此校准下一轮任务,也更新 Tools 与 Harness。这才是驾驭力的完整循环,而不是写出一条完美提示词。

回到订单 CSV 导出:它最终是否可靠,不取决于 Agent 一次生成了多少代码,而取决于权限、脱敏、数据范围和规模风险能否被准确表达、被独立证据验证,并在失败后成为下一次任务的默认防护。第一次交付产生的不只是功能,也应该产生一个更不容易重犯同类错误的系统。

模型继续变强,会淘汰一部分表层做法,也会扩大我们可以委派的边界;与此同时,错误实现一项模糊意图的速度也会更快、影响范围也可能更大。因而,清晰目标、相关上下文、可信验证和工程判断不会因为生成能力提高而失去价值。

驾驭力不是比 Agent 更快地写代码,也不是把缰绳勒得更紧。它是持续校准人与系统的分工,让意图与反馈双向流动,最终把正确的想法变成可靠的软件。

Tags

轩帅

轩帅,字琼璞,逍遥自在轩城主,晚晴幽草轩轩主,静轩之别苑阁主,悠然宜想亭主持。

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.