⚙️ 编程 Agent · 工程观察

编程 Agent 能力跃迁,软件工程瓶颈转向上下文与人的注意力

在一场围绕 Claude Code 的技术演讲中,Anthropic 插件与 Agent 团队负责人 Daisy Hollman 给出的判断是:当 Agent 开始处理 Monorepo 级任务,真正稀缺的已经不只是模型能力,而是**如何把正确的信息、工具和反馈,在正确的时间送进系统**。

演讲内容整理 技术专题 全文约 6 分钟读完
#Claude Code #上下文工程 #多 Agent #软件工程
≈100 万 前沿模型上下文窗口,近一年扩展有限
4 个月 Agent 以 50% 成功率完成的任务时长,过去曾约每四个月翻倍
10%–40% 自动模式可能增加的模型成本

⚡ 30 秒速览

  • 发生了什么:编程 Agent 已从“调用几次工具”进入长时段、自主协作和 Monorepo 级工作的阶段。
  • 核心瓶颈:模型能力快速增长,但上下文窗口基本停留在约百万 token;把什么放进去,正在变成一门独立工程。
  • 关键方法:定制化不等于训练新权重,而是让 Agent 获得团队知识、内部系统、CI、文档和实时反馈。
  • 最可扩展的插件抽象:钩子只在事件发生且被判定相关时注入内容;Skill、MCP 和子 Agent 都存在不同程度的规模瓶颈。
  • 新的工作方式:从 2025 年“把更多信息输入模型”,转向 2026 年“把更多 Agent 状态输出给用户”,人的注意力成为最小的盒子。

01发生了什么?从聊天循环到工作系统

Agent 并不是突然出现的新物种。它的起点很朴素:模型生成一个工具调用,程序执行工具,把结果放回上下文,模型再根据结果决定下一步。工具调用次数从零次增加到多次,系统拥有了足够的自主性之后,人们才开始把它称为 Agent。

变化不在名字,而在任务时长。

聊天机器人:一问一答

人类输入一句话,模型输出一句话,控制权在两者之间反复切换。

工具调用:模型开始操作计算机

文件编辑、Shell、编译、CI 等程序员日常工具被接入,模型可以根据前一步的结果继续发起下一步调用。

百万 token 上下文成为前沿水平

但窗口扩大速度没有跟上模型自主工作时长的增长,复杂任务开始争夺有限的上下文空间。

从“输入更多信息”转向“管理更多工作流”

多 Agent、持久化 worktree、定时唤醒、远程控制和统一视图,开始解决人与 Agent 协作时的切换成本。

注:时间轴描述的是演讲中的技术演进框架,不代表每项能力都在同一时间点普遍可用。

对编码 Agent 来说,工具就是程序员能做的事:编辑文件、运行命令、执行测试、查看 CI。今天的工具调用仍然相当原始,但模型已经能稳定处理复杂的嵌套 JSON、精确字符串替换和连续工具链,这让更长时段的自主任务成为可能。

02为什么可信?细节比口号更能说明问题

这场演讲的价值,不在于宣称“模型已经替代工程师”,而在于把 Agent 的能力拆到了工具 schema、上下文成本和反馈循环这些可以检查的工程细节上。

演讲者背景

Daisy Hollman

曾在 C++ 标准委员会工作近 10 年,担任主席约 2 年,目前负责 Anthropic 的插件与 Agent 团队设计。

底层工具

编辑工具仍像 ED

需要提交文件名、旧字符串和新字符串;旧字符串必须逐字节匹配,重复匹配时还要提前声明,否则直接失败。

能力趋势

Agent 的“摩尔定律”

METR 图表显示,模型以 50% 成功率完成的任务时间跨度,过去约每 4 个月翻一倍。

现实案例

漏洞修复效率跃升

演讲中提到,Mozilla 基金会在 4 月使用最新模型修复的安全漏洞和缺陷数量,超过此前 15 个月的总和。

“如果 Claude 不能做所有你能做的事,它就无法和你一起做你的工作。” 这句话并不是在要求 Agent 立即取代人,而是在定义一个更实际的标准:它至少要能够访问完成工作所需的信息和工具。

不过,证据也有边界。任务时长趋势在 2026 年初开始出现停滞,Opus 4.7 和 4.8 没有被放进相关图表,因为“什么算作 16 小时任务”的误差已经太大。漏洞修复案例同样是组织经验,并非严格控制变量的对照实验。

注:上述数据与案例均按演讲内容整理;“能力跃升”可以作为工程信号,但不能直接等同于所有团队都会获得同等收益。

03它到底能做什么?四个工程现场

当 Agent 能够连续运行数小时,评价它的方式就不再是“回答得像不像”,而是能不能完成一条有依赖关系的任务链,并且在出错时及时得到反馈。

精确编辑:像机器一样完成查找替换 工具层

  • 编辑工具不提供光标、选区或复杂的富文本交互,只接受文件名、旧字符串和新字符串。
  • 旧字符串必须逐字节匹配;如果同一字符串出现多次,Agent 必须明确说明预期匹配数量。
  • 演讲者称,模型生成嵌套引用 JSON 时全程没有出现 token 错误或编辑失败。
判断:这不是“理解代码”的全部,但它说明模型在高精度、可训练的机械动作上,已经远超早期阶段。

即时反馈:给 Agent 加上“红色波浪线” 钩子

  • 通过 post tool use hook,在工具执行后把类型检查、lint 或代码库已有的诊断信息附加到工具结果中。
  • 错误在刚发生时就返回,而不是等到更晚的编译阶段才让模型重新解释自己的意图。
  • 这类脚本通常已经存在于代码库中,关键变化是让 Agent 能够自动消费它们的输出。
判断:提升任务成功率的最快办法,不一定是换一个更聪明的模型,也可能是把反馈循环缩短。

持续工作:让任务不会“睡着” 定时器

  • /loop本质上是给模型使用的 cron 工具,可以每隔 10 分钟自动唤醒一次,也能在任务结束后自行关闭。
  • 它适合等待 CI、构建或其他延迟结果,减少人类反复检查、复制粘贴并重新启动任务的操作。
  • 代价是持续消耗 token;但在需要等待数小时的任务中,这一成本可能低于人工守候。
判断:长时段 Agent 的核心不是“一次完成”,而是具备等待、检查、恢复和停止的完整生命周期。

并行协作:20 个 Agent 不再等于 20 个标签页 工作流

  • Git worktrees 为不同会话提供隔离目录,避免多个 Agent 修改同一份工作区。
  • 固定名称、固定颜色和固定职责,让长期运行的 Agent 更像一组有身份的开发者。
  • Fleet View 将多个 Claude Code 会话放在一个视图中;演讲中提到,相关团队成员曾在一周内合并约 1,000 个 PR
判断:多 Agent 的瓶颈正在从“能不能启动”转向“人能不能快速知道每个 Agent 正在做什么”。

注:案例中的效率数字和产品体验来自演讲者描述,不能直接作为不同团队之间的生产力承诺。

04为什么要做上下文工程?上下文窗口是一个盒子

上下文窗口容纳的不只是用户 Prompt。系统提示、工具定义、CLAUDE.md、Skills、已经读过的文件、工具执行结果,以及模型自己的历史输出,都会共同占据这个有限空间。前面放入的内容越多,留给后续实际工作的空间就越少。

所以,最重要的原则不是“尽可能多放”,而是“不为不用到的东西付费”。

一次任务中的上下文预算 示意图,非真实比例
系统提示 工具定义 团队文档 文件与结果 实际工作空间

每一项定制都在与“真正用于完成任务的空间”竞争。整个代码库不可能被天真地一次性塞入窗口。

还有 KV 缓存约束:如果前缀完全一致,后续计算会便宜很多;一旦每次工具调用都改变前面的内容,预测成本可能显著上升。演讲中提到,某些缓存失效场景的成本差距可以达到约 10 倍,这也是简单 LRU 式规则切换很快变贵的原因。

抽象 如何进入上下文 规模瓶颈 工程判断
MCP 把工具名称、描述和 schema 加入系统提示 工具越多,常驻描述越挤占工作空间 跨客户端集成有优势,但不适合无差别全量加载
Skill 先加载简短描述,需要时展开 Markdown 指令 正文可惰性加载,但所有描述仍需常驻 简单、可读,适合局部知识;超大规模仍会膨胀
子 Agent 在独立上下文中执行任务,只返回摘要 大量子 Agent 的描述字符串仍会占空间 上下文外执行,扩展性优于直接展开 Skill
Hooks 事件触发后运行脚本,匹配时才注入结果 脚本与 Agent 本身也可能消耗 CPU 或 token 只为相关内容付费,是最接近可扩展的抽象

注:表格比较的是上下文注入机制,不是对不同产品或协议的整体排名。

这也解释了为什么“定制化就是知识”。团队约定、内部 API、两季度前失败的方案、代码库里的特殊词汇和刚刚发生的线上变化,都无法完整地依靠模型训练获得。工程师真正要做的,是把这些知识变成可检索、可触发、可验证的文本和工具。

05应该如何判断?别只看模型会不会写代码

一套真正可用的编程 Agent,至少要同时解决五个问题:能否看到工程师能看到的东西,能否避免无关信息常驻,能否尽早获得错误反馈,能否让人快速管理并行任务,以及成本和权限是否可控。

01 访问权限 能否触达代码之外的真实工作信息
02 按需注入 是否只加载与当前任务相关的知识
03 反馈速度 错误能否在最短循环内返回
04 注意力界面 人能否快速切换和理解多任务状态
05 成本安全 自动运行是否有边界和可审计性

一个诚实的注脚:这套路线仍然没有解决所有问题。上下文窗口扩展落后于任务复杂度;Skill 和 MCP 在超大规模组织中都会遇到描述膨胀;Hooks 虽然节省上下文,却可能消耗额外计算和 token;自动模式的成本增加约为 10%–40%,权限错误也可能带来真实风险。

因此,所谓“上下文工程”不是给 Agent 配一份更长的系统提示,而是持续做取舍:哪些信息应该常驻,哪些信息只能按事件触发,哪些任务应该交给子 Agent,哪些操作必须保留人工确认。

编辑核心判断

编程 Agent 的下一轮竞争,不是把更多代码塞进模型,而是用最小上下文、最短反馈和可控协作,把工程师的注意力放大成一套可审计的生产系统。

读者可以怎么开始

原始内容没有提供公开体验地址,本文不硬凑链接。若你已经在使用 Claude Code、Codex 或 Cursor,可以先从一个真实仓库做四个小实验:

STEP 01

列出 Agent 当前看不到、但工程师每天必须看的系统和文档。

STEP 02

把团队规范拆成可按需展开的 Skill,而不是全部塞进常驻提示。

STEP 03

把类型检查、lint 和 CI 摘要接入工具执行后的反馈循环。

STEP 04

用 worktree 隔离并行任务,同时记录 token、耗时和人工介入次数。

先测“少花多少注意力”,再测“多写多少代码”。这两个指标并不等价。