首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

克劳德·科德没有“魔法”

2026-08-14 1 阅读 约10分钟阅读 傅宇琪,Tina
分享:
字号:
过去一年,编程 Agent 的能力大幅提升,软件工程师对它们的要求也比以往任何时候都高,但上下文窗口的大小却基本停滞不前——一年前,一百万个 token 大致就是最先进的水平,如今依然如此。随着我们逐渐进入Agent日常处理Monorepo(单体仓库)级任务的世界,将越来越多的信息塞进模型那固定的上下文限制中,这种需求已经变成了一项实实在在的全职工程任务。 Daisy Hollman,这位曾在 C++ 标准委员会深耕近十年、当过两年主席的资深工程师,如今在 Anthropic 的 Claude Code 团队主导插件与 Agent 团队的设计。近日,她在NDC Copenhagen的演讲中,详细介绍了 Claude Code 插件的设计与其构成的上下文工程原语,以及Anthropic 内部是如何运作多Agent工作流的。基于该演讲视频,InfoQ 对内容进行了整理。 核心观点如下: 如果 Claude 不能做所有你能做的事,它就无法和你一起做你的工作。给 Claude或者给你的模型,访问你完成工作所需信息的权限,会帮助它更好地做你的工作,或者和你一起做你的工作。我们并不是真的要取代自己,我们是想要成倍地放大自己。定制化就是知识,定制化是在弥合模型天生所知与你们团队所知之间的差距。钩子是唯一真正能扩展的插件抽象,不匹配就不注入,只在触发时才往上下文里放东西。2026 年的核心转变是,从“把信息输入模型”转向“把信息从模型输出给用户”,人的注意力才是系统中最小的盒子。 从聊天机器人到 Agent 最初让大语言模型跑起来的时候,我们用它们构建的是聊天机器人,交互方式大致是:人类说一句,模型回应一句,然后又回到人类说话,模型再回应,就这样循环往复。 到了 2024 年,我们搞出了一个叫工具调用的东西,它让模型可以请求计算机去做某件事。一开始,模型就是能去执行个操作、拿到输出、基于那个结果做个决策,然后再回到人类这边。后来我们慢慢给它加越来越多的工具,比如它可以基于第一次工具调用的结果做第二次工具调用,然后再做第三次,到某个节点,我们跨过了一条边界,觉得得给这东西起个新名字了,于是开始叫它们 Agent。这就是“Agent”这个术语的由来:从零次工具调用,到一次,到几次,再到某个时刻它有了足够的自主性,我们就管它叫 Agent 了。 编码 Agent,或者叫 Agentic 编程Harness,像 Claude Code、Codex、Cursor 这类东西,本质上就是 Agent,只不过我们给它们的工具是普通程序员用的工具:文件编辑、CI 相关工具、跑代码的能力、编译代码的能力,这些基本都能归入 shell 命令,但本质上是我们给了 Agent 一个程序员能做的事。 但说实话,工具调用原始得令人震惊。你告诉模型它可以写 JSON,当它写了某种 JSON 之后就会有事情发生,然后你把做那件事的结果喂回给模型,塞进它上下文窗口里紧跟其后的位置,整个机制就这么简单。模型在 bash 里跑命令就是这么干的:它说它想用的工具是 bash,这是命令。然后Harness去执行命令,把输出放进一个工具结果块里。Agentic Harness里所有东西都是围绕这个想法构建的:基于这个输出采取行动、再生成一个基于它的新工具调用、然后继续这个循环,这就是 Agent 的本质。 真正让编码 Agent 跑起来的主力工具是编辑工具,这就是 Claude Code 里编辑工具的字面 schema。顺便说一句,我这些幻灯片全是 Claude Code 做的。当时我想要这个的时候,我就说:“嘿,你能把你系统提示里的一个工具调用放到这里来吗?”所以它得给出旧字符串、文件名、旧字符串和新字符串。就是个查找替换,没有光标,没有选区,没有引号转义,旧字符串必须逐字节匹配。如果旧字符串出现多次,它要么提前声明自己预期有多个匹配,要么就直接失败。这些工具真的非常原始,而且我认为这个领域还有大量迭代空间。 既然这些幻灯片是 Claude 做的,那么生成上一张幻灯片的工具调用长这样:它写出的 JSON 里嵌套着引用旧幻灯片的 JSON。模型在这方面的表现好得惊人,整个过程中一个 token 都没错,至少对我来说这相当震撼。我对 Agent 如何工作、擅长什么、不擅长什么的心智模型,到现在都跟这个表现对不上。如果要逐字符去写的话,这不是人类能做到的事,所以这给你一些关于 Agent 在做什么、可能擅长什么、可能不擅长什么的微妙感知。它生成这个毫无困难,没有错误,没有多次尝试。我上次看到字符串替换错误或编辑工具错误,大概是在 2025 年 2 月或 4 月。模型已经远远超越了那个阶段,因为这是很容易训练的东西。 因为模型能处理这种复杂度,你可以让工具调用变得越来越复杂,让它能做越来越多复杂的事情,这就让更长时长的任务成为可能。 这里有一张来自 AI 研究机构 METR 的图表,它被称为 Agent 的摩尔定律:模型能以 50% 成功率完成的任务时间跨度,大约每四个月翻一番。你会看到这个趋势在今年年初开始停滞了。这张图里没有Opus 4.7 和 4.8,是因为该机构实际上认定,过了Opus 4.6 之后,“什么算作 16 小时任务”的误差范围太大了,所以这张图表几乎不再有用了,但在过去三年里,它一直是一个相当稳定的趋势。 你可以一开始就假设这会在某个时刻趋于平稳,它会的。但我认为,如果你在七八十年代打赌摩尔定律会趋于平稳,你的处境会与当时不打赌的人截然不同。我认为,至少值得考虑这种可能性:这个趋势至少还会再持续一两年。而且你知道,指数趋势在改变我们工作方式方面的疯狂程度是难以想象的。 四月份,Mozilla 基金会发布了一张图表,展示了他们在四月份使用我们最新模型所修复的安全漏洞、缺陷的数量,这个数量比他们过去 15 个月修复的总和还要多。这并不是说他们在过去 15 个月里没有 AI 工具,而是最新的 AI 工具与他们过去 15 个月拥有的工具之间的区别。 所以,接下来我想探讨一个假设:如果 Agent 写的代码比你好,工程会变成什么样?我是一个曾经热衷于讲 C++ 元编程细枝末节的人,我曾为自己的编码能力感到无比自豪。但在 Anthropic 这一年半的经历,真的让我确信这些都不重要了。在这个假设的基础上继续构建: Agentic 编程会是什么样子?Harness设计会是什么样子?上下文工程要怎么做,才能让我们把这个东西构建成真正能管理 Monorepo 级软件项目的系统? 为什么要定制化 我们先谈谈:为什么你需要定制模型?如果我们正朝着所谓的 AGI 前进,它应该是普遍智能的。那为什么我还需要告诉它任何事? 第一,它需要能访问它完成工作所需访问的东西。第二,它需要了解你公司里任何员工都能获得的全部机构知识。第三,它必须有工具去获取这些。 核心论点是:如果 Claude 不能做所有你能做的事,它就无法和你一起做你的工作。开箱即用时,它真的只能看到一个代码仓库和一个 shell。而且默认情况下,我们甚至不允许它走出你启动它的那个文件夹,这有很好的安全理由,但我不认识任何一个专业软件工程师会说:“我打算一整天都不看我这个文件夹以外的任何信息。” 这对于
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱