时间线回答一个工程问题:语言模型哪一年补上了哪些能力,满足了哪个前提, AI Agent 作为软件形态才成为可能。AI Agent 不是 ChatGPT 之后突然冒出的。
先读 什么是 AI Agent、什么不是 AI agent,四要素如何各自到位见 四要素视角。采信与分类口径见 调研方法。
年份:2022 年之前 → 2022 → 2023 → 2024 → 2025 → 2026。2027 只列观察提纲,适当展望未来。
按时间线学习 AI Agent,是为了摸清 AI Agent 发展的脉络,不能简单的罗列信息。
定义:什么是 AI Agent、什么不是。四要素拆开读:四要素视角。分类、标签、采信见 调研方法。年份页给脉络;论文 / 材料 / 讲解在里程碑子页,不在年表里复述原文。
每年都要回答一个核心问题:该年决策核心多了什么能力,循环、动作、观察因此能实现什么,什么仍然做不到。 语言模型年年进步;写进年份页的,只是改写了 Agent 执行语义的那些变化。
AI 社区信息量太大,为避免噪音必须将关注点聚焦为 LLM Agent:核心决策下一步,循环迭代至终止,动作产生环境副作用,观察写回后再选。单轮问答、一次工具调用、行级补全排除。符号 / RL Agent 只作 前传。
Agent 史 ≠ LLM 史。核心(指令、思维链、窗口、视觉、测试时计算)、循环(文本协议 → 编排类库 → 运行时)、动作(prompt 解析 → schema → 沙箱 / GUI / 工具总线)、观察(循环内回执 vs 仓库级谓词)四条不同步。
| 年份 | 阶段 | 核心提供的能力 | 系统据此能实现的特性 |
|---|---|---|---|
| 2022年之前 | 前传 | 还不能当开放文本上的策略 | 符号 / RL,只作渊源 |
| 2022 | 底层能力 | Transformer → 可对话 + 思维链 | 循环出现在论文里,产品未出现 |
| 2023 | 接口 | 结构化调用、稍长窗口 | 循环可工程化;完成率未证明 |
| 2024 | 可验证 | 编码、多模态、长窗口 | 有任务谓词;分数仍低 |
| 2025 | 内化 | 推理模型、运行时取代编排 | 日用编码 Agent;协议开始收束 |
| 2026 | 外溢 | 核心足够暴露系统问题 | 身份、沙箱生命周期、调度 |
每年的发展总结为一句话。点开年份页看细节、里程碑和「还做不到什么」。
两条信号并列:当时热度与后来是否可核对。AutoGPT 的 star 高于当时任何可交付系统;MCP 发布时无人当标准。错位本身是史实。
| 轴 | 问什么 | 取值 |
|---|---|---|
| 分类 | 打开的是什么 | 论文 / 模型 / 产品 / 框架 / 协议 / 评测 / 文献 / 监管 |
| 标签 | 为什么进表 | 首证 / 工程化 / 标准 / 引爆 / 警示 / 范式更替 |
分类看打开的是什么,标签记的是历史角色,两者不是同一轴。GPT-4 是模型;ReAct 是论文(首证);Function Calling 是协议(模型↔工具的方言),不是「又一只模型」;政府指令是 监管,不因为是厂商博客发的就归文献。细则与归类规则见 调研方法。前传八条经典概念同样给出分类与标签。
| 栏目 | 时间线用它做什么 |
|---|---|
| 资料 | 论文、博文、产品文档原件 |
| Agents | 运行时与产品深挖 |
| 协议 | Function Calling、MCP、A2A、Skills 规范 |
| 基础设施 | 沙箱、记忆、工具、浏览器 |
| 定义 | 四要素与边界;四要素视角 与年份页互补 |
注意:本页讲的是调研和整理 AI Agent 资料的方法,不是 AI Agent 知识本身。
AI Agent 是以大语言模型为决策核心,在多步循环里对环境采取行动,并根据反馈继续迭代,直到目标完成或失败的软件系统。
这个定义里有四个必须同时具备的要素:
下面是本次调研的 5 个决策点。
| 形态 | 判定 | 理由 |
|---|---|---|
| 单轮对话(ChatGPT 问答) | 否 | 无多步循环、无行动 |
| 单次工具调用(“帮我查天气"→ 调一次 API) | 否 | 无循环,是底层能力 |
| Function Calling | 否,分类为协议 | 模型扩展方式,是底层能力,不是软件系统 |
| 多步工具编排、沙箱循环 | 是(弱自主) | 有循环有动作 |
| 自主编码 / 电脑操作 / Deep Research | 是(核心对象) | 端到端任务 |
| 行级 Copilot | 否;存在 Copilot→Agent 演化 | 无目标终止条件 |
| 符号 / BDI / 纯 RL | 否(主线) | 核心不是 LLM |
| 多 Agent 协作 | 是(作为一种架构形态) | 属于 LLM Agent |
| 机器人 / 自动驾驶 | 否(相邻) | 物理控制,体系不同 |
切割之后,主线是软件形态、LLM 驱动的执行系统从无到有。更早的 Agent 文献只作前传,避免写成一部 AI 通史。
年份页用四层看「当年能踩在什么上」。分类回答「这条材料是什么」。
Function Calling 作为能力出现在模型层叙事(核心开始能稳定选工具);作为里程碑归协议。Claude Code 在能力栈是运行时,分类是产品。
应用 编码 / GUI / 研究 / 通用任务
框架·协议 编排库 · 运行时 · 接线协议
模型 条件生成、工具选择、窗口、视觉、测试时计算
基础设施横切:沙箱 / 评测 / 观测 / 身份
模型层: CoT → 推理模型;prompt 赌 JSON → Function Calling → MCP / Skills;窗口 4k → 1M+(轨迹工作集上限);像素输入;长稳。
框架 / 协议: 编排库(LangChain → AutoGen → Agents SDK,分类=框架);代码优先运行时(Claude Code、Codex CLI,分类=产品);协议:Function Calling(模型↔工具)→ MCP(模型↔资源,2024-11)→ A2A(Agent↔Agent,2025-04)→ Skills(运行时装载,2025-10)。记忆:窗口 → 分页(MemGPT)→ 频道记忆。
应用: 编码(证据最密)、GUI/浏览器、Deep Research、通用助理。行业演示默认不进表。
基础设施: 沙箱是执行边界;评测单独成分类,因为「宣称」vs「谓词」反复分叉(HumanEval → SWE-bench 族 → OSWorld → Terminal-Bench)。
层间接口: schema 标准化落在模型↔宿主(Function Calling 记协议);MCP / Skills 落在宿主↔工具;专用权重(coding / CUA)落在应用↔模型。史实多半发生在接口上,不在某一层内部。
同一套轴,避免各说各话。与里程碑标签不是同一件事。
| 维度 | 内容 | 度量 |
|---|---|---|
| 自主度 | 每步确认 / 关键审批 / 放手 | 无行业 L0–L5,按任务标注 |
| 范围 | 单仓库编码 → 通用电脑 | 基准覆盖 |
| 可靠性 | 成功率、复现、失败模式 | 基准分数、回滚、留存 |
| 经济性 | token、延迟、沙箱时间 | 实测与定价 |
| 扩展 | 长任务、跨会话、并发 | 窗口、记忆、沙箱寿命 |
| 影响 | 被采用、被并入默认路径 | 不是通稿里的「革命」 |
机制观察(Reflection / Tool use / Planning / Multi-agent)用来看循环内部用了什么原语,何时变成标配。
防流水账,也防只写赢家。每条:分类一、标签可多,也可无。侧栏 [分类]条目名。前传八条概念同样给出分类与标签。
| 条目 | 分类 | 标签 |
|---|---|---|
| ReAct | 论文 | 首证 |
| InstructGPT | 论文 | 工程化 |
| ChatGPT | 产品 | 引爆 |
| Function Calling | 协议 | 工程化 |
| SWE-bench | 评测 | 首证、警示 |
| MCP | 协议 | 标准 |
| Claude Code | 产品 | 工程化、范式更替 |
| GPT-4 | 模型 | (无) |
「工程化」只标转折点,不标稳态。模型换代、既有形态的新实例或更新、没有交付物的论文、综述与博文,都不带这个标签。
标签记的是历史角色,而角色是少数。2025 年之后 Agent 本身就是产品形态,「做成产品」不再是角色,而是入场条件,因此后期许多产品与模型条目标签为空;在那些年份真正有区分度的是标准、引爆、警示与范式更替,它们描述的是偏离常态。
标签不改变分类:Claude Computer Use 是产品,不会因为带「工程化」而被归到协议。
主线判断: Agent 作为研究纲领,比大语言模型早几十年;规划、工具、多 Agent 通信这些概念都不是 2023 年发明的。真正缺少的,是一个能在开放语言空间里做出决策的核心。2017 至 2021 年,Transformer、GPT-3 与 Codex 把底层能力铺好,但循环、对话接口与可靠的调用解析都还没有齐备——符合 AI Agent 定义的系统,此时并不存在。
我在这一页有意写得比一部 AI 通史短。专家系统、具身机器人、自动驾驶不进入主线;强化学习游戏 Agent 只用于指出词汇上的重叠。需要核对的是两段:经典 Agent 留下了哪些概念,以及 LLM 在跨过 2022 年之前已经具备哪些前提、仍然缺少哪些。
2022 年之前,这段关系要拆成两截,不能混在一起讲。
1990 年代到 2010 年代:决策核心不是语言模型。 经典 Agent 用符号规划器、产生式规则、BDI(信念—愿望—意图)或强化学习策略来选择下一步动作。环境是结构化的(棋盘、传感器、API 表、对话槽位),不是自由文本。它们完全符合「感知—决策—行动」的教科书定义,也因此占用了 Agent 这个词;但按 AI Agent 的定义,它们不是 LLM Agent,因为缺少第一条:以 LLM 作为决策核心。
2017 至 2021 年:底层能力开始出现,产品形态仍不是 Agent。 Transformer(2017)与 GPT-3(2020)证明,足够大的语言模型可以在上下文里完成从未见过的任务。Codex(2021)把这种能力接到代码上,GitHub Copilot 把它做成行级补全。WebGPT(2021)让模型在文本浏览器里检索、点击、引用之后再作答。这些都是后来 Agent 循环的零件——生成、工具、检索、代码,但当时仍是单次或短链调用,不是「给出一个目标,自行迭代到完成」。指令跟随(InstructGPT)的工作贯穿 2021 年,其论文与默认 API 跨入 2022 年初;真正把「听话的对话模型」送到大众面前的,是 2022 年 11 月的 ChatGPT。
因此前传要回答的不是「Agent 诞生于哪一年」,而是:概念库存早已齐备,缺少的是一个能读自然语言、选择工具、并依据回执改变主意的决策核心;这个决策核心在 2021 年底仍只能完成短任务。 决策核心尚未就绪,控制流、schema 与沙箱都无从挂载。
分两段记录。第一段是概念库存,第二段是 LLM 底层能力。两段都给出分类与标签(六类历史角色),标签可多,也可无。经典文献多数属于首证,或为后来提供了词汇,不应写成 LLM Agent 的祖先产品。
各条分别写在 早期概念 中,本表只保留判断。
| 时间 | 事件 | 分类 | 标签 | 为什么记录 |
|---|---|---|---|---|
| 1971 | STRIPS(Fikes & Nilsson) | 论文 | 首证 | 把世界写成谓词,用算子搜出计划。它给每个动作附效果清单,规划器因此能在动手之前推演 |
| 1980 | Contract Net Protocol(Smith) | 协议 | 首证 | 任务招标、投标、授予:多 Agent 分工的早期协议。它与 A2A 处理同一类问题:独立的 Agent 之间如何连接 |
| 1986 | Brooks 包容架构 | 论文 | 首证、范式更替 | 按对外行为分层的机器人控制:高层抑制下层。它改写了「智能系统按功能还是按行为分解」这条前提 |
| 1991 | BDI(Rao & Georgeff) | 论文 | 首证 | 用信念、愿望、意图描述理性 Agent。今日的 goal、plan、memory 是这套词汇的通俗版,实现已换 |
| 1995 | Wooldridge & Jennings, Intelligent Agents: Theory and Practice | 论文 | — | 把 Agent 研究分为理论、架构、语言三块,给出弱四条口径。本站的栏目分工与之对应 |
| 1995 | Russell & Norvig《人工智能:一种现代方法》第一版 | 文献 | — | 教材用理性 Agent 统摄 AI:感知、行动、环境、性能度量。「人人会说 Agent」,多来自这里 |
| 1996 起 | FIPA 与 ACL | 协议 | 警示 | 为异构 Agent 规定平台、通信语言与交互协议,是 Agent 互操作最早的系统尝试。规范完成,但未成为业界默认 |
| 2011–2014 | Siri / Alexa / 任务型对话 | 产品 | 工程化 | 封闭任务上填槽、调用后端。「助手调服务」这条流水线,后来接上了 LLM 的工具选择 |
刻意不展开的有:ELIZA(1966,对话幻觉的前史)、办公助手、语义网 Agent,以及绝大多数专家系统。它们可以说明「会说话不等于 Agent」,但带不走本站的主线。
| 时间 | 事件 | 为什么只点名 |
|---|---|---|
| 2013–2019 | DQN、AlphaGo、OpenAI Five、AlphaStar | 媒体也称它们为 Agent。决策核心是 RL 策略,环境是游戏或棋局。体系与软件 LLM Agent 不同,不进入主叙事 |
| 机器人 / 自动驾驶 | 感知—控制闭环 | 调研方法 已划为相邻领域 |
判定标准只有一条:决策核心是否为语言模型。不是,则不进入主叙事。
| 时间 | 事件 | 分类 | 标签 | 为什么记录 |
|---|---|---|---|---|
| 2017-06 | Transformer(论文、讲解) | 论文 | 范式更替 | 用自注意力替代循环与卷积,成为后续 LLM 的骨架。没有可扩展的条件生成器,后面就没有可讨论的决策核心 |
| 2020-05 | GPT-3(论文、讲解) | 模型 | 首证 | 上下文学习:不更新权重也能做新任务。Agent 后来把 Observation 当作工作集,其前提从这里开始 |
| 2020-05 | RAG(论文、讲解) | 论文 | 工程化 | 生成之前先检索。后来几乎所有「带外部知识的 Agent」都要先经过这一步,外部知识从此可以更换而不用重训 |
| 2021-06 | GitHub Copilot(材料、讲解) | 产品 | 工程化 | 把 Codex 的能力做成 IDE 补全。「Copilot → Agent」这条演化的起点;副作用在编辑器缓冲区,接受与拒绝都发生在那里 |
| 2021-07 | Codex(论文、讲解) | 模型 | 首证 | 语言模型写出可运行的代码。没有代码生成,就不会有后来的编码 Agent;生产版本驱动 GitHub Copilot |
| 2021-07 | HumanEval(论文、讲解) | 评测 | 首证、标准 | 用单元测试衡量函数级合成。完成谓词第一次可以不靠人判:看执行结果,不看流畅度;这条路一直走到 2023 年的 SWE-bench |
| 2021-12 | WebGPT(论文、讲解) | 产品 | 首证 | GPT-3 在文本浏览器里检索、导航、带引用作答,并用人类反馈优化。这是「模型加环境加工具」第一次接成一个循环;后来的工具调用与引用评测都从这条实验室形态上取经 |
这一段的共同限度:上下文窗口大约 2k–4k,指令跟随尚不稳定,没有结构化的 function calling schema,也没有工具描述的可移植格式——WebGPT 的动作表写在论文里,不是可传递的产物;更没有大众可用的多轮对话产品。零件齐备,控制循环、可解析接线与可对话接口都未齐备。
用本站的四层结构去看「当时有什么、没有什么」,避免把 2023 年的分层倒灌回去。
经典 Agent 没有「模型层」这一说,决策是规则或学到的策略。LLM 出现之后,2021 年底的能力边界大致是:能补全,能少样本模仿,能写短函数,能在受控浏览器里查资料。不能稳定地拆解开放目标,不能在失败之后修改计划,不能把工具调用解析成可靠的 JSON。思维链要到 2022 年才被当作可复现的推理协议。核心是条件生成器,还不是规划器。
经典一侧有规划语言(STRIPS 及后来的 PDDL)、Agent 通信语言(FIPA ACL)、BDI 解释器。它们假设世界模型与言语行为可以被形式化。LLM 一侧在 2021 年还没有编排框架:没有 LangChain,没有 MCP,没有 Assistants API。WebGPT 的浏览器是论文里的环境,不是可插拔协议。
一个对后面有用的对照:FIPA 证明「先写协议、再等生态」可以失败;2024 至 2025 年的 MCP 与 A2A 走的是「先有模型产品,再收敛为事实标准」。Framework、Runtime 与 Protocol 三者此时在 LLM 一侧都还不存在。
能够规模化的是助手,不是自主执行。任务型对话(订机票、查天气)与 Copilot 补全都是人在环路、一步一确认。WebGPT 与 Codex 停留在研究或开发者工具。没有「给出一个目标,让它在工具与环境里自行运转到完成」的产品,而那正是 2023 年 AutoGPT 所宣称要占据的位置。
沙箱、长任务调度、组织级身份都不存在,因为还没有会乱执行命令的 LLM 循环需要被约束。评测停留在语言任务、HumanEval 与检索问答。记忆等于对话状态机或数据库槽位,不是窗口加向量库那一套。站点中后来的记忆、沙箱栏目,都是 2023 年之后才成为 Agent 基础设施的。主体(principal)无从谈起。
到 2021 年 12 月 31 日,按 AI Agent 的定义,下面这些都不成立:
当时若有人宣称「自主 Agent」,多半是在说 BDI、机器人或强化学习,而不是在说 LLM。
大语言模型出现之前,Agent 已有完整的研究传统。这一栏交代概念库存:世界怎么写、任务怎么分、控制怎么切、心智状态怎么形式化、异构节点怎么通信、消费级助手实际跑的是哪条流水线。
这些系统可以具备循环、对环境的动作,以及观察写回。缺少的是工作定义的第一条:下一步由 LLM 选择。与 AI Agent 的对照放在各页后部,不代替对机制本身的说明。它们不是 2022 至 2025 年产品的祖先。
按时间顺序,八个节点覆盖四类问题:
| 时间 | 概念 | 要搞清楚的问题 |
|---|---|---|
| 1971 | STRIPS | 经典规划里,世界、动作、计划分别是什么 |
| 1980 | Contract Net | 多个求解节点如何用协商分配任务 |
| 1986 | Brooks 包容架构 | 不建立完整世界模型的控制结构如何工作 |
| 1991 | BDI | 信念、愿望、意图在形式化里各指什么 |
| 1995 | Wooldridge & Jennings | 1990 年代如何给 Agent 下定义、如何分类架构 |
| 1995 | Russell & Norvig | 教材里的理性 Agent 覆盖到多宽 |
| 1996 起 | FIPA 与 ACL | Agent 通信标准规定了哪些消息与平台组件 |
| 2011–2014 | Siri / Alexa / 任务型对话 | 大规模语音助手的流水线实际是什么 |
每页固定三块:
与 AI Agent 的对照放在各页后部。循环可以早已存在;决策核心是换核心,不是同一条产品线的延续。
原文:Fikes & Nilsson, 1971,STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving,Artificial Intelligence 2: 189–208。IJCAI-71 报告,实现用 LISP 运行在 PDP-10 上,服务于 SRI 的机器人研究(Shakey)。
STRIPS(Stanford Research Institute Problem Solver)是一个符号规划器。给定当前世界的描述、一组可执行动作和一个目标条件,它要找出一串动作,使执行之后目标成立。
它处理的不是自然语言,也不是从数据里学到的策略。世界写成一阶谓词演算中的合式公式(wff);每个动作对应一个算子,算子增删公式;计划是算子的有序列表。论文明确区分:对世界模型应用算子发生在规划阶段,执行动作例程才改变物理世界。
经典人工智能称这一支为 planning。1998 年以后的 PDDL 把 STRIPS 风格的领域写成标准输入,仍是同一条技术路线。
谓词是从一组对象到真值的函数。它不返回一个值,而是返回「成立 / 不成立」。
这一节里的三个例子,用的是两种元数:
| 写法 | 谓词符号 | 元数 | 读法 |
|---|---|---|---|
ATR(a) |
ATR |
1 | 机器人在位置 a |
AT(B, b) |
AT |
2 | 物体 B 位于位置 b |
AT(C, c) |
AT |
2 | 物体 C 位于位置 c |
B、b、a 这些叫常量,换成变量就是 AT(x, y)。谓词符号加实参构成的整体 AT(B, b) 叫原子公式。前面说「世界写成一阶谓词演算中的合式公式」,指的是这些原子公式用逻辑联结词(∧、∨、¬)组合后的式子;目标是 AT(B, a) ∧ AT(C, a),就是一个合式公式。
所以「世界是谓词集合」的准确含义是:世界模型是一组为真的公式,每条公式说的是某几个对象之间某个关系成立。
谓词对应的英文单词是 predicate。STRIPS 论文里的原话是 first order predicate calculus,对应中文的「一阶谓词演算」,也就是一阶逻辑。读原文时会遇到的相关英文术语如下:
| 中文 | 英文 | 说明 |
|---|---|---|
| 谓词 | predicate | 从对象元组到真值的函数 |
| 谓词符号 | predicate symbol | AT、ATR 本身,不带实参 |
| 命题 | proposition | 不可再分、没有内部结构 |
| 原子公式 | atomic formula / atom | AT(B, b) 这样的完整式子 |
| 合式公式 | well-formed formula (wff) | 原子公式用联结词组合后的式子 |
| 基公式 | ground formula / ground atom | 不含变量、全部由常量构成 |
| 元数 | arity | 谓词接受几个参数 |
| 项 | term | 常量、变量或函数应用 |
| 算子模式 | operator schema | 带变量的动作模板,如 goto(m, n) |
| 前提 | precondition | 应用算子前要证明的 wff 模式 |
| 增列表 / 删列表 | add list / delete list | 算子的效果 |
补充:predicate 在语法学里是「谓语」,与逻辑学里的这个「谓词」是同一个词、不同的领域,读英文材料时靠上下文区分。
论文里说的 model(世界模型)指的是「一组为真的公式」,不是机器学习里的那个模型,也不是大语言模型中的模型。
这个词在 1971 年的语境里是逻辑学的用法,与 2023 年说的 model 无关。读原文时,这一处最容易产生错觉。
在「世界模型」的空间里搜索,直到找到一个能满足目标的模型。对任意世界模型,都存在一组可应用的算子;求解器寻找算子的复合,把初始模型变成满足目标的模型。对象是机器人重排物体、在房间之间导航。世界必须容纳大量事实,因此用一阶谓词演算的公式集合,而不是矩阵或表。
直接前驱是 Green 的系统:把「寻找动作序列」完全交给形式定理证明。这条路线受制于框架问题:必须显式说明「这个动作没有改变哪些事实」。STRIPS 把两件事分开:
论文第 2.1 节把问题空间定义为三元组:
初始世界模型 (M_0):一组 wff。例如机器人在位置 (a)、箱子 B、C 分别在 (b)、(c):
ATR(a)
AT(B, b)
AT(C, c)
也可以写入一般规则,例如「一个物体不能同时在两个不同位置」。
算子:按族写成模式(schema)。例如 goto(m, n) 表示从地板上一点 (m) 走到 (n);代入具体常量后才得到可应用的算子实例。每个算子描述包含:
目标 (G_0):一个 wff。例如「把箱子 B 和 C 都弄到位置 (a)」写成 AT(B, a) ∧ AT(C, a)。
当某个世界模型能够证明目标公式时,问题求解结束。
若对每个模型盲目应用全部可用算子,后继树会大到无法处理。STRIPS 采用 GPS 策略:
一个最小例子:目标 ATR(b)。若机器人不在 (b),证明失败。算子实例 goto(m, b) 相关;子目标是前提 ATR(m)。若初始模型含 ATR(a),则 ATR(a) 可证,应用 goto(a, b) 得到新模型,其中 ATR(b) 成立。
搜索树的每个节点是 (\langle)世界模型, 目标表(\rangle)。相关算子被选出时,并不预先知道它会排在最终计划的第几步。实现上,STRIPS 在一个模型内部调用基于归结的定理证明器处理带参数的 wff 模式,在模型之间维护上述搜索树。论文后半给出在房间中行走、推箱子等实例。
| 术语 | 在这篇论文里的含义 |
|---|---|
| 世界模型 | 一阶谓词演算公式的集合,描述某一时刻的世界 |
| 算子 / 算子模式 | 动作在模型上的对应物;模式含参数,实例化后才能应用 |
| 前提 | 应用算子前必须从当前模型证明的条件 |
| 增列表 / 删列表 | 应用算子后加入、删除的公式;未列出的公式默认不变 |
| 计划 | 从初始模型走到目标可证模型的算子序列 |
| 差 | 当前模型无法完成目标证明时,未完成证明所代表的缺口 |
| 框架问题 | 如何简洁地表示「动作不改变哪些事实」 |
STRIPS 是符号规划器:谓词写世界,算子搜出计划。它给每个动作附一张效果清单,这层推演正是今日 Agent 所缺。
它的循环在世界模型空间里反复搜索,直到目标可证;动作由执行程序在计划算出之后完成。观察是定理证明器对当前模型的询问,不是开放文本回执。决策核心是定理证明加搜索,世界是谓词集合,而非工具 JSON 或屏幕。后来 LLM Agent 中的 Planning,古典形态就是这一支,控制流在规划器,不在解码过程中。它也不是 ReAct、不是 Function Calling,不是编码运行时的祖先产品。
两者都在做同一件事:让机器自己决定下一步做什么;区别在于如何处理「一个动作会改变什么」,而这个区别决定了各自的能力边界。
STRIPS 的做法,是给每个动作附两张清单。第一张写做这件事需要什么,即前提;第二张写做完之后世界加上什么、去掉什么,即增列表与删列表,合起来就是效果。页面里那个 goto(m, n) 动作,两张清单是:前提「在 m」,效果「去掉『在 m』,加上『在 n』」。
有了这两张清单,规划器就能在动手之前推演。目标是「在 b」,当前是「在 a」,对不上;哪个动作能产生「在 b」?goto(m, b),代入 n=b。它的前提是「在 m」,而当前「在 a」成立,于是 m=a,得到 goto(a, b)。整条链条算完,机器人还没有移动一步。这就是它能搜索、能给出计划的全部依据。
今天的工具不是这样。给模型一份工具说明,上面通常只有参数:「查天气」要城市名,「跑测试」要命令,「发邮件」要收件人和正文。没有哪一份说明会写调用之后世界变成什么样。 模型因此只能反过来做:先把工具调出去,看返回了什么,才知道刚才发生了什么。
这个差别在短任务上看不出来,任务一长就显出来。STRIPS 可以在一棵搜索树里比较不同动作的后果,挑一条走;LLM Agent 没有这棵树,它只有当前上下文里已经发生的事。事先推演退化成事后试错,而试错有两个代价:每一步都真的作用在环境上,每一步都要占用上下文。规划能力弱、失败之后不会修改计划、副作用不可预期,都可以追溯到这里。
那为什么不给今天的工具也补上这两张清单?因为写清单要求环境能够被形式化。goto(m, n) 之所以写得清楚,是因为「位置」可以被写成谓词;而「把这个仓库的测试修绿」没有形式化的状态可写,「订一张去上海的票」牵涉几十个外部系统,都无法事先说清一个动作会改变什么。STRIPS 只能处理能被写成谓词的环境,这就是它的边界。
所以这一页记的不是「Agent 的祖先」,而是一次取舍。古典 Agent 用形式化的世界与效果模型换来可证明的计划,代价是只能处理能被写成谓词的环境;LLM Agent 放弃了这些保证,换来在开放语言空间里的通用性。丢掉的那部分形式化,正好落在今天最不可靠的地方。
原文:Reid G. Smith, 1980,The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver,IEEE Transactions on Computers C-29(12): 1104–1113。协议在实验系统 CNET(INTERLISP)中实现。Smith 的博士论文与此前关于分布式传感、启发式搜索的应用报告属于同一条工作。
Contract Net(合同网)是一套给分布式问题求解用的高层通信协议。多个处理器节点上各有知识源,没有一个节点掌握解整个问题所需的全部信息,也没有全局控制器和全局共享内存,节点之间通过消息合作。
核心机制是把「由谁来做哪一项任务」写成协商:有任务的节点担任经理(manager),空闲且有能力的节点担任承包方(contractor)。双方交换结构化消息,互相选择之后订立合同。节点角色不预先固定,同一节点可以同时对某些合同担任经理、对另一些担任承包方,并把自己接到的任务再分包出去。
底层网络协议负责可靠地传送比特流;高层协议规定节点应该对彼此说什么(任务公告、投标、授予、汇报)。
分布式问题求解有三个特征:合作(单个知识源信息不足)、控制与数据都是分散的、节点之间松耦合。任务共享中必须先解决连接问题:有待执行任务的节点,如何找到最合适的空闲节点。它包含资源分配(负载平衡)与聚焦(搜索中会生成大量对最终解无贡献的任务,最合适的知识源也无法先验指定)。
协商有四个要素:过程是局部的,没有集中控制;信息双向流动;每一方从自己的视角评价信息;最终协议来自互相选择。
任务公告(task announcement) 由产生任务的节点发出,该节点成为这项任务的经理。寻址可以是全网广播、有限广播或点对点。公告有四个主槽:
| 槽 | 作用 |
|---|---|
| 资格说明(eligibility specification) | 投标节点必须满足的条件,用来事先排除明显不合格的投标 |
| 任务摘要(task abstraction) | 任务的简短描述,供潜在承包方在多项公告之间排序 |
| 投标说明(bid specification) | 经理希望投标中提供哪些信息,使投标可比较 |
| 截止时间(expiration time) | 接受投标的期限 |
投标(bid) 在节点空闲、准备接下一个任务时发出。节点维护尚未过期的公告列表,按任务类型排序。投标中的节点摘要按公告的投标说明填写,并可使用 REQUIRE 声明:若中标,需要经理传送额外信息。
授予(announced award) 通知中标者成为承包方,并给出开始执行所需的数据。若已有「满意」的投标,可以在截止时间之前立即授予。
合同执行期间还有:信息消息用于一般通信;汇报分为中期与最终;终止用于经理结束合同及其未完成的分包。扩展包括立即响应投标(BUSY / INELIGIBLE / LOW RANKING)、定向合同(跳过公告与投标),以及负载很高时反向进行的 node available。
第三节用 CNET 模拟的分布式传感系统(DSS):传感器与处理器节点散布在较大地理区域,要动态维护该区域内的车辆交通图。初始化阶段出现一类 signal 任务:无传感能力但处理能力强的节点担任经理,寻找能提供信号特征的传感器节点。
双方的「理想合同」并不相同。经理希望承包方在空间上覆盖责任区、传感器类型搭配合理;承包方希望经理在地理上足够近。合同网允许把这两种评价写进不同槽位。经理广播的任务公告给出任务类型、位置、资格、投标须填项与截止时间;潜在承包方按距离排序后投标;经理选择能覆盖责任区、类型搭配合理的投标者并授予。
| 术语 | 在这篇论文里的含义 |
|---|---|
| 分布式问题求解 | 分散、松耦合的知识源合作解题;无全局控制与全局数据 |
| 连接问题 | 任务与执行节点如何匹配;含资源分配与聚焦 |
| 经理 / 承包方 | 针对单项任务的角色,不是节点的固定身份 |
| 任务公告 / 投标 / 授予 / 汇报 | 协商的基本消息类型 |
| 公共节点间语言 | 填写槽位时各节点共用的高层编码 |
| 定向合同 | 跳过招标、直接授予已知合适节点 |
| 任务共享 / 结果共享 | 合作的两种风格;后者用请求与信息消息传递部分结果 |
合同网用招标、投标、授予在节点之间分配任务。独立的 Agent 如何连接,这个问题比 A2A 早了四十五年。
它的循环是公告、投标、授予、汇报,合同期内可分包、可终止。消息是节点之间的动作,观察是对方回过来的结构化槽位。决策核心是各节点上的知识源与局部评价函数。
2023 年以后用多个 LLM 角色对话来分工,处理的是同一类问题中的「聚焦」与「谁做什么」,匹配过程通常是提示词里写定的角色,而不是合同网上的公告—投标状态机。2025 年的 A2A 再次规定 Agent 之间如何发现对方、如何交付任务。A2A 使用 Agent Card、任务与消息,运行在 LLM 产品之上;合同网使用资格槽与合同状态,运行在 1980 年的分布式处理器模型上。二者同属「节点间如何连接」这一问题,不是同一份协议的版本迭代,也不是产品谱系。
架构原文:Rodney A. Brooks, 1986,A Robust Layered Control System for a Mobile Robot,IEEE Journal of Robotics and Automation 2(1): 14–23(DOI)。配套论辩:Brooks, 1991,Intelligence Without Representation,Artificial Intelligence 47: 139–159。1986 年一文给出可实现的分层与模块语言,1991 年一文论证为什么不以中央表征为分解主轴。
包容架构(subsumption architecture)是一种移动机器人控制结构。它不按「感知、建模、规划、执行」这种功能管道切分系统,而按机器人对外应表现出的能力层级切分。每一层是一组异步的有限状态模块,模块之间用低带宽「导线」传递消息,没有共享全局内存。
较高层可以通过**抑制(suppress)下层的输入、或禁止(inhibit)**下层的输出,在需要时接管行为。被包容的下层并不被拆除,在高层未能及时给出结果时仍继续产生较低能力层级上的合理行为。只完成第 0 层时,就已经是一台可以运行的机器人;以后增加层级,不必修改已经调试好的下层。
这是具身、反应式路线上的代表性结构。按 边界 一节的划分,物理机器人不进入 LLM Agent 主叙事。它出现在前传中,是因为「Agent 是否必须先有完整世界模型再行动」这条分叉,在 1986 年已经被明确写出来。
完全自主的移动机器人必须在边界条件快速变化、传感器噪声很大、传感器读数与所需物理量之间没有干净解析映射的环境中实时控制。要求包括:多重目标(可能冲突,相对重要性随情境变化);多传感器(误差与适用范围难以解析刻画);鲁棒(部分失效时仍有合宜行为);可扩展(增加传感器与能力时不应把原有能力拖垮)。
当时的常见做法是把问题切成功能竖条:传感、映射成世界表征、规划、任务执行、电机控制。要让机器人动起来,每一段都必须先实现。Brooks 改成按对外行为做水平切分。
能力层级是对「机器人在将遇到的全部环境中应表现出哪一类行为」的非形式规定。高层级蕴含对行为集合的更强约束,并且包含所有更低层级。文中用作工作指引的层级是:
| 层级 | 能力 |
|---|---|
| 0 | 避免与物体接触(物体静止或运动均可) |
| 1 | 无目的游荡且不碰撞 |
| 2 | 看见远处可到达的地方并前往,从而「探索」 |
| 3 | 建立环境地图并规划地点之间的路径 |
| 4 | 注意「静态」环境中的变化 |
| 5 | 按可识别物体推理,并执行与物体相关的任务 |
| 6 | 制定并执行改变世界状态的计划 |
| 7 | 推理物体行为并据此修改计划 |
构造步骤:先实现并彻底调试达到第 0 层能力的完整控制系统,之后不再修改它。再实现第 1 层:它可以观察第 0 层的数据,并向第 0 层内部接口注入数据以抑制原有数据流。第 0 层继续运行,并不知晓上层有时会干扰其数据路径。更高层依此类推。
每一层由若干小处理器(模块)构成。每个模块是带实例变量的有限状态机,可以保存 Lisp 数据结构。模块完全异步,监视输入线、向输出线发送消息;消息不握手、不确认,允许丢失。层内没有中央控制器。高层对下层的介入只有三种导线终点:接到输出上的禁止、接到输入上的抑制(抑制信号同时作为替代输入)、接到模块的 reset。
模块的状态有四类:输出消息后转入新状态;对实例变量做副作用后转入新状态;按谓词条件分支;事件分派(等待输入到达或延时)。文中给出第 1 层 Avoid 模块的定义:输入为声呐推算出的斥力与期望航向,求和后若力足够大,则向电机发出修正后的运动命令。
第 0 层保证机器人不与物体接触。声呐读数经滤波形成以机器人为中心的障碍图。Collide 若发现正前方有物体则发出 halt。Feelforce 把每个检测到的物体当作随距离平方衰减的斥力并求和。Runaway 在合力显著时命令转向。Turn 与 Forward 与实体机器人通信。文中报告:在数小时自主运行中,实体机器人未与静止或运动障碍碰撞(运动障碍被控制为慢速)。
第 1 层加上无目的游荡。Wander 每隔约十秒产生新航向。Avoid 把第 0 层的力与该航向合成。该输出抑制 Runaway 进入电机模块的信号,从而在有航向可考虑时包容第 0 层的逃逸计算。接线图是在第 0 层图上增加模块与导线,不改动原有模块。
第 2 层(文中已开始实现)用视觉选择有兴趣的地点,沿自由空间走廊伺服,同时仍由声呐处理局部障碍。
1986 年一文列出若干工作假设,其中包括:复杂行为不必来自复杂控制系统,而可以是复杂环境的反映;接口一旦复杂到可与被连接部件相比,就应重做分解;不用绝对坐标系而用关系地图。1991 年 Intelligence Without Representation 把分解原则说得更明确:智能系统的根本分解不是必须经由表征互相接口的信息处理单元,而是并行的活动产生器,它们各自通过感知与行动直接与世界接口。中央与外围的区分在这种看法下被取消。
| 术语 | 在这篇论文里的含义 |
|---|---|
| 能力层级 | 对外部行为类别的规定;高层包含低层 |
| 包容 | 高层通过抑制输入或禁止输出接管,下层继续运行 |
| 模块 | 异步有限状态机,用消息通信,无全局共享内存 |
| 抑制 / 禁止 | 替代输入、丢弃输出的两种介入 |
| 功能分解 vs 行为分解 | 按内部功能竖切,或按对外行为横切 |
包容架构按对外行为分层控制机器人,高层抑制下层。它证明 Agent 不必先建完整世界模型。
它的循环由传感器与电机持续驱动,层与层异步并行,动作与观察都在其中。决策核心是有限状态布线;没有中央世界模型,也没有先搜索出来的完整计划。
STRIPS 与后来的思维链、ReAct 属于先形成(或边形成)对下一步的显式推理、再行动的路线。包容架构给出明确的反例:可以没有中央世界模型,仍然构成当时文献中的自主 Agent(机器人控制意义下)。AI Agent 定义要求多步循环和对环境行动,不要求必须先产出完整符号计划。这一页防止把「先规划再执行」写成 Agent 的唯一定义条款。
2024 年以后的 Computer Use、浏览器操作在机制上是「根据当前观察选择动作」,与符号规划器不同,也与 1986 年的有限状态布线不同,不能写成包容架构的产品后裔。具身机器人整体仍划为相邻领域。
形式化原文:Rao & Georgeff, 1991,Modeling Rational Agents within a BDI-Architecture,KR 1991,pp. 473–484。实现向的配套报告:Rao & Georgeff, 1995,BDI Agents: From Theory to Practice(ICMAS)。哲学来源:Michael Bratman, Intention, Plans, and Practical Reason(1987)。对照对象:Cohen & Levesque, 1990,把意图定义成信念与目标的时序公式。
BDI 指一类把 Agent 的内部状态分成三种态度的架构:
Bratman 的论题是:意图在实践推理中有独立作用。它是尚未完成的部分计划,会控制行为、排除与之冲突的其他选项,并具有惯性。Rao 与 Georgeff 把这一论题写成可能世界语义,使意图与信念、目标平级,从而可以讨论不同的承诺策略。
BDI 系统的决策核心是符号结构与规则,属于 1990 年代智能体文献中的 Agent。
BDI 的形式化建立在一个反直觉的做法上:它不把世界写成一个状态,而是写成这个 Agent 认为哪些状态是可能的。
日常说法里,「Agent 相信外面在下雨」是对世界的断言。在可能世界语义里,它被改写成「在 Agent 认为可能的每一个世界里,外面都在下雨」。两句听起来等价,差别在于后者显式承认了世界是复数:Agent 不知道的事,表现为有多个世界都符合它已知的一切。
这个做法是三态度的共同基础。信念、目标、意图都不直接描述世界,而是描述「在哪些世界里成立」。信念对应 Agent 认为可能的那些世界,目标与意图再在这之上各选一层。意图之所以不能化简为「信念加愿望」,正因为它是一层独立的选定,而不是从前两层推导出来的。
时间树是这套结构的形状。从一个时间点往后看,未来分叉,过去只有一条线;树上某个世界的某个时间点叫一个情景。分支表示 Agent 当时可做的选择,事件把情景推到下一个。执行可能成功也可能失败,两种结果在树上都标出来,所以 Agent 可以对意图采取行动,而不被要求每次尝试都成功。
BDI 把实践推理(practical reasoning)拆成两个问题,各有专名:
| 问题 | 名称 |
|---|---|
| 我该做什么 | 慎思(deliberation) |
| 我该怎么做 | 手段—目的推理(means-end reasoning) |
慎思是在若干可采纳的手段中,挑出要承诺去执行的那些。它在解释器循环里的位置是「生成选项」之后的下一步(见下文「从理论到解释器」一节):先用手段—目的推理找出有哪些办法能达到目标,再由慎思在它们之间选定并成为意图。这个二分来自 Bratman,他把「决定做什么」与「决定怎么做」当成两种不同的推理,而不是一个过程的两个阶段。
慎思不只是「挑一个」。它要回答两个问题:哪些新选项应当被采纳为意图,以及已有的意图是否要重新考虑。第二个问题正是后面那张承诺策略表要处理的事——盲目承诺、一心一意、开放三者的差别,就在于慎思允许多频繁地推翻已承诺的意图。省略这一层,「慎思」与「选一个」便没有区别。
「慎思」取自《中庸》「慎思之」,是 deliberation 的通行译法。Wooldridge & Jennings 把 Agent 架构分为慎思式、反应式、混合三类,用的是同一个词;那里指整类系统「先推理再行动」的设计路线,这里指循环中的具体一步。
已有形式化(尤其 Cohen & Levesque)把意图写成信念与目标的某种时序组合。Rao 与 Georgeff 认为这样无法把意图当作一等对象,也难以对意图本身施加与目标不同的持续性条件。他们要给出另一种可能世界形式化,使:
世界被建成时间树:未来分支、过去唯一。某一世界中的某一时间点称为一个情景。事件类型把时间点变成另一时间点。原子事件由 Agent 直接执行,并唯一决定下一时间点;非原子事件对应不相邻时间点,用来表示部分计划及其向原子事件的分解。
从某一时间点伸出的分支表示 Agent 当时可做的选择。执行可能成功或失败,分支按此标记,从而 Agent 可以对意图采取行动,而不被要求每次尝试都成功。
逻辑是分支时间逻辑 CTL* 的一阶、多模态扩充。公式分状态公式与路径公式。optional φ 表示从该点出发至少有一条路径使 φ 成立;inevitable φ 表示所有路径皆然。再加上 next / eventually / always / until。BEL(φ)、GOAL(φ)、INTEND(φ) 都是状态公式。事件方面有 succeeds(e)、fails(e)、does(e) 以及对应的过去时形式。
在每个情景上:
反之不成立:即使 Agent 相信某事实不可避免,也不被迫把它收为目标或意图。因此目标与意图须一致,但不必在信念下封闭。文中的例子:Agent 相信「补牙不可避免伴随疼痛」,仍可以有「去补牙」的目标,而不必有「去疼痛」的目标。
1991 年论文的第 3 节给出解释 (M = \langle W, E, T, \ldots, B, G, I, \Phi \rangle) 与满足关系;第 4 节讨论态度如何形成、维持、修正。承诺策略的直观分类在后续 BDI 文献中稳定为三类(1995 年实践论文中写得更便于实现对照):
| 策略 | 放弃意图的条件 |
|---|---|
| 盲目承诺(blind / fanatical) | 直到相信已成功,或相信已不可能 |
| 一心一意(single-minded) | 上述条件,或目标本身已被放弃 |
| 开放(open-minded) | 信念变化导致目标不再成立时也可以放弃 |
1995 年 BDI Agents: From Theory to Practice 给出与上述语义对应的解释器循环:
初始化状态
重复:
选项 := 根据事件队列生成选项
选定 := 对选项做慎思(deliberate)
用选定结果更新意图
执行当前意图中的一步
获取新的外部事件
丢掉已成功的态度
丢掉已不可能的态度
「选项」对应可采纳的手段,「慎思」对应从愿望中筛选意图,「执行」对应对已承诺计划采取一步行动。事件队列把环境观察接入信念修正。这一循环是 BDI 作为软件架构时最常被引用的部分;1991 年论文则是其语义依据。
| 术语 | 在这篇论文里的含义 |
|---|---|
| 信念可达世界 | Agent 认为可能的时间树集合 |
| 目标 vs 愿望 | 目标是一致的、且被相信可达成的选定愿望 |
| 意图 | 已承诺尝试实现的部分计划;与信念、目标平级 |
| 子世界兼容 | 目标是信念的子世界,意图是目标的子世界 |
| strong realism | 须相信目标可通过选择行动可选地达成 |
| 承诺策略 | 意图在成功、失败、目标变化、信念变化时如何持续 |
| 副作用问题 | 相信「φ 蕴含 ψ」时,对 φ 的意图是否强制带上 ψ |
BDI 用信念、愿望、意图三种态度描述理性 Agent。今日产品里的 goal、plan、memory,是这套词汇的通俗版。
解释器的循环是:事件进队列、慎思、执行一步、再取外部事件,动作与观察都在其中。决策核心是符号态度上的规则与承诺策略。
LLM 产品里出现的 memory、goal、plan、todo,与 BDI 三态度在问题上对应:系统对世界有一个当前看法,有一个要达成的目标,有一个正在执行、不应每一步都推翻的计划。在实现上不对应:没有可能世界可达关系,也没有上述解释器中那种形式化的选项生成与承诺策略。上下文窗口、检索、频道记忆承担的是信念的工程替代;系统提示或用户请求承担的是目标;运行时任务列表承担的是意图。这一页不把「长期记忆」写成 BDI 的复活,也不把 2023 至 2025 年的 Agent 运行时写成 BDI 解释器换核心。
原文:Wooldridge & Jennings, 1995,Intelligent Agents: Theory and Practice,The Knowledge Engineering Review 10(2): 115–152。DOI。这是一篇面向当时研究社区的长综述,不是新模型论文。作者在摘要中写明:目的是标出设计与构造智能体时最重要的理论与实践问题,并指向展开这些问题的工作;不打算写成对所有议题的教程。
到 1995 年,「Agent」已经同时出现在人工智能与主流计算机科学里,但用法不统一。这篇综述做了两件对后来教学影响很大的事:
它不提供一个可运行的规划器或通信栈,而是提供一张 1990 年代中期的问题地图。后面读 STRIPS、BDI、包容架构、FIPA 时,可以用这张地图给材料定位。
作者从计算机科学文献中归纳出,若称一个硬件或软件系统为 Agent,通常至少要求:
| 属性 | 论文中的含义 |
|---|---|
| 自主(autonomy) | 无需他人持续直接干预即可运行;对自己的行为和内部状态有控制 |
| 社交能力(social ability) | 通过某种 Agent 通信语言与其他 Agent(以及可能的人类)交互 |
| 反应性(reactivity) | 感知环境,并在环境变化时及时作出响应 |
| 主动性(pro-activeness) | 不只被动响应,还能采取目标导向的主动行为 |
这四条后来被大量教材与产品文档转述。论文自己的限度:这是对当时用法的归纳,不是一组已经配备操作化度量的测试。恒温器勉强可以装进「感知并响应」;社交能力与主动性则把许多脚本系统排除在外,但仍比 AI Agent 定义宽。弱四条已经假定感知与行动;它们不指定决策核心是什么。
在 AI 研究中,Agent 还常被赋予人类才使用的心智描述:知识、信念、意图、义务等。作者称之为强概念。这一侧与 BDI 直接相接:不是「系统会不会动」,而是「用哪些内部态度解释和设计它的选择」。
弱概念与强概念不是互斥的两代产品,而是两套描述粒度。一个 BDI 系统通常被期望同时满足弱四条,再用信念—目标—意图去说明它如何满足。
理论处理「Agent 是什么」以及用何种数学形式表示和推理其性质。内容包括:如何形式化信念与目标、意图与承诺、Agent 之间的义务与规范、合作与冲突。Cohen & Levesque、Rao & Georgeff 的工作落在这一块。理论工作的目标是可陈述的性质,不等于已经得到可高效执行的程序。
架构是满足理论性质的软件或硬件组织方式。综述把当时架构分成三类:
语言指用于编程和实验 Agent 的软件系统。文中评述的包括 Agent0、PLACA、Concurrent MetateM 等:重点是语言把哪些理论概念变成可写的原语(承诺、消息、并发规则),而不是给出通用运行时。
文章后部用当时的应用(工作流、电信、空管、信息管理等)说明:工业兴趣已经出现,但可移植的工具链仍弱。这一判断与一年后 FIPA 开始写互操作标准的动机是同一背景。
摘要与导言反复说明:分三块是为了方便,分界并不干净。综述指向文献,不代替任何一篇原论文。弱四条是用法归纳,用来帮助读者辨认讨论对象,不是形式化定义。
| 术语 | 在这篇论文里的含义 |
|---|---|
| 弱概念 | 自主、社交、反应、主动四属性 |
| 强概念 | 在弱概念之上使用心智谓词 |
| Agent 理论 | 用形式系统陈述 Agent 的性质 |
| Agent 架构 | 慎思 / 反应 / 混合等软件或硬件组织 |
| Agent 语言 | 把理论概念写成可编程原语的系统 |
它把 Agent 研究分为理论、架构、语言三块,并给出沿用至今的弱四条口径。本站的栏目结构与之对应。
本站的栏目分工与这三块对应,但对象已经收窄为 LLM Agent:定义页对应「是什么」;时间线对应性质何时变得可工程化;协议栏对应社交能力这一条如何被写成 MCP / A2A;Agents 与基础设施对应架构与运行时。Wooldridge 与 Jennings 没有讨论语言模型。
弱四条已经覆盖循环、动作、观察中的若干条(反应、主动、社交)。AI Agent 定义是在弱/强概念之后再增加约束:决策核心必须是 LLM,并且具备多步循环、对环境行动、按反馈迭代。弱四条单独使用时,仍会把大量非 LLM 系统算进来。这一页用来理解 1995 年社区内部的分类,而不是替换工作定义,也不是 2022–2025 运行时的设计说明书。
材料:Stuart Russell & Peter Norvig,Artificial Intelligence: A Modern Approach,第 1 版,Prentice Hall,1995。这是教科书,不是会议论文。对 Agent 的集中表述在第 2 章 Intelligent Agents。后续版本(2003、2010、2020)在同一框架上补充了环境性质的分类表,以及用 PEAS(Performance, Environment, Actuators, Sensors)组织设计问题的写法。下面以第 1 版的定义为主,不把后版才固定的口号倒填为 1995 年原文。
AIMA 把人工智能的研究对象统一写成 Agent:任何可以被视为通过传感器感知环境、并通过执行器(第 1 版用 effectors)作用于环境的东西。Agent 的行为对错,不按「是否像人」来判,而按给定性能度量在该环境中的表现来判。在这个标准下,恒温器、棋手、诊断程序、机器人都是 Agent。
这套定义的目的是给整本教材一条脊梁:搜索、逻辑、规划、学习都可以写成「如何构造更合理的 Agent 程序」。它不是 2023 年以后那种软件产品分类,也不区分决策核心是规则、搜索、强化学习还是语言模型。
本站后来使用的「LLM Agent」是对这套定义的收窄,不是对它的否定。收窄的理由写在 什么不是 AI Agent。
教科书给出的基本图是闭合回路:环境产生可被感知的刺激,Agent 经传感器得到感知(percept),输出行动,行动改变环境,下一时刻的感知依赖于环境的新状态。完整的输入历史称为感知序列。
作者区分两个层面:
理性 Agent 的标准(第 1 版的表述,后续版本沿用同一思想)是:对每一个可能的感知序列,理性 Agent 应选择这样一个行动——在该感知序列所提供的证据、以及 Agent 所具有的先验知识之下,期望最大化其性能度量。
几条经常被误读、需要按教材原意明确的推论:
第 1 版已经按可观测性、确定性、情节性、动态性、连续或离散等维度讨论环境,并据此说明哪种程序结构够用。后续版本把这些维度列成表,便于出题;内容没有离开第 2 章的原意。常见的程序类型包括:
| 类型 | 决策依据 |
|---|---|
| 简单反射 | 当前感知与规则(条件—行动) |
| 带内部状态的反射 | 当前感知 + 对未观测世界的内部估计 |
| 目标驱动 | 内部模型 + 目标,需搜索或规划 |
| 效用驱动 | 在多个可达目标之间用效用函数比较 |
| 学习型 | 以上任一结构,加上从经验改进组件的机制 |
STRIPS 属于目标驱动这一档的经典规划实现。BDI 在教材分类里仍是目标驱动,但内部状态被写成三种态度。包容架构 更接近多层反射,而不是先搜出计划。任务型对话 的状态机填槽,是反射加内部对话状态,目标集合通常封闭。
后续版本中的 PEAS 把设计一个 Agent 时必须同时交代的四件事写成检查清单:性能度量、环境、执行器、传感器。第 1 版已经要求这四件事一起谈;PEAS 只是后来的命名。整理笔记时可以用这个清单检查描述是否完整,但应标明它是后续版本的整理。
因为判定标准只含感知、行动、环境、性能,所以:
教材需要这个宽度,才能把人工智能各分支写进同一章。本站若沿用这个宽度,「AI Agent 时间线」会变成人工智能通史,与 调研方法 的边界冲突。
| 术语 | 在这本教材里的含义 |
|---|---|
| Agent | 通过传感器感知环境、通过执行器行动的任何东西 |
| 感知序列 | Agent 迄今收到的全部感知 |
| Agent 函数 / 程序 | 理想映射与具体实现 |
| 理性 | 在每个感知序列上选择期望最大化性能度量的行动 |
| 性能度量 | 在 Agent 外部给定的评价标准 |
| 环境性质 | 可观测、确定、情节、动态、离散等,用来选程序结构 |
教材用理性 Agent 统摄 AI:感知、行动、环境、性能度量。今天人们普遍使用 Agent 一词,很大程度上来自这里。
教材四元组里,循环、动作、观察已经画在第 2 章的图上。收窄发生在决策核心与迭代条款:
| 教材 | 本站的工作定义 |
|---|---|
| 感知 | 保留,具体化为工具回执、屏幕、仓库等观察 |
| 行动 | 保留,且必须改变环境,不能只生成文本 |
| 环境 | 保留,主线限制在软件环境 |
| 性能度量 | 保留,要求可核对的评测或交付,不以厂商自称代替 |
| (不限制决策核心) | 必须由 LLM 选择下一步 |
| (不强制多步迭代) | 必须有多步循环,并依据反馈再决策 |
因此 Siri 在 AIMA 中是 Agent,在本站的工作定义中降为助手。Wooldridge & Jennings 的弱四条是研究社区内部的入口,仍宽于本站的工作定义,但已经比恒温器窄(要求社交与主动)。AIMA 是课程与大众读物的入口,是「人人会说 Agent」的主要来源。它不是 2022–2025 LLM Agent 产品的规格书。
组织与规范:FIPA(Foundation for Intelligent Physical Agents)。1996 年 4 月在伦敦 Imperial College 讨论建制,1996 年 9 月在日内瓦登记为瑞士非营利协会,目标是为异构、会交互的 Agent 与 Agent 系统编写软件标准。第一批规范以 FIPA 97 发布。2005 年 6 月 8 日,FIPA 成为 IEEE Computer Society 的标准委员会。现行规范仍集中在 fipa.org 的 Repository。
直接相关的规范包括:FIPA 97 第 1 部分 Agent Management、第 2 部分 Agent Communication Language;其后拆成的 FIPA ACL Message Structure Specification(SC00061)、FIPA Communicative Act Library Specification(SC00037)、FIPA Contract Net Interaction Protocol Specification(SC00029)等。
FIPA 要规定的不是某一个演示程序,而是不同厂商实现的 Agent 如何互操作。互操作被拆成三层,需要同时成立:
ACL 的语义建立在言语行为理论(Austin、Searle)上,并把前提条件与理性效果写在发送者、接收者的心智状态中——与 BDI 使用同一类词汇(信念、意图)。内容本身另用内容语言写出,双方还须共享本体,否则谓词没有共同指称。
FIPA ACL 把消息当作行为,而不是一段文本。这来自语言学里的言语行为理论(Austin、Searle):说话本身就是在做事。
同一句话说出来,可以是通知,可以是请求,也可以是承诺。区分它们的不是内容,而是施事语力(illocutionary force)。FIPA 把它写成消息的一个字段:inform 表示「我通知你某命题,并且我相信它」,request 表示「我请求你去执行某个动作」。内容字符串相同,施事语力不同,对话中的义务就不同。
这条设计有两个直接后果。
一是 ACL 的语义写在参与者的信念与意图上,用的是与 BDI 同一套词汇。inform 的规范语义是「发送者相信该命题,且意图使接收者也相信」。代价是心智状态无法从外部观察,这些语义作为合规标准时难以验证。
二是只有消息格式还不够,双方还要共享本体。weather(today, raining) 这段内容,只有在双方对 weather、today、raining 的指称理解一致时才有意义;字段 ontology 就是用来声明这一点的。共享本体的成本高,是 FIPA 生态没有长起来的原因之一。
FIPA 的 Agent 平台(Agent Platform)是 Agent 的运行与管理环境,规范中的核心服务包括:
| 组件 | 职责 |
|---|---|
| AMS(Agent Management System) | 白页:Agent 标识、生命周期(创建、挂起、终止)、平台权威 |
| DF(Directory Facilitator) | 黄页:Agent 注册自己能提供的服务,供其他 Agent 按服务描述查找 |
| MTS / ACC(消息传输 / Agent 通信通道) | 在平台之内以及平台之间传递 ACL 消息 |
一个符合规范的 Agent 通过 AMS 获得标识,通过 DF 被发现,通过 MTS 收发 ACL。这与后来 Web 服务的注册—发现—调用在问题上同类,但绑定的是 Agent 标识与言语行为,而不是 HTTP 资源。
一条 FIPA ACL 消息的主要字段(SC00061)包括:
| 字段 | 作用 |
|---|---|
| performative | 施事语力,决定这条消息在做什么(通知、请求、招标等) |
| sender / receiver | 发送者与接收者的 Agent 标识 |
| content | 内容,其含义相对于 language 与 ontology |
| language | 内容语言(例如 SL、Prolog) |
| ontology | 内容中谓词与常量所属的本体 |
| protocol | 所遵循的交互协议名称 |
| conversation-id | 会话标识,把多条消息绑成一次对话 |
| reply-with / in-reply-to | 用于把回复对齐到先前消息 |
示意(字段值仅为说明结构):
(inform
:sender (agent-identifier :name agent-a)
:receiver (agent-identifier :name agent-b)
:content "weather(today, raining)"
:language Prolog
:ontology weather-ontology
:protocol fipa-request
:conversation-id conv-001)
inform 表示发送者通知接收者某命题,并且(按规范语义)发送者相信该命题,且意图使接收者也相信。若换成 request,内容则是发送者意图使接收者执行的行动。同一段内容字符串,施事语力不同,对话中的义务就不同。
SC00037 给出交际行为(communicative act)库。常用的包括:
| 交际行为 | 直观作用 |
|---|---|
| inform / confirm / disconfirm | 通知或(不)确认一个命题 |
| request / request-when / request-whenever | 请求对方现在、在条件成立时、或每当条件成立时行动 |
| query-if / query-ref | 询问命题真假,或询问使公式成立的项 |
| cfp | 招标(call for proposals),合同网的起点 |
| propose / accept-proposal / reject-proposal | 提出、接受、拒绝提案 |
| agree / refuse | 同意或拒绝先前的请求 |
| failure / not-understood | 执行失败,或不理解对方消息 |
| subscribe | 订阅此后满足某条件的通知 |
| cancel | 取消先前请求 |
每个行为的规范语义用 SL(Semantic Language)写出可行性前提与理性效果,绑定在参与者的信念与意图上。后续分析文献指出一个困难:心智状态不可从外部观察,因此这些语义作为规范性标准时难以验证(见 Pitt & Mamdani 等对 FIPA ACL 语义的讨论)。作为实现者的指引,行为库仍然给出了消息类型的稳定清单。
FIPA 把 Contract Net 收成 FIPA Contract Net Interaction Protocol(SC00029)。消息顺序被规定为:发起者发出 cfp → 参与者回复 propose 或 refuse → 发起者 accept-proposal 或 reject-proposal → 被接受的参与者返回 inform(结果)或 failure。协议图还处理超时、取消、not-understood。相对 1980 年论文,这里把协商从「一种应用层约定」提升为「可被不同实现共同遵守的会话类型」,并且每一步都必须是合法的 ACL 交际行为。
FIPA 另外还规定了 request、query、若干拍卖类协议。设计意图是:只要双方声明同一 protocol 与 ontology,异构实现可以完成同类对话。
FIPA 完成了规范文本,并在 Agentcities 等项目中做过互操作试验。它没有成为与 HTTP 同级的互联网默认栈。后来文献中反复出现的原因包括:共享本体成本高;语义绑定在不可观察的心智状态上,符合性测试困难;缺少类似浏览器那样的大规模宿主应用;Web 服务与 REST 从另一侧接手了系统集成。规范仍可查阅;当代软件工程日常栈几乎不经过 AMS/DF/ACL。
2005 年并入 IEEE,说明标准组织身份还在,不等于生态已经长成。
| 术语 | 在这套规范里的含义 |
|---|---|
| Agent 平台 | AMS + DF + 消息传输构成的管理与通信环境 |
| ACL | 带施事语力与会话字段的消息语言 |
| 交际行为 / performative | 消息在对话中所实施的那种行为 |
| 本体 | 内容语言中符号的共享词汇与约束 |
| 交互协议 | 合法消息顺序,例如 FIPA-Contract-Net |
| SL | 用于书写 ACL 语义的逻辑语言 |
FIPA 为异构 Agent 规定平台、通信语言与交互协议,是 Agent 互操作最早的系统尝试。规范完成,但未成为业界默认。
它的循环由交互协议规定:会话期内有请求、回复、失败、取消,消息是动作,对方的 ACL 是观察。决策核心不在规范里:规范假定参与者已经是 Agent,其内部如何选择下一步(规则、BDI、规划器)由实现自定,不是 LLM。
时间线上这是明确的标准建立型节点,结果偏警示:规范可以写完,生态可以不出现。2024 年的 MCP 与 2025 年的 A2A 处理的问题分别是「模型如何接工具」和「Agent 如何接 Agent」。它们出现在 ChatGPT、Claude 等产品已经存在之后,是把已经在用的调用方式收敛为事实标准,与 FIPA「先写全规范再等待实现」的顺序相反。不是同一套协议的版本迭代。
这一页对应的不是单篇开山论文,而是一条从实验室对话系统到消费级语音助手的产品线。需要同时看清三层材料:
框架式对话的早期系统可追溯到 Bobrow 等,GUS, A Frame-Driven Dialog System,Artificial Intelligence 8: 155–173(1977)。统计对话管理的综述见 Young 等,POMDP-based Statistical Spoken Dialogue Systems: A Review,Proceedings of the IEEE 101(5): 1160–1179(2013)。Siri 源于 SRI 的 CALO 项目衍生公司,2010 年被 Apple 收购,2011 年 10 月 4 日随 iPhone 4S 发布。Alexa 随 Amazon Echo 于 2014 年 11 月 6 日发布;其开发者模型(技能、意图、槽位)把 TOD 结构写成了公开接口。
任务型对话系统的目标是:在一个预先规定的任务集合里(订票、查天气、设闹钟、放音乐、控制家电),通过多轮对话收集执行该任务所需的参数,然后调用后端服务,再把结果说给用户。
与闲聊系统不同,TOD 有可核验的完成条件:槽位是否填齐、API 是否调用成功、用户目标是否在该任务模式内。与 STRIPS 不同,这里的「计划」通常不是现场搜索出来的动作序列,而是任务模式已经写好,系统只决定下一步问哪个槽、何时调用哪个 API。与 AI Agent 定义不同,下一步由分类器、状态机或在固定状态空间上训练的策略选择,不是由语言模型在开放动作空间里决策。
Siri 与 Alexa 是 TOD 的规模化形态:它们把上述流水线接到语音接口和厂商服务目录上,使「对着设备说话、它去办事」成为消费品。Google Assistant 等属于同一架构家族,这里不另开条目。
槽(slot)是任务的参数位。一个任务需要哪几项信息,每项就是一个槽;把对话推进下去,就是把这些槽逐一填满。
这个词不来自对话系统,而来自 1970 年代的框架(frame)表示法:一个框架描述一类典型情境,框架里有若干槽,每个槽留出位置等着被填。GUS 把这套做法用到对话上,改用框架表示任务。以订机票为例:
| 槽位 | 槽值示例 | 性质 |
|---|---|---|
| 出发地 | 北京 | 必填 |
| 目的地 | 上海 | 必填 |
| 日期 | 明天 | 必填 |
| 舱位 | 经济舱 | 选填 |
四个性质在后面反复用到。槽位集合是封闭的:槽在设计时就定死,用户在领域外提出的要求没有对应的格子可放。必填与选填决定追问顺序,对话策略的工作就是选下一个要问的槽。一句话可以填多个槽,那是抽槽的结果,不是多轮。已填的槽可以被覆盖,处理修正与冲突是对话状态跟踪的职责。
槽位与今天的工具 schema 是同一个东西:schema 里的字段名与类型,就是一套槽位定义;模型给参数赋值,就是填槽。两边都把槽位集合定死,区别只在「下一步填哪一项」由谁决定——经典 TOD 交给状态机或封闭状态空间上的策略,LLM Agent 交给模型自己。变的是决策核心,不是这个数据结构。
GUS(1977)用**框架(frame)**表示一个任务,框架里的槽就是上文所说的参数位。系统维护当前框架的填充状况:已填、未填、有冲突。用户一句话被分析后,用于填写或修正槽;若关键槽仍空,系统生成追问;槽足够时触发后端(当时是数据库查询),再生成回复。
这一结构后来的标准术语是:
| 术语 | 含义 |
|---|---|
| 领域(domain) | 系统被设计处理的任务范围,如「机票」 |
| 意图(intent) | 用户这句话属于哪一种任务模式,如 SetAlarm、PlayMusic |
| 槽位 / 槽值 | 该意图的参数名与当前值 |
| 对话状态 | 本轮为止的意图、槽值、待澄清项;有时含对话历史摘要 |
| 对话策略 | 根据状态选择下一系统动作:追问、确认、调用 API、结束 |
系统动作集合是封闭的。用户若提出领域外请求,经典 TOD 没有「现场发明新工具」的步骤,只能拒识或落入兜底回复。
消费级语音助手把 GUS 式循环接到语音与服务上,模块通常如下。名称因厂商而异,信息流一致。
循环存在:缺槽则追问,槽齐则调用,调用失败则报错或换策略。循环的控制图在部署前已经画好。这与「给一个开放目标,由决策核心选择尚未注册的工具并在失败后改写计划」不是同一对象。
POMDP 一线(Williams & Young 等,2000 年代至 2010 年代初)把对话状态写成对用户真实意图的概率分布,用强化学习在该信念上选动作,用来应对 ASR/NLU 错误。它增强的是在封闭任务内的鲁棒性,并不把任务集合或工具集合开放掉。
Siri。 CALO(Cognitive Assistant that Learns and Organizes)是 DARPA 资助、由 SRI 主导的认知助手项目。Siri Inc. 从相关技术衍生,2010 年 4 月被 Apple 收购。2011 年 10 月 4 日随 iPhone 4S 进入消费市场:语音作为入口,NLU 映射到 Apple 与合作方提供的服务(电话、短信、日历、天气、地图、部分网络查询等)。对用户而言,这是第一次在通用手机上大规模使用「说话 → 系统调服务」;对系统而言,仍是 TOD 流水线加封闭服务表。
Alexa。 2014 年 11 月 Echo 把同类流水线做成房间里的远场语音设备。Amazon 随后向第三方开放技能(Skill):开发者声明一组意图、每个意图的槽、以及服务端逻辑。这个开发者模型等于把 TOD 的领域—意图—槽位公开成 API。技能目录仍然是注册制,运行时不会在目录之外搜索新工具。
两者都达到了教材意义下的 Agent(感知语音,行动为调用 API)。两者都不满足 AI Agent 定义的四要素:决策核心不是 LLM(上线时以统计/规则 NLU 与状态机或统计策略为主),动作空间不开放,失败后的「改计划」被限制在该技能的策略图内。
| 术语 | 在这条材料里的含义 |
|---|---|
| 任务型对话 | 面向封闭任务、以填槽和调服务为完成条件的多轮对话 |
| 框架 / 槽位 | 任务的参数结构;对话过程就是填这个结构 |
| 意图 | 预定义的任务模式标签 |
| 对话状态跟踪 | 跨轮维护槽值与待澄清项 |
| 技能 / 服务目录 | 运行时可调用的封闭后端集合 |
| 闲聊 vs 任务型 | 无完成条件的开放交谈 vs 有槽位与 API 的封闭任务 |
它在封闭任务上填槽并调用后端。这条「助手调服务」的流水线,后来接上了 LLM 的工具选择。
它的循环是多轮追问、确认、调用、失败再报错,副作用作用在环境上:写日历、控灯、播歌。观察是 ASR 文本与 API 回执。决策核心是意图分类器加状态机(或封闭状态空间上的统计策略),不是 LLM。控制图在上线前闭合。
三件与年份叙事有关的事实:
GitHub Copilot(2021)是另一条助手:对代码的行级补全,人在环路,无目标循环。与 Siri 同列于助手,模态不同,结构同类。
TOD 的商业成功不使它成为 ReAct 的架构祖先。状态机填槽没有演变成开放工具循环;后者需要另一套决策核心与接口,时间在 2022–2023 年。
Vaswani 等,2017,Attention Is All You Need(NIPS 2017)。完全基于注意力的序列转换模型,去掉了循环与卷积。
原文:arXiv:1706.03762(HTML、PDF)。代码:https://github.com/tensorflow/tensor2tensor。
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin. Attention Is All You Need. NIPS 2017. arXiv:1706.03762(HTML、PDF)。八位作者均标注为同等贡献。文首注明:在注明出处的前提下,Google 允许在学术或新闻作品中复制该文的表与图。
中文译本:Arthur Chiao、GitHub LaTeX 中译、博客园。民间译本质量不一,英德/英法 BLEU 有的把摘要 41.8 和正文 41.0 抄混。
当时占主导的序列转换(sequence transduction)模型,建立在编码器—解码器结构上的复杂循环网络或卷积网络。表现最好的模型还会用注意力把编码器与解码器连起来。
本文提出一种简单网络架构 Transformer:只基于注意力机制,完全不用循环和卷积。在两项机器翻译任务上,质量更高、更易并行、训练时间显著更短。
循环神经网络,尤其 LSTM 与门控循环网络,已被确立为语言建模、机器翻译等序列建模与转换任务的主流。循环模型把计算沿符号位置展开:位置 (t) 的隐状态 (h_t) 依赖 (h_{t-1}) 与当前位置输入。这种顺序性阻碍单个训练样本内部的并行;序列一长,内存又限制跨样本的 batch,问题更严重。因子分解技巧、条件计算可以提高效率,但顺序计算这一条约束仍然在。
注意力已经是序列模型里的常规组件:它可以建模依赖,而不必管依赖在输入或输出里隔了多远。但除少数工作外,注意力仍与循环网络一起用。
本文提出 Transformer:去掉循环,完全靠注意力建立输入与输出之间的全局依赖。并行度显著提高;在 8 块 P100 上训练约 12 小时,即可达到新的翻译质量水平(指 base 模型)。
减少顺序计算,也是 Extended Neural GPU、ByteNet、ConvS2S 的出发点。它们用卷积对所有位置并行算隐表示。任意两个位置之间要建立联系,所需运算次数随距离增长:ConvS2S 线性,ByteNet 对数。远距离依赖因此更难学。
在 Transformer 里,这一次数变成常数。代价是对注意力加权位置做平均会降低有效分辨率;第 3.2 节用多头注意力抵消。
自注意力(self-attention,也称 intra-attention)把同一序列里不同位置联系起来,以计算该序列的表示。它已用于阅读理解、摘要、文本蕴含、与任务无关的句子表示等。端到端记忆网络用循环式注意力代替按序列对齐的循环,在简单问答与语言建模上有效。
据作者所知,Transformer 是第一个完全靠自注意力计算输入与输出表示、而不使用按序列对齐的 RNN 或卷积的转换模型。
多数有竞争力的神经序列转换模型是编码器—解码器。编码器把输入符号序列 ((x_1,\ldots,x_n)) 映射为连续表示 (\mathbf{z}=(z_1,\ldots,z_n))。解码器据此一次一个符号地生成 ((y_1,\ldots,y_m))。每一步是自回归的:生成下一个符号时,把已经生成的符号当作额外输入。
Transformer 沿用这一总体结构。编码器、解码器都用堆叠的自注意力和逐位置全连接层(原文 Figure 1 左右两半)。
编码器。 (N=6) 层相同的层。每层两个子层:多头自注意力;逐位置全连接前馈网络。每个子层外包残差连接,再接层归一化:
[ \mathrm{LayerNorm}(x + \mathrm{Sublayer}(x)) ]
所有子层以及嵌入层的输出维度均为 (d_{\mathrm{model}}=512),以便做残差。
解码器。 同样 (N=6) 层。在编码器那两个子层之外,插入第三个子层:对编码器栈的输出做多头注意力。同样使用残差与层归一化。解码器里的自注意力被改成不能看后续位置。这种掩码,再加上输出嵌入右移一个位置,保证对位置 (i) 的预测只依赖小于 (i) 的已知输出。
注意力:把一个 query 和一组 key–value 对映射到一个输出;四者都是向量。输出是 value 的加权和;每个 value 的权重由 query 与对应 key 的兼容性函数算出。
输入:维度 (d_k) 的 query 与 key,维度 (d_v) 的 value。用 query 与所有 key 做点积,再除以 (\sqrt{d_k}),经 softmax 得到 value 上的权重。一组 query 打成矩阵 (Q),key、value 打成 (K)、(V):
[ \mathrm{Attention}(Q,K,V)=\mathrm{softmax}\left(\frac{QK^{\top}}{\sqrt{d_k}}\right)V ]
两种常用注意力:加性注意力(Bahdanau 等)与点积(乘性)注意力。点积注意力与上式相同,只是没有 (1/\sqrt{d_k}) 这个缩放。加性注意力用单隐层前馈网算兼容性。理论复杂度相近,实践上点积可用高度优化的矩阵乘,更快、更省空间。
(d_k) 较小时两者表现接近;(d_k) 较大且不缩放时,加性更好。作者认为 (d_k) 大时点积幅值变大,把 softmax 推到梯度极小的区域(若 (q,k) 各维独立、均值 0 方差 1,则 (q\cdot k) 的方差为 (d_k))。因此除以 (\sqrt{d_k})。
不是用 (d_{\mathrm{model}}) 维做一次注意力,而是把 (Q,K,V) 用不同的、可学习的线性投影做 (h) 次,投影到 (d_k,d_k,d_v),再并行做注意力,把 (d_v) 维输出拼接起来,再投影一次:
[ \mathrm{MultiHead}(Q,K,V)=\mathrm{Concat}(\mathrm{head}_1,\ldots,\mathrm{head}_h)W^{O} ]
[ \mathrm{head}_i=\mathrm{Attention}(QW_i^{Q},,KW_i^{K},,VW_i^{V}) ]
其中 (W_i^{Q}\in\mathbb{R}^{d_{\mathrm{model}}\times d_k}) 等。多头让模型能同时从不同表示子空间、不同位置取信息;单头会被平均抑制。
本文 (h=8)。每个头 (d_k=d_v=d_{\mathrm{model}}/h=64)。头变窄之后,总计算量与全维度单头相近。
每个编码器、解码器层除注意力子层外,还有对每个位置单独、相同地施加的全连接前馈网:两层线性,中间 ReLU。
[ \mathrm{FFN}(x)=\max(0, xW_1+b_1)W_2+b_2 ]
不同位置共享同一套线性变换;层与层之间参数不同。也可看成核大小为 1 的两次卷积。输入输出维 (d_{\mathrm{model}}=512),内层 (d_{ff}=2048)。
与其他序列转换模型一样,用可学习嵌入把输入、输出 token 变成 (d_{\mathrm{model}}) 维向量。解码器输出经线性变换与 softmax,得到下一个 token 的概率。两个嵌入层与 softmax 前的线性变换共享同一权重矩阵。嵌入层中把这些权重乘以 (\sqrt{d_{\mathrm{model}}})。
模型没有循环也没有卷积,必须向序列注入相对或绝对位置信息。在编码器、解码器栈底部,把位置编码加到输入嵌入上;维度同为 (d_{\mathrm{model}}),以便相加。
本文用不同频率的正弦与余弦:
[ PE_{(pos,2i)}=\sin(pos/10000^{2i/d_{\mathrm{model}}}) ]
[ PE_{(pos,2i+1)}=\cos(pos/10000^{2i/d_{\mathrm{model}}}) ]
(pos) 是位置,(i) 是维度。波长从 (2\pi) 到 (10000\cdot 2\pi) 成几何级数。选择该函数是因为:对任意固定偏移 (k),(PE_{pos+k}) 可写成 (PE_{pos}) 的线性函数,便于按相对位置做注意力。
也试过可学习的位置嵌入,与正弦版本结果几乎相同(表 3 行 E)。选用正弦,是因为它可能外推到训练时未见过的序列长度。
比较自注意力、循环、卷积三类层:把变长符号序列 ((x_1,\ldots,x_n)) 映到等长 ((z_1,\ldots,z_n)),(x_i,z_i\in\mathbb{R}^{d})。三条标准:每层计算复杂度;可并行程度(最少顺序操作数);网络中长程依赖的路径长度。路径越短,长程依赖越好学。
表 1. (n) 为序列长度,(d) 为表示维度,(k) 为卷积核宽,(r) 为受限自注意力的邻域大小。
| 层类型 | 每层复杂度 | 顺序操作 | 最大路径长度 |
|---|---|---|---|
| 自注意力 | (O(n^{2}\cdot d)) | (O(1)) | (O(1)) |
| 循环 | (O(n\cdot d^{2})) | (O(n)) | (O(n)) |
| 卷积 | (O(k\cdot n\cdot d^{2})) | (O(1)) | (O(\log_{k} n)) |
| 受限自注意力 | (O(r\cdot n\cdot d)) | (O(1)) | (O(n/r)) |
自注意力用常数次顺序操作连接所有位置;循环需要 (O(n))。当 (n<d) 时(机器翻译里 word-piece / BPE 句子表示常见如此),自注意力比循环更快。极长序列可以把注意力限制在半径 (r) 的邻域,最大路径变为 (O(n/r));文中列为未来工作。
单层卷积在 (k<n) 时连不满所有位置对;要连满需要堆 (O(n/k)) 层(连续核)或 (O(\log_{k} n)) 层(膨胀卷积),从而加长最长路径。
附带好处:自注意力可能更可解释。附录可视化显示,不同头学会不同工作,不少头与句法、语义结构有关。
英德:WMT 2014,约 450 万句对;BPE,源/目标共享约 37,000 token 词表。英法:WMT 2014,3600 万句,32,000 word-piece 词表。按近似长度组 batch;每个训练 batch 约 25,000 个源 token 与 25,000 个目标 token。
一台机器、8 块 NVIDIA P100。base:每步约 0.4 秒,共 100,000 步(12 小时)。big:每步 1.0 秒,300,000 步(3.5 天)。
Adam,(\beta_1=0.9),(\beta_2=0.98),(\epsilon=10^{-9})。学习率:
[ lrate = d_{\mathrm{model}}^{-0.5}\cdot \min(\mathrm{step_num}^{-0.5},; \mathrm{step_num}\cdot \mathrm{warmup_steps}^{-1.5}) ]
前 (\mathrm{warmup_steps}) 步线性升高,之后按步数平方根的倒数下降。(\mathrm{warmup_steps}=4000)。
残差 Dropout。 每个子层输出在与输入相加、归一化之前做 dropout;嵌入与位置编码之和也做 dropout。base 模型 (P_{drop}=0.1)。
标签平滑。 (\epsilon_{ls}=0.1)。会损害困惑度(模型学得更不确定),但提高准确率与 BLEU。
表 2(newstest2014;训练成本为估计 FLOPs)。Transformer (big) 英德 28.4,英法 41.8;base 英德 27.3,英法 38.1。英德 big 比此前最佳(含集成)高 2 BLEU 以上。base 也超过此前所有已发表模型与集成,训练成本只占竞争模型的一小部分。英法 big 的训练成本不到此前 SOTA 的 1/4。英法 big 使用 (P_{drop}=0.1) 而非 0.3。
推理:base 对最后 5 个 checkpoint 做平均(每 10 分钟一个);big 平均最后 20 个。束搜索束宽 4,长度惩罚 (\alpha=0.6)。最大输出长度为输入长度 + 50,可提前结束。
在英德开发集 newstest2013 上改 base(束搜索,不做 checkpoint 平均)。要点(表 3):
输出有强结构约束,且比输入长得多。RNN seq2seq 在小数据上未达到当时 SOTA。4 层 Transformer,(d_{\mathrm{model}}=1024)。仅 WSJ(约 4 万句)F1 91.3;半监督(约 1700 万句)92.7。除 RNN Grammar 外,好于此前报告的模型。仅用 WSJ 4 万句时,也超过 BerkeleyParser。任务相关调参很少。
Transformer 是第一个完全基于注意力的序列转换模型,用多头自注意力替换编码器—解码器里最常用的循环层。翻译任务上,训练显著快于基于循环或卷积的架构;英德、英法均达到新的 SOTA,英德上最佳模型超过此前所有集成。
作者计划把 Transformer 扩展到文本以外的输入输出模态,研究局部、受限注意力以处理图像、音频、视频等大输入输出,并使生成不那么顺序化。
训练与评测代码:https://github.com/tensorflow/tensor2tensor。
编码器第 5 层(共 6 层)的自注意力:多个头关注动词 making 的远距离依赖,补全 making…more difficult。另有头表现为指代消解(如 its)。许多头表现出与句子结构相关的行为,且不同头做不同的事。
2017 年的对象是序列转换,主要战场是机器翻译。编码器—解码器与注意力已经是常规附件,主干仍是 RNN(或卷积)。三条障碍绑在一起:样本内的顺序计算无法并行;任意两个位置之间的路径随长度线性增长,长程依赖难以学习;注意力仍接在循环网络上,不是转换模型的默认计算。
解法是更换计算图:缩放点积自注意力让每个位置一步看到全序列(路径 (O(1)),层内顺序操作 (O(1)));多头注意力避免单次平均抹掉子空间;位置编码补回被移除的词序归纳偏置;解码器自注意力加掩码以保持自回归。翻译分数是结果。被改写的是「一层如何表示一段序列」这一层机制。
论文没有把自身写成语言模型骨架,也没有工具、循环或停机。结论中指出的下一步是其他模态、局部注意力,以及让生成少一点顺序化。
论文里的编码器与解码器,与今天 LLM 里被叫做「编码器」「解码器」的东西同名同源,但不是同一件事。区分有两条判据:有没有交叉注意力,注意力带不带因果掩码。
论文里两个组件的差别只在一层:
| 编码器 | 解码器 | |
|---|---|---|
| 每层子层数 | 2 | 3 |
| 子层 | 自注意力、前馈 | 因果自注意力、交叉注意力、前馈 |
| 能看哪儿 | 全序列,双向 | 自己只看之前的位置,交叉注意力看编码器全部输出 |
| 生成 | 不生成 | 自回归,一次一个 token |
关键是第三个子层。交叉注意力读的是编码器的输出,解码器每一步都回看源序列的表示——这才是「解码」二字的由来:把已经读进来的表示,逐个符号地解出来。
今天被叫做「编码器」「解码器」的有三样,用法并不相同。
编码器栈(BERT 一类):双向自注意力加前馈,两个子层,没有因果掩码,也不生成。它把整段文本读成一个表示。
解码器栈(GPT 一类):因果自注意力加前馈,也是两个子层,与 BERT 的层同为两层,区别只在掩码;交叉注意力被去掉了,因为没有编码器可供交叉注意。所以「GPT 只用解码器栈」是准确的,但不能读成「留了解码器、藏了编码器」——去掉第三个子层之后,解码器退化为带因果掩码的自注意力加前馈,名字留了下来,机制回到同一条流上。
多模态编码器(图像、语音):把别的模态投到 LLM 能读的输入空间里。它与论文里那个读源句子的编码器不是一回事,只是沿用了「先编码成表示」的思路。
另有一个同名而无关的用法:tokenizer 的 encode / decode,把字符串转成 token id 再转回来,与模型结构无关。
对后面的影响落在一处:决策核心是解码器栈,没有编码器,就没有一份「源序列表示」可以被反复交叉注意。上下文里的所有东西都是同一条流上的 token,当前观察、工具回执与历史对话彼此没有结构上的区分,只有位置与文字的差别。
第 4 节的复杂度表给出了后来一切的前提:层内可并行,任意两个 token 之间只有一条短路径。 循环网络每层要按位置串行,卷积要靠堆层数接通远处的位置,两条都挡住了「同时加深、加宽、加数据」。自注意力把这两条约束一起拿掉,剩下的事情交给规模。
论文给的是完整的编码器—解码器,后来的主流却收敛到只用解码器栈。这是工程合力的结果,不是论文的结论,至少四条原因叠在一起。下一个 token 预测不需要标注,互联网上任何文本都是训练数据,而编码器—解码器要为每个任务设计输入与输出的配对形式;任务本身被统一成格式问题,「把下面这段译成英文」写在提示里即可,不必为翻译单独留一个编码器;解码器栈每层只有两个子层,省掉了第二套栈与交叉注意力的显存和算力;KV cache 可以复用,生成时每一步只新增一个 token 的代价,多轮对话与 Agent 循环都吃这一条。
把这次转向读成架构上的必然,我认为会漏掉另一半事实。理解类任务(SuperGLUE 一类)上,编码器栈与编码器—解码器仍然占优;指令微调之后,编码器—解码器可以用明显更省的推理达到相近的少样本表现;嵌入与检索这一支至今主要用编码器栈。这次转向本身也缺少同算力下的严格对照,有研究把两类模型放到同一算力最优前沿上比较后指出,编码器—解码器的潜力可能被低估。真正的推动力更像是两件事撞在一起:生成类任务在 2019 年之后变得重要,而解码器栈最容易扩规模。
位置编码成为一条独立的研究线。论文第 3.5 节选正弦编码,理由是它可能外推到训练时未见的长度;后来的相对位置、RoPE、ALiBi 都在回答同一个问题,「第几步、哪一段」这个信息如何在不引入循环的前提下表达得更好。这条线一直通到长上下文模型。
表 1 里那行 (O(n^{2}\cdot d)) 也没有消失,只是被绕着走。FlashAttention 改的是显存读写顺序,不是复杂度;PagedAttention 改的是 KV cache 的碎片;滑窗与线性注意力用近似换更长的上下文;MoE 在规模一侧把参数量与算力解耦。这些手段搬动了常数与曲线,没有改变二次方这一项。
GPT-3 的上下文学习与 Codex 的代码生成,用的都是这副骨架上训练出的解码器语言模型。它们不是这篇论文的实验内容,但都预设了这篇论文改过的计算图。
AI Agent 需要的决策核心,要能读一段开放文本并生成下一步。Transformer 提供的是表示与自回归生成结构,不是策略循环;一次前向计算,是在已有 token 上预测后续 token。这个结构留下三件对 Agent 直接起作用的事实。
上下文就是工作集,KV cache 是它的物理载体。「当前观察」在实现上不是一份被解析出来的状态,而是窗口里的一段 token,以及为它们算好的注意力键值。会话继续,cache 就继续追加;换一条会话,整段前缀要重新计算。窗口大小因此不是界面上的一个参数,而是这个循环一次能看见多少环境回执的物理上限。
动作只能是 token。 模型唯一的输出面是下一个 token 的概率分布,它没有别的通道。要用工具、要调 API、要改文件,都必须先把动作序列化成它能生成的东西:早期是约定格式的文本,2023 年 6 月之后是可校验的 JSON 调用,也有把工具做成特殊 token、或把动作写进代码块的做法。工具调用长成今天这个形状,原因在这里——不是接口设计选中了文本,而是输出面只有文本。
成本结构决定了 Agent 的工程形状。 prefill 阶段的注意力成本随长度平方增长,decode 阶段受显存带宽限制,而多轮循环会反复重新计算同一段前缀。这就是为什么前缀缓存、KV 复用与上下文压缩在 Agent 系统里是基础设施而不是优化项:一个跑二十轮的循环,开销的主要部分往往不在生成新内容,而在反复读同一段历史。
| 论文里的机制 | 后来在 Agent 里对应的物理事实 |
|---|---|
| 自注意力一步连接全序列 | 当前观察可以整段进入上下文 |
| 掩码自注意力、自回归 | 下一步以文本(或后来的工具调用)逐 token 生成,动作只能序列化进这个通道 |
| (O(n^{2})) 与有限窗口 | 一次循环能够容纳的回执有上限;超出后只能截断、检索或外挂记忆 |
| KV cache 随会话增长 | 状态就是这段前缀;多轮循环反复重算同一段历史,前缀复用因此成为基础设施 |
| 位置编码 | 「第几步、哪一段」对模型而言不是免费的 |
| 训练可并行、模型可做大 | 核心的能力随规模上升;2022 年 CoT「规模足够大才有效」,前提正是这种结构 |
时间线把它标成底层能力里的范式更替:没有可扩展的条件生成器,后面就没有可讨论的 LLM 核心。
Brown 等,2020,Language Models are Few-Shot Learners(NeurIPS 2020)。1750 亿参数自回归语言模型,系统测量 in-context learning:推理时把任务说明和少量示例写进上下文,不做梯度更新。
目录曾起草为 context。这一节记的是这篇论文,不是后来的「上下文工程」或记忆基础设施,所以栏目名与路径都用 GPT-3。要记住它的原因仍是上下文学习:不改权重也能做新任务。
原文:arXiv:2005.14165(PDF)。代码与数据说明:https://github.com/openai/gpt-3。
Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, Dario Amodei. Language Models are Few-Shot Learners. NeurIPS 2020. arXiv:2005.14165(PDF)。Brown、Mann、Ryder、Subbiah 标注为同等贡献。
中文译本:AI千集、51CTO(翻译与解读)。
近年 NLP 的主流是:在大规模语料上预训练,再在具体任务上微调。架构已经与任务无关,但仍需要每个任务数千到数万条标注。人类通常只需少量示例或一句指令就能做新的语言任务;当时的 NLP 系统大体做不到。
本文表明:把语言模型做大,会显著提高与任务无关的少样本(few-shot)表现,有时可以和此前基于微调的 SOTA 竞争。作者训练 GPT-3:1750 亿参数的自回归语言模型,比此前任何非稀疏语言模型大约大 10 倍,并在 few-shot 设定下评测。所有任务都不做梯度更新、不微调;任务与示例只通过与模型的文本交互给出。
GPT-3 在翻译、问答、完形填空等许多 NLP 数据集上表现强,也能做一些需要当场推理或领域适应的任务(单词还原、用新词造句、三位数算术)。同时,作者标出 few-shot 仍然吃力的数据集,以及在大规模网络语料上训练带来的方法学问题。GPT-3 生成的新闻稿,人类评测者难以与真人文章区分。文中讨论了这一发现及 GPT-3 更广泛的社会影响。
NLP 从「为每个任务学表示、设计结构」转到「任务无关的预训练 + 任务无关的架构」。词向量、多层 RNN、再后来直接微调预训练的 Transformer 语言模型,任务专用结构逐步被拿掉。仍留下最后一步:为每个任务准备大规模标注并微调。
去掉这一步的理由,正文写成三条:
一条路线是 meta-learning:训练时发展出广泛的技能与模式识别,推理时迅速适应或识别当前任务。脚注澄清用词:GPT-2 一文常说 “zero-shot task transfer”,但有时在上下文里给了示例,并不是真正从零个例子学习。本文用 meta-learning 指外环(梯度下降预训练)/ 内环结构;内环称为 in-context learning(上下文学习);再按推理时给几个示范分成 zero-shot / one-shot / few-shot。这些词对「推理时真的在学新任务,还是只是认出训练时见过的模式」保持开放。
GPT-2 已展示 in-context learning,但离微调差距很大(例如 Natural Questions 仅 4%,CoQA 55 F1 落后当时 SOTA 35 分以上)。同时 Transformer 语言模型从约 1 亿参数扩到 170 亿,验证损失随规模近似平滑改善。作者的假设是:上下文学习能力同样会随规模大幅上升。
本文训练 1750 亿参数模型 GPT-3,在二十多个 NLP 数据集以及若干专门设计的、训练里不太可能直接出现的新任务上,各测三种条件:
原则上也可以微调 GPT-3,本文不做,留给后续工作。这些「学习曲线」不包含梯度更新,只是增加作为条件的示范数量。
若干摘录数字(后文表格更全):CoQA zero/one/few-shot 为 81.5 / 84.0 / 85.0 F1;TriviaQA 为 64.3% / 68.0% / 71.2%(few-shot 在闭卷设定下相对微调模型为 SOTA)。few-shot 在 ANLI、RACE、QuAC 等任务上仍然吃力。作者系统测量训练数据对基准的污染;多数数据集影响很小,少数标注,或不予报告。
另外训练一组更小的模型(1.25 亿到 130 亿参数)作对照。多数任务上,三种设定都随容量平滑上升;zero / one / few-shot 之间的差距往往随模型变大而变大,作者认为这暗示更大的模型更善于 meta-learning。
预训练流程与 GPT-2 相近,主要是把模型、数据多样性与训练量做大。本文把「在上下文里学习」的设定写清楚,并对照传统微调。
| 设定 | 权重 | 推理时给什么 | 作者写的利弊 |
|---|---|---|---|
| Fine-tuning | 更新 | 每任务数千到数十万标注 | 基准强;每任务要新数据集;分布外泛化与虚假特征有风险。本文不做 |
| Few-shot | 不更新 | (K) 个「上下文+补全」示范,再给一个待补全的上下文。(K) 通常 10–100,受窗口 (n_{\mathrm{ctx}}=2048) 限制 | 大幅减少任务数据;仍需要少量任务数据;此前结果远弱于微调 SOTA |
| One-shot | 不更新 | (K=1),另可加任务的自然语言描述 | 更接近向人布置任务时只给一个例子 |
| Zero-shot | 不更新 | 只有自然语言指令 | 最省事、也最难;有时对人来说没有例子也很难弄清格式 |
本文关注后三种,把它们当成不同的问题设定(基准表现 vs 样本效率),而不是互斥的方法。few-shot 数字最高;one-shot 甚至 zero-shot 被作者视为与人类表现更公平的对照,也是后续目标。
与 GPT-2 相同的自回归 Transformer(含其改进的初始化、pre-normalization、可逆分词),例外是层间交替使用稠密注意力与局部带状稀疏注意力(类似 Sparse Transformer)。共 8 档规模,全部训练 3000 亿 token,窗口均为 (n_{\mathrm{ctx}}=2048)。前馈层宽度为 (d_{\mathrm{ff}}=4\cdot d_{\mathrm{model}})。
表 2.1(摘录)
| 名称 | 参数 | 层数 | (d_{\mathrm{model}}) | 头数 | (d_{\mathrm{head}}) | batch(token) | 学习率 |
|---|---|---|---|---|---|---|---|
| Small | 125M | 12 | 768 | 12 | 64 | 0.5M | (6.0\times 10^{-4}) |
| Medium | 350M | 24 | 1024 | 16 | 64 | 0.5M | (3.0\times 10^{-4}) |
| Large | 760M | 24 | 1536 | 16 | 96 | 0.5M | (2.5\times 10^{-4}) |
| XL | 1.3B | 24 | 2048 | 24 | 128 | 1M | (2.0\times 10^{-4}) |
| 2.7B | 2.7B | 32 | 2560 | 32 | 80 | 1M | (1.6\times 10^{-4}) |
| 6.7B | 6.7B | 32 | 4096 | 32 | 128 | 2M | (1.2\times 10^{-4}) |
| 13B | 13.0B | 40 | 5140 | 40 | 128 | 2M | (1.0\times 10^{-4}) |
| 175B(即 GPT-3) | 175.0B | 96 | 12288 | 96 | 128 | 3.2M | (0.6\times 10^{-4}) |
按 Kaplan 等 scaling laws,相对常见做法是「更大的模型、更少的 token」;文中称 30 亿参数的 GPT-3 与 RoBERTa-Large(3.55 亿)预训练算力大约都是 50 petaflop/s-days 量级。模型沿深度与宽度切到多 GPU。
Common Crawl 量级已够让最大模型不必对同一序列更新两次,但未过滤或轻过滤的质量低于精选语料。三步:按与高质量参考语料的相似度过滤;文档级模糊去重(集内与跨集);再混入已知高质量语料(扩展 WebText、Books1、Books2、英文维基)。过滤前压缩明文约 45TB,过滤后约 570GB,约 4000 亿 BPE token(2016–2019 共 41 个 CC 月度分片)。
训练时不按数据集大小比例采样,高质量集合采得更勤。训 3000 亿 token 时,有的集合看到约 3.4 遍,Common Crawl 与 Books2 不到 1 遍。
表 2.2
| 数据集 | token 量 | 训练混合权重 | 训 300B token 时经过的 epoch |
|---|---|---|---|
| Common Crawl(过滤后) | 4100 亿 | 60% | 0.44 |
| WebText2 | 190 亿 | 22% | 2.9 |
| Books1 | 120 亿 | 8% | 1.9 |
| Books2 | 550 亿 | 8% | 0.43 |
| Wikipedia | 30 亿 | 3% | 3.4 |
作者试图去掉与所测基准开发/测试集的重叠。过滤有 bug,部分重叠被漏掉;因训练成本未重训。第 4 节量化剩余污染。训练数据以英语为主(按词数约 93%),其余语言约 7%。
更大模型用更大 batch、更小学习率;用梯度噪声尺度选 batch。矩阵乘内部与层间都做模型并行。V100,微软提供的高带宽集群。细节在附录 B。
few-shot:对评测集每条,从该任务训练集随机抽 (K) 条作条件,示例之间用 1 或 2 个换行分隔。LAMBADA、StoryCloze 无监督训练集,则从开发集抽、在测试集评。(K) 从 0 到窗口能放下的上限;更大 (K) 通常更好但不总是。有独立开发集时,在开发集上试几个 (K),再把最好的拿到测试集。部分任务另加自然语言 prompt。
多选题:比较各补全的语言模型似然;多数按 token 均长;ARC、OpenBookQA、RACE 等还用无条件补全概率归一化。二分类把选项写成有语义的词(True/False)再当多选。自由生成用束搜索(束宽 4,长度惩罚 (\alpha=0.6))。测试集公开则报测试集;私有测试集且模型塞不进评测服务器时,报开发集。少数(SuperGLUE、TriviaQA、PIQA)提交了约 175B 的 few-shot。
交叉熵验证损失相对训练算力仍近似幂律,比 Kaplan 等再外推两个数量级,偏离很小。下文按九类任务报告 8 个模型在 zero / one / few-shot 下的结果。
不检索外部文档,也不在 QA 集上微调,比先前闭卷设定更严。
表 3.3
| 设定 | NaturalQS | WebQS | TriviaQA |
|---|---|---|---|
| RAG(微调,开域) | 44.5 | 45.5 | 68.0 |
| T5-11B+SSM(微调,闭卷) | 36.6 | 44.7 | 60.5 |
| T5-11B(微调,闭卷) | 34.5 | 37.4 | 50.1 |
| GPT-3 zero-shot | 14.6 | 14.4 | 64.3 |
| GPT-3 one-shot | 23.0 | 25.3 | 68.0 |
| GPT-3 few-shot | 29.9 | 41.5 | 71.2 |
TriviaQA few-shot 超过当时开域微调 SOTA(含检索)。NQs / WebQS 从 zero-shot 到 few-shot 跳得大,作者认为可能有分布偏移;NQs 偏维基细粒度知识。三条任务上表现都随模型容量平滑上升。
数据是多语混合,不是成对回译。one/few-shot 给 1 或 64 个句对,与先前无监督 NMT 不完全可比。zero-shot 低于当时无监督 NMT;one-shot 约高 7 BLEU;few-shot 再高约 4 BLEU,平均接近先前无监督工作。译入英语明显强于译出英语。En→Ro 差 10+ BLEU,作者怀疑 GPT-2 的 byte-level BPE 几乎按英语设计。随容量平滑变好。
原版 Winograd(273 条):zero/one/few-shot 约 88.3 / 89.7 / 88.6,看不出明确的 in-context 增益,但已接近微调 SOTA。Winogrande:70.2 / 73.2 / 77.7,few-shot 接近微调 RoBERTa-large(79),低于 T5 微调 84.6 与人类 94.0。
常识(PIQA、ARC、OpenBookQA)与阅读理解(CoQA、DROP、RACE、QuAC 等)表现不一。CoQA few-shot 85.0 F1,距人类基准约 3 分。DROP few-shot 超过原论文 BERT 微调,仍远低于带符号系统的 SOTA。部分阅读任务 few-shot 仍然弱。
SuperGLUE few-shot 每任务上下文 32 个示例,不更新权重。COPA、ReCoRD 接近 SOTA;BoolQ、MultiRC、RTE、WSC 大致相当于微调 BERT-Large;WiC 接近随机。作者注意到:需要比较两句或两段的任务(WiC、RTE、CB、ANLI)是明显弱点。ANLI Round 3:小模型停在随机附近,175B few-shot 从随机到 SOTA 的差距大约补上一半。
为探测「当场计算、认出训练里不太可能出现的新模式、迅速适应古怪任务」而专门设计。
算术(必须精确生成正确答案;每任务 2000 题)。GPT-3 175B few-shot:两位数加法 100%、两位数减法 98.9%、三位数加法 80.4%、三位数减法 94.2%;四位数约 25–27%,五位数约 9–10%;两位数乘法 29.2%;一位数复合运算 21.3%。从 13B 到 175B 有明显跳跃;13B 两位数加减大约一半对,其余运算多低于 10%。在训练集里检索三位数加减,命中极低(加法 0.8%,减法 0.1%);错例常像忘了进位。zero-shot 已明显强于小模型的 few-shot。
字母操作(循环字母、部分打乱、插入符号、倒序等)。few-shot 随规模上升;倒序单词所有模型几乎都做不到。zero-shot 几乎不会,one-shot 大约掉一半,作者据此认为这些任务更像推理时学会。BPE 平均约 0.7 词/token,要成功还需要解析 token 的内部结构。
SAT 类比:few/one/zero-shot 65.2% / 59.1% / 53.7%;报考者平均 57%,随机 20%。175B 比 13B 高 10 分以上。
新闻生成:用 3 篇真新闻作 few-shot 条件,再给标题与副标题生成短稿。人类区分约 200 词稿件:对照劣质模型准确率 86%,GPT-3 175B 52%(几乎随机)。约 500 词实验仍约 52%。这是后文讨论误用的经验锚点。
另有用新词造句、改语法等定性例子(原文与附录)。
数据与模型都比 GPT-2 大约两个数量级,且含大量 Common Crawl。相对去重后的验证集,175B 没有显著过拟合训练集。对每个基准做「干净」子集:去掉与预训练集有 13-gram 重叠的例子(更短则整例重叠)。多数任务干净子集分数与全集几乎相同,污染程度与分数差也不相关。作者结论:要么检测方法过严,要么污染对报告分数影响很小。最麻烦的任务细节在附录;少数结果标星或未报告。
作者自己列出的限度,不是后来评论:
有益用途:代码与写作补全、语法、游戏叙事、搜索、问答。有害用途随生成质量上升而扩大。重点写误用与偏见,并短论能耗。
误用:依赖高质量文本的有害活动(虚假信息、垃圾、钓鱼、滥用法律与行政程序、代写、社会工程)。人类评测难以区分合成新闻,被标成一个值得警惕的节点。作者监测论坛后认为,对中低技能行动者,当时威胁不是立即的,但可靠性再升可能改变这一点。
偏见:互联网训练的模型带互联网尺度的偏见。对 175B 及更小模型做了性别—职业、种族、宗教等探测(例如中性句「The {occupation} was a」后,388 个职业里 83% 更常接男性标识)。正文强调这是初步分析,不是穷尽。
规模:Kaplan 等幂律;从原版 Transformer 2.13 亿、BERT 3 亿、GPT-2 15 亿、Megatron 80 亿、T5 110 亿、Turing-NLG 170 亿,到本文 1750 亿。另一条是 MoE 条件计算(参数多、算力不按比例增)。蒸馏、自适应计算时间、Universal Transformer。自然语言指令、多任务微调、元学习(文中称把示范放入上下文,在结构上最接近 RL(^2):外环改权重,内环适应任务)。作者承认过去两年大量算法进展(双向去噪、encoder-decoder、排列语言模型等),本文为聚焦 in-context 并降低大模型实现复杂度,仍用纯自回归。
1750 亿参数语言模型在 zero / one / few-shot 下,许多 NLP 任务表现强,有时接近微调 SOTA;能生成高质量样本,并在当场定义的任务上有定性能力。不微调时,表现随规模大致可预测。尽管有许多限度与弱点,这些结果暗示:非常大的语言模型可能是可适应、通用语言系统的重要组成部分。
训练由 OpenAI 资助;模型在微软提供的 V100 集群上训练。
2020 年卡住的是适应方式:架构已经与任务无关,BERT 与 GPT-2 已经证明预训练有效,但每个新任务仍然需要大规模标注并更新权重。任务数量太多;窄分布微调会学到虚假相关;人也并不这样学习。GPT-2 已经把示范写进上下文,分数距离微调仍远。要检验的假设只有一句:上下文学习是否会随规模变强。
主干仍是 GPT-2 式解码器。实验设计做了两处改动:把 zero-shot、one-shot、few-shot 分开测量,权重一律不动,使「提示」成为可测量的设定;把规模做成自变量,从 1.25 亿到 1750 亿共 8 档。多数任务上,few-shot 随规模上升的斜率比 zero-shot 更陡。翻译、闭卷问答与算术是这条假设的测量手段,不是终点。被改写的是任务接口:从修改权重,改为修改这段作为条件的文本。
论文没有工具循环。第 5 节自己标出了缺口:有用的系统最终也许应当被理解为在采取有目标的行动。我认为这是理解这一节的关键——那是作者留下的空位,不是后人为它补上的功能。
任务接口从数据集变成上下文里的字符串。few-shot 把示范与待补全拼成一段条件,后来的系统提示、角色句、工具说明都是同一接口上的用法。一个基座、许多下游,不必为每个任务保存一份微调权重。InstructGPT 与 ChatGPT 改的是指令跟随,并不取消这条接口。
窗口就是工作集上限:文中 (K) 取 10–100,因为 (n_{\mathrm{ctx}}=2048)。后来做到 8k、32k、100k 以上,是在放宽同一条约束。规模是条件而非装饰:同样的提示,小模型用不上。评测污染在第 4 节已经被写成方法学问题。
它仍然是补全模型。听话的对话形态,要到 2022 年的 InstructGPT 与 ChatGPT 才送到大众面前。
决策核心必须在不重新训练的前提下,读懂这一轮传入的指令、工具回执与失败原因,并生成下一步。GPT-3 测到的正是「新信息写进上下文就能改变行为」。Transformer 提供计算图;GPT-3 提供推理时的适应方式。Agent 把 Observation 当作工作集,用的是同一机制。
| 论文里的机制 | 后来在 Agent 里对应的物理事实 |
|---|---|
| in-context learning,权重不动 | 观察、工具 JSON、摘录作为「这一步的条件」,不必为每个环境训练一个模型 |
| (n_{\mathrm{ctx}}=2048) | 一次循环能够看到的回执有上限;超出后只能截断、检索或外挂记忆 |
| zero-shot 只有自然语言说明 | 后来的系统提示;当时弱于 few-shot,指令跟随不稳定 |
| 外环预训练 / 内环上下文 | 慢学习在权重里,快适应在这一次前向中。Agent 循环用的是内环 |
| 第 5 节:助手应是有目标的行动 | 作者把缺口留给「行动」;工具循环、ReAct 与 Function Calling 是后来接上的,不是这篇已经实现的功能 |
时间线标成底层能力里的首证:工作集从此有了可寻址的载体。
Lewis 等,2020,Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks(NeurIPS 2020)。预训练 seq2seq 接可检索的维基百科稠密索引,端到端微调。
原文:arXiv:2005.11401(HTML、PDF)。代码后来收入 Hugging Face Transformers。
Patrick Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich Küttler, Mike Lewis, Wen-tau Yih, Tim Rocktäschel, Sebastian Riedel, Douwe Kiela. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 2020. arXiv:2005.11401(v4,2021-04)。作者单位包括 Facebook AI Research、University College London、New York University。
中文译本:宝玉。
大规模预训练语言模型可以把事实知识存在参数里,微调后在许多 NLP 任务上达到当时最好水平。但访问并精确操纵这些知识的能力仍有限,知识密集型任务上落后于任务专用结构。如何给预测提供出处、如何更新世界知识,仍是开放问题。带可微访问机制、显式非参数记忆的预训练模型,此前主要只在抽取式下游任务上被研究。
本文给出一种通用微调配方 retrieval-augmented generation (RAG):把预训练的参数记忆与非参数记忆结合起来做语言生成。参数记忆是预训练 seq2seq 模型;非参数记忆是维基百科的稠密向量索引,由预训练神经检索器访问。比较两种写法:整段生成共用同一批检索段落;每个 token 可以使用不同段落。在多种知识密集型任务上微调与评测;三个开域问答任务上达到当时最好,超过纯参数 seq2seq 以及任务专用的「检索再抽取」结构。生成任务上,比当时最好的纯参数 seq2seq 基线更具体、更多样、更符合事实。
预训练语言模型可以从数据里学到相当深的知识,不必访问外部记忆,相当于参数化的隐式知识库。代价是:记忆不容易扩展或修订;预测不容易给出依据;可能产生幻觉。混合参数记忆与非参数(检索)记忆可以缓解:知识能直接修订、扩展,被访问的内容可检查。REALM 与 ORQA 把掩码语言模型与可微检索器结合,结果可观,但只做了开域抽取式问答。本文把这种混合记忆接到当时 NLP 的主力结构——seq2seq 模型上。
RAG:参数记忆是预训练 seq2seq Transformer;非参数记忆是维基百科稠密索引,由预训练神经检索器访问。检索器是 DPR,按输入给出潜在文档;生成器是 BART,同时条件于这些文档与输入。对潜在文档做 top-K 近似边际化:按整段输出(同一文档负责所有 token)或按 token(不同文档负责不同 token)。与 T5 / BART 一样,RAG 可在任意 seq2seq 任务上微调,生成器与检索器一起学。
与从零训练的记忆网络等不同:这里两块记忆都已预训练、预装大量知识。用预训练好的访问机制,不必再训一遍才能访问知识。
知识密集型任务:人若没有外部知识源,无法合理完成。RAG 在 open Natural Questions、WebQuestions、CuratedTrec 上达到当时最好;TriviaQA 上明显超过使用专用预训练目标的近期方法。这些本是抽取式任务,作者发现无约束生成反而超过先前抽取方法。生成侧做了 MS-MARCO 与 Jeopardy 问题生成。FEVER 事实验证距使用强检索监督的流水线 SOTA 约 4.3%。非参数记忆可以替换,以便世界变化时更新知识。
输入序列 (x) 用来检索文档 (z),再作为额外上下文生成目标序列 (y)。两块:(i) 检索器 (p_\eta(z|x)),按查询给出(截断到 top-K 的)段落分布;(ii) 生成器 (p_\theta(y_i|x,z,y_{1:i-1})),根据已生成 token、原输入与检索段落生成当前 token。
把检索到的文档当潜变量,端到端训练。两种边际化:
RAG-Sequence。 同一篇检索文档生成整段。top-K 近似:
[ p_{\text{RAG-Sequence}}(y|x)\approx\sum_{z\in\text{top-}k}p_\eta(z|x),p_\theta(y|x,z) =\sum_{z\in\text{top-}k}p_\eta(z|x)\prod_i p_\theta(y_i|x,z,y_{1:i-1}) ]
RAG-Token。 每个目标 token 可以对应不同潜在文档,生成器可从多篇里取内容:
[ p_{\text{RAG-Token}}(y|x)\approx\prod_i\sum_{z\in\text{top-}k}p_\eta(z|x),p_\theta(y_i|x,z,y_{1:i-1}) ]
序列分类把类别当成长度 1 的目标序列,此时两种模型等价。
双编码器:(p_\eta(z|x)\propto\exp(\mathbf{d}(z)^\top\mathbf{q}(x))),(\mathbf{d}(z)=\mathrm{BERT}_d(z)),(\mathbf{q}(x)=\mathrm{BERT}_q(x))。top-K 是最大内积搜索(MIPS),可近似亚线性求解。用 DPR 预训练的双编码器初始化检索器并建索引。该检索器原为 TriviaQA 与 Natural Questions 上「检索含答案的文档」而训。文档索引即非参数记忆。
任意编码器—解码器均可。本文用 BART-large(约 4 亿参数)。把 (x) 与检索内容 (z) 拼接后送入 BART。BART 参数 (\theta) 即参数记忆。
检索器与生成器联合训练,不对「该检索哪篇」做直接监督。最小化目标的负边际对数似然。更新文档编码器 (\mathrm{BERT}_d) 代价高(索引要像 REALM 那样周期性重建)。作者发现不必如此也能得到强结果:文档编码器与索引固定,只微调查询编码器 (\mathrm{BERT}_q) 与 BART。
RAG-Token 可看成标准自回归 seq2seq,把对文档的边际化折进转移概率,用普通束搜索。
RAG-Sequence 的 (p(y|x)) 不能拆成常规的逐 token 似然。对每篇 (z) 各做一次束搜索,再对未出现在所有束里的假设补前向,乘上 (p_\eta(z|x)) 后求和。称为 Thorough Decoding。更长输出时候选集变大;可近似认为束搜索没生成过的 (y) 概率为 0,避免额外前向,称为 Fast Decoding。
非参数知识源:单一维基百科转储(2018 年 12 月,与 Lee et al.、Karpukhin et al. 一致)。每篇切成互不相交的约 100 词块,共 2100 万文档。FAISS + HNSW 建 MIPS 索引。训练时每查询检索 top (k\in{5,10});测试时的 (k) 用开发集选。
开域 QA。 问题与答案当输入—输出对,直接最小化答案的负对数似然。对照抽取式(答案是检索文档中的跨度,主要靠非参数知识)与闭卷生成(T5 等,纯参数、不检索)。数据集:NQ、TriviaQA、WebQuestions、CuratedTrec。WQ、CT 较小,用 NQ 上的 RAG 初始化。报 Exact Match。TriviaQA 另报与 T5 可比的 Wiki 测试集。
抽象问答。 MS-MARCO NLG v2.1:不用官方提供的十篇金段落,只问与答,当成开域抽象 QA。部分题没有金段落无法对上参考答案;部分题仅靠维基百科答不了,此时可靠参数知识。
Jeopardy 问题生成。 给定实体,生成 Jeopardy 式精确事实问句。SearchQA 划分。对照 BART。指标 Q-BLEU-1;另做事实性与特异性的成对人工评测。
事实验证。 FEVER:判断断言被维基支持、反驳或信息不足。把三类标签映射成单 token,直接用断言—类别对训练。不用检索证据的监督。报 3 分类与 2 分类标签准确率。
开域 QA(表 1,测试集 EM)。 RAG-Sequence:NQ 44.5,TQA 56.8 / 68.0(标准 / Wiki),WQ 45.2,CT 52.2。RAG-Token:NQ 44.1,WQ 45.5。均超过闭卷 T5-11B+SSM(NQ 36.6,WQ 44.7)与开域 REALM / DPR。作者强调:不必昂贵的 salient span masking 预训练;也不必 DPR 那套 cross-encoder 重排 + 抽取式阅读器。生成的好处:文档里只有线索、没有答案原文时仍能贡献;检索集里完全没有正确答案时,NQ 上仍有 11.8% 准确率(抽取模型为 0)。
MS-MARCO。 RAG-Sequence 相对 BART 高 2.6 BLEU、2.6 Rouge-L。接近使用金段落的 SOTA。定性上幻觉更少。
Jeopardy。 RAG-Token 的 Q-BLEU 高于 RAG-Sequence 与 BART。人工(452 对):BART 更符合事实仅 7.1%,RAG 更符合事实 42.7%。特异性同样 RAG 明显更好。作者用 Hemingway 一例说明:不同 token 的文档后验会在不同书名上高峰,参数记忆随后能自己补全书名——非参数成分把参数里的具体知识「抽」出来。
FEVER。 3 分类距当时流水线 SOTA 约 4.3%;2 分类距给定金证据句的 RoBERTa 约 2.7%。top-1 检索文档与金证据文章重叠 71%,top-10 含金文章 90%。
多样性。 不靠多样性解码,RAG 的 distinct trigram 比例高于 BART。
消融。 冻结检索器全面变差。把稠密检索换成固定 BM25:FEVER 上 BM25 更好(断言偏实体、适合词重叠);其余任务尤其开域 QA,可微检索关键。
索引热替换。 2016-12 与 2018-12 两份维基索引。对 82 位在两日期之间换人的领导人,用「Who is {position}?」查询 NQ 模型:匹配年份的索引约 70% / 68% 正确;错配索引降至 12% / 4%。换非参数记忆即可更新世界知识,不必重训。
训练用 5 或 10 篇差别不大。测试时多检索:RAG-Sequence 的开域 QA 单调变好;RAG-Token 约在 10 篇见顶。
把先前「检索帮单个任务」的成功收成同一套检索架构微调到多种任务。对照无检索的通用架构(GPT-2、BART、T5)、可学习检索、记忆网络、retrieve-and-edit。索引是原文而非分布式表示:人能读(可解释),人能写(改索引即改记忆)。
结论:混合生成模型在开域 QA 上达到当时最好;人更偏好 RAG 而非纯参数 BART;检索可学、索引可热替换。后续可考虑两块从零联合预训练。
社会影响:更贴维基事实、幻觉更少、更可控制;维基本身仍有偏差;也可被用来生成误导内容。风险缓解思路与 GPT-2 讨论同类。
2020 年 5 月,与 GPT-3 几乎同期。当时预训练已能把事实压进参数,REALM 与 DPR 已能做到先检索再抽取。三条缺口并列:参数知识难以修改、难以核查、且会产生幻觉;可微检索当时主要服务于抽取式阅读,答案必须落在原文跨度内;生成模型仍是闭卷的,知识密集型生成落后于任务专用结构。
RAG 给出的是配方,不是新的骨干网络。检索器沿用现成的 DPR,生成器沿用现成的 BART,把检索到的文档当作潜变量,用答案似然端到端微调查询编码器与生成器。索引固定,可以热替换;生成不必等于抽取。它测量的终点是开域问答与若干生成、分类基准,而不是「模型自行决定何时重新检索」。
这个词在日常使用中含义更宽,泛指任意「先检索一段,再放进提示」的做法;论文的定义更窄,把参数记忆与非参数记忆写成一对可替换的组件。出处绑定在被检索的段落上,是后来「带引用作答」在结构上的前身,WebGPT 把引用改成了一次浏览动作。更换维基索引即可改变「谁是总统」的答案;在产品里更换向量库,走的是同一条路径。
限度需要写清楚:仍然只有一次前向。 检索、拼接、生成三步走完即结束,没有「看过回执再决定是否继续检索」的外循环。训练需要微调,不是 GPT-3 那种纯上下文学习。2023 年以后企业知识库助手沿用了这个名称,实现常常换成「嵌入加提示拼接」,不再做论文里的 token 级边际化。
我在整理带外部知识的 Agent 时,几乎都能看到「生成之前先检索」这一步。RAG 给出的是这条路径的单次形态:外部知识以检索段落的形式进入上下文,决策核心仍然只做一次生成。它补的是 GPT-3 上下文装不下、权重又改不了的那块缺口,不是循环本身。
| 论文里的机制 | 后来在 Agent 里对应的物理事实 |
|---|---|
| 非参数索引(原文块) | 工具回执、代码库、文档可以先被检索,再进入窗口 |
| 索引热替换 | 不必为每份新知识微调;更换索引即更换记忆 |
| 生成条件于 (z) | 当前观察中出现「检索到的证据」;证据选错仍然会错 |
| 一次检索加一次生成 | 流水线。Agent 循环要求的是依据回执再决定下一步:重新检索、更换查询或放弃 |
| 不用检索监督也能微调 | 后来许多系统连这一步微调也省去,只把结果拼进提示 |
时间线标成底层能力里的工程化:外部知识从此可以更换,而不用重训。
GitHub 与 OpenAI,2021-06-29。技术预览:在编辑器里根据当前文件上下文建议代码。驱动模型是 OpenAI Codex。它是「Copilot → Agent」这条产品演化的起点。
GitHub Copilot 没有对应一篇研究论文。这里转述的是 2021 年技术预览当时的公开表述,不以 2022 年正式商用、2023 年 Copilot X 与 Chat 回填。模型机制与 HumanEval 数字以 Codex 论文 为准;那篇写明:独立的生产版本驱动 Copilot。
主要出处:
这里不复制公告全文。
GitHub 发布 GitHub Copilot 技术预览,自称 AI pair programmer(AI 结对程序员),帮助写出更好的代码。它从你正在写的代码里抽取上下文,建议整行或整个函数。公告列出的用处:更快发现另一种解法、写测试、探索新 API,而不必专门去网上改检索词。输入时它适应你的写法,以便更快完成工作。
与 OpenAI 合作,由 OpenAI Codex 驱动。公告称 Codex 对人如何使用代码有广泛知识,代码生成上明显强于 GPT-3,部分因为训练数据里公开源代码的浓度高得多。预览对多种框架与语言可用,当时写明尤其适合 Python、JavaScript、TypeScript、Ruby、Go。技术预览名额有限,需申请。
同期公开描述与报道一致的部分:
OpenAI 将 Codex 以 API 私有测试放出时写明:这是把自然语言译成代码的系统,也是与 GitHub 合作、一个月前上线的 Copilot 所用模型。Codex 是 GPT-3 的后代;训练数据含自然语言与公开来源(含公开 GitHub 仓库)中的数十亿行代码。Python 最强,并称精通十余种语言(JavaScript、Go、Perl、PHP、Ruby、Swift、TypeScript、Shell 等)。相对 GPT-3 约 4KB 的上下文,Codex 对 Python 代码给出约 14KB 记忆,可纳入三倍以上上下文。API 初期免费;用途举例包括转译、解释代码、重构——并称只触及表面。
GPT-3 的主技能是用自然语言回应自然语言,对世界的影响经过读者的头脑;Codex 在保留大量自然语言理解的同时产出可运行代码,因而可以用英语向带 API 的软件下命令。
这些是 2021 年的产品句。评测数字、失败模式、不安全代码比例不在公告里,而在 Codex 论文。
材料没有声称:自主完成 issue、在终端多步执行、调用任意工具、无人盯着把任务做完。技术预览是编辑器补全。GitHub 计划基于它做商业产品;那是路线图,不是 2021-06 已交付的形态。
Codex 证明模型能够写出通过单元测试的函数。日常开发的需求更窄:光标已在文件里,下一行或下一个函数是什么。 Copilot 把这一步收缩为编辑器内的建议。产品没有引入新的学习算法,它发明的是交付位置:VS Code 光标处、可以循环的候选、由人决定是否接受。技术预览选择 Python、JavaScript、TypeScript、Ruby、Go,是因为当时在这些语言上的生成更稳定。
人在环路是产品定义的一部分,不是缺陷描述。失败由人修改提示或手写。
代码模型第一次有了大规模日活界面。反馈(接受或拒绝)后来成为改进补全的产品数据,接口从 2021 年 6 月起就已存在。「提示」变成了当前文件:GPT-3 的 few-shot 是刻意拼接的示范,Copilot 的条件则是打开的缓冲区、注释与函数名。上下文学习从论文里的实验设定变成默认的 IDE 行为。
「Copilot」一词自此被占住。此后 Microsoft 365 Copilot、GitHub Copilot Chat 以及各种「X Copilot」都借用副驾驶隐喻。2021 年这个词所指的仍是补全,不是自主执行。
时间线把它标成底层能力里的工程化:有副作用,无目标循环。演化写在交付位置的变化上,不把 2023 年的形态写回 2021 年。
| 2021 技术预览 | 后来编码 Agent 多出来的能力 |
|---|---|
| 当前文件上下文 | 仓库、终端、浏览器、issue |
| 建议一行 / 一个函数 | 多文件补丁、命令、测试 |
| 人立刻接受或拒绝 | 循环中依据测试回执再修改 |
| 无自主目标 | 有任务目标(修复缺陷、实现规格) |
副作用发生在编辑器缓冲区:插入或替换文本。观察等于当前缓冲区。没有「做到某个外部谓词为真」的终止条件,但它是「Copilot → Agent」这条产品线的起点。
Chen 等,2021,Evaluating Large Language Models Trained on Code。在公开 GitHub 代码上微调 GPT,得到 Codex。独立的生产版本驱动 GitHub Copilot 与 API。同篇论文交出的考卷见 HumanEval。
原文:arXiv:2107.03374(HTML、PDF)。
Mark Chen, Jerry Tworek, Heewoo Jun, Qiming Yuan 等(OpenAI;部分作者标注工作完成于 OpenAI)。Evaluating Large Language Models Trained on Code。2021-07。arXiv:2107.03374。Chen、Tworek、Jun、Yuan 为通讯作者。正文写明:若干早期 Codex 模型的后代驱动 GitHub Copilot 与 OpenAI API 中的 Codex。
引入 Codex:在 GitHub 公开代码上微调的 GPT 语言模型,并研究其写 Python 的能力。独立的生产版本驱动 GitHub Copilot。新评测集 HumanEval 衡量「根据文档字符串合成程序」的功能正确性:本模型解出 28.8% 的题目,GPT-3 为 0%,GPT-J 为 11.4%。反复从模型采样是应对难题的有效策略:每题 100 个样本可解出 70.2%。限度包括:长操作链的文档字符串;把操作绑定到变量。最后讨论部署强大代码生成技术的更广泛影响:安全、安保与经济。
序列预测模型已成为多模态的通法。代码出现在大规模数据集里之后,语言模型开始推进程序合成。GPT-3 已能从 Python 文档字符串生成简单程序,尽管并未为代码生成专门训练。假设专门的 GPT(Codex)能擅长多种编码任务。
本文聚焦:根据文档字符串生成独立的 Python 函数,用单元测试自动判对错。这与自然语言生成靠启发式或人工打分不同。为此手写 164 道带单测的编程题,覆盖语言理解、算法与简单数学,部分接近初级面试题。数据与评测框架发布于 https://github.com/openai/human-eval。
单样本:12B Codex 解 28.8%,300M 解 13.2%;6B GPT-J 11.4%;各档 GPT 接近 0%。再在「正确实现的独立函数」上微调得到 Codex-S,单样本 37.7%。每题 100 个样本并选出能过单测的,Codex-S 达 77.5%;若不能跑单测、只取平均 log 概率最高的样本,为 44.5%。真实编程通常是迭代与修复缺陷,多采样是对这一过程的近似。
代码生成主流曾用与参考解的精确或模糊匹配(BLEU)。匹配无法覆盖「功能等价但写法不同」的大空间。本文采用功能正确:样本通过一组单元测试即算对。这与测试驱动开发、合并代码前先通过单元测试的工程习惯一致。
pass@(k):每题生成 (k) 个样本,任一通过则该题算解出,再报解出比例。直接用 (k) 个样本方差大。改为每题生成 (n\ge k) 个(本文 (n=200),(k\le 100)),设 (c) 个通过,用无偏估计
[ \mathrm{pass@}k=\mathbb{E}_{\text{Problems}}\left[1-\frac{\binom{n-c}{k}}{\binom{n}{k}}\right] ]
用 (1-(1-\hat p)^k) 是有偏的。后文显示:功能不等价的错误解与正确解的 BLEU 分布大量重叠,优化 BLEU 不等于优化功能正确。
164 道手写题。每题含签名、文档字符串、函数体与若干单测,平均 7.7 个测试。必须手写:模型训在 GitHub 很大一部分上,网上已有各种题解(例如 APPS 所用的 Codeforces)。
公开程序意图未知,生成程序常是错的,执行有安全风险。因此评测在隔离环境里执行,并限制网络访问。目标:防止修改宿主机、持久化、访问敏感资源或外泄数据。
在最多 12B 参数的 GPT 上微调得到 Codex。
数据。 2020 年 5 月,GitHub 上 5400 万个公开仓库;小于 1MB 的不重复 Python 文件 179GB。过滤可能自动生成、平均行长 >100、最大行长 >1000、字母数字比例过低的文件后,159GB。
方法。 原假设从 GPT-3 初始化会更好;未观察到最终提升,可能因为微调数据已经很大。但从 GPT 初始化收敛更快,后续实验仍用。学习率与对应 GPT 相同;175 step 线性 warmup + 余弦衰减;共 1000 亿 token;Adam。词表基于 GPT-3,另加不同长度空白的专用 token,代码大约少用 30% token。采样遇到 \nclass、\ndef 等停止,以免继续写下一个函数。nucleus (p=0.95)。
结果。 代码微调后的测试损失仍近似幂律。pass@(k) 的最优温度随 (k) 升高:多样性对大 (k) 有利。12B:表 1 中 pass@1 / 10 / 100 为 28.81% / 46.81% / 72.31%。GPT-J-6B 约等于 Codex-300M;Tabnine 免费最大模型约等于 Codex-12M。
不能跑单测、只能返回一个补全时:选平均 token log 概率最高的样本好于随机;按总和 log 概率选可能比随机更差。
APPS。 Codex 未在 APPS 上微调。文档字符串末加一条输入输出示例作格式提示(文中称 1-shot)。12B 与在 APPS 上微调的 GPT-Neo 可比。竞赛题常写出正确但不够快的解。
GitHub 上还有类、配置、脚本、数据文件,与「从文档字符串合成函数」分布不同。再从竞赛/面试站(约 1 万题)以及带 CI 的仓库(追踪函数调用得到输入输出)收集「正确的独立函数」,过滤掉 Codex-12B 生成 100 个样本仍无一正确的题。在这些题上再微调,得到 Codex-S。pass@1 平均高约 6.5 个百分点,pass@100 平均高约 15.1 个百分点。
把签名 + 参考实现 + 文档字符串拼起来,训练根据代码写文档字符串,便于描述生成代码的意图。人工判「是否唯一且准确描述函数体」:Codex-D-12B 的 pass@1 / pass@10 为 20.3% / 46.5%,低于对应 Codex-S。用反向翻译(生成代码再打文档字符串似然)给多样本排序,差于平均 log 概率。
作者自己列出:
潜在用处:上手新代码库、减少上下文切换、让非程序员写规格由模型起草实现、教育。同时有对齐、误用与安全问题。危害分析不是某一产品说明书。
要点:过度依赖(看起来正确,实际并未完成意图,对新手尤甚);不对齐(下一 token 目标会模仿提示里的坏代码,规模变大时这类缺陷可能更明显);偏见;不安全代码(附录 G:生成加密上下文时,相当比例选用明显不安全的参数,如过短 RSA、AES-ECB);对恶意软件门槛的当前评估是「尚未实质降低」,更强模型另说。缓解:文档与 UI、代码审查、过滤、API 审核与限流。
程序合成、CodeBERT / GPT-Neo / APPS 等。结论:在代码上微调的 GPT 可用单测衡量的功能正确性写出 Python 函数;多采样显著提高解出率;限度与部署风险需要单独对待。致谢包括与 GitHub 合作构建 Copilot、Azure 训练基础设施。
2021 年年中,GPT-3 已经证明规模带来上下文学习,写代码仍是附属现象:GPT-3 在 HumanEval 上约为 0%。BLEU 分不清「形似」与「功能正确」,而程序合成要求的正是功能正确。
Codex 做了两件后来被当作默认做法的事:在公开代码上继续训练 GPT,把下一个 token 对准源代码分布;用手写题目与单元测试定义对错,并给出无偏的 pass@(k)。手写是为了减少训练语料泄漏。多采样被写成对「尝试多种写法」的近似。限度写得很明确:长操作链指数变差,会编造不存在的符号,会建议不安全的配置。沙箱是为了安全地运行这些样本,不是给 Agent 用的执行环境产品。
对象是函数级合成,不是在仓库里修改缺陷、提交 PR。164 道题、平均 7.7 个测试,尺度故意很小,为的是可复现。
代码成为语言模型的一等模态。此后 GPT-3.5、GPT-4 与 Claude 把代码能力做进基座,不再单独称为 Codex。评测从「形似」转为「功能正确」:HumanEval、MBPP、LiveCodeBench 沿用功能正确。pass@(k) 也解释了产品里常见的「再生成一次」。文档字符串与代码之间是同一套补全。泄漏与手写基准这一问题,一直传到 SWE-bench 的去污染讨论。
它没有解决指令跟随是否稳定,也没有解决「在真实代码库中定位、修改、验证」,后者是 2023 至 2024 年编码 Agent 的评测对象。
编码 Agent 的前提是:决策核心能够写出可执行的代码,并且有办法知道写得对不对。Codex 提供模型侧的首证,尺子见 HumanEval。没有能够运行的代码,后来就不会有「让模型在仓库里把测试跑绿」的循环。核心不是运行时:一次补全一个函数,由人在 IDE 里接受或拒绝。
| 论文里的机制 | 后来在 Agent 里对应的物理事实 |
|---|---|
| 文档字符串条件生成 | 任务说明、issue、测试名可以充当提示;模型产出补丁或脚本 |
| 单测定义正确 | 循环中「行动」的反馈可以是测试退出码 |
| pass@(k) / 多采样 | 同一步可以尝试多种补丁;后来的重试与 best-of-n 是同一逻辑放大到仓库 |
| 隔离评测环境 | 为评测而隔离;2023 年之后沙箱变成 Agent 基础设施,对象从「跑 164 道题」变成「不要在用户机器上乱执行」 |
| 函数级、独立文件 | 远窄于 SWE-bench 与多文件重构。HumanEval 通过不代表能修真实 issue |
时间线标成底层能力里的首证:行动第一次可以是被机器执行、又被机器检验的代码。
Chen 等,2021,随 Evaluating Large Language Models Trained on Code 发布。衡量「根据文档字符串合成 Python 函数」能否通过单元测试,而不是与参考解是否相似。
数据与评测框架:openai/human-eval。同篇论文里的模型见 Codex。原文:arXiv:2107.03374。
评测集随 Codex 论文一次交出。这里只转述 HumanEval 这张考卷;模型训练与限度见 Codex 论文。Chen 等,Evaluating Large Language Models Trained on Code,2021-07。arXiv:2107.03374。仓库:https://github.com/openai/human-eval。
代码生成原先常用与参考解的精确或模糊匹配(BLEU)。匹配无法覆盖「功能等价但写法不同」的大空间。本文改用功能正确:样本通过一组单元测试即算对。这与测试驱动开发、合并代码前过单测的工程习惯一致。
为此手写 164 道带单测的 Python 题,覆盖语言理解、算法与简单数学,部分接近初级面试题。每题含签名、文档字符串、函数体与若干单测,平均 7.7 个测试。必须手写:模型训在 GitHub 很大一部分上,网上已有各种题解。
每题生成 (k) 个样本,任一通过则该题算解出,再报解出比例。直接用 (k) 个样本方差大。改为每题生成 (n\ge k) 个(文中 (n=200),(k\le 100)),设 (c) 个通过,用无偏估计
[ \mathrm{pass@}k=\mathbb{E}_{\text{Problems}}\left[1-\frac{\binom{n-c}{k}}{\binom{n}{k}}\right] ]
用 (1-(1-\hat p)^k) 是有偏的。文中还显示:功能不等价的错误解与正确解的 BLEU 分布大量重叠,优化 BLEU 不等于优化功能正确。
12B Codex 单样本解出 28.8%;GPT-3 约 0%;GPT-J 11.4%。每题 100 个样本,Codex 可解出约 70%。监督微调后的 Codex-S,pass@1 约 37.7%,pass@100 约 77.5%。这些数字属于模型对照,不是考卷自己的属性。
不是仓库级、多文件、带真实 GitHub issue 的考试。164 道独立函数,尺度故意很小,为的是可复现、可自动判。执行在 gVisor 沙箱里,是为了安全地跑生成代码。
2021 年若只用 BLEU,分不清「形似」与「功能正确」。HumanEval 用手写题目与单元测试定义对错,并给出无偏的 pass@(k)。手写是为了减少训练语料泄漏。多采样(pass@100)被写成对「尝试多种写法」的近似。同日交出的模型见 Codex。
评测从「形似」转为「功能正确」。后来的 MBPP、LiveCodeBench 沿用功能正确;产品里的「再生成一次」与 pass@(k) 是同一逻辑。泄漏与手写基准这一问题,一直传到 SWE-bench 的去污染讨论。
它覆盖的是函数级合成,不是在仓库里修改缺陷、提交 PR。164 道题远窄于 2023 年的 SWE-bench。HumanEval 通过,不代表能修真实 issue。
对 Agent 循环而言,它提供的是完成谓词的早期形态:行动的反馈可以是测试退出码,而不只是人看一眼。循环本身不在这张考卷上。考卷没有决策核心,没有多步环境,也没有开放目标。这条路一直走到 2023 年的 SWE-bench。
时间线标成底层能力里的首证、标准。仓库级的完成谓词要到 SWE-bench。
Nakano 等,2021,WebGPT: Browser-assisted question-answering with human feedback。微调 GPT-3,使其在文本网页浏览环境中搜索与导航,并用人类反馈优化长问答;答案必须带浏览过程中摘下的引用。
原文:arXiv:2112.09332(HTML、PDF)。
Reiichiro Nakano, Jacob Hilton, Suchir Balaji, Jeff Wu, Long Ouyang, Christina Kim, Christopher Hesse, Shantanu Jain, Vineet Kosaraju, William Saunders, Xu Jiang, Karl Cobbe, Tyna Eloundou, Gretchen Krueger, Kevin Button, Matthew Knight, Benjamin Chess, John Schulman. WebGPT: Browser-assisted question-answering with human feedback. 2021-12。arXiv:2112.09332。Nakano、Hilton、Balaji 同等贡献。
微调 GPT-3,使其利用基于文本的网页浏览环境回答长问答:模型可以搜索并在网上导航。任务被设计成人类也能做,因而可用模仿学习训练,再用人类反馈优化答案质量。为降低事实核对难度,模型浏览时必须收集引用,作答须有依据。主数据集是 ELI5(Reddit「像对五岁孩子解释那样」的问题)。最佳模型:在演示上做行为克隆,再对预测人类偏好的奖励模型做拒绝采样。该模型的答案相对人类演示员胜 56%,相对 Reddit 最高票答案胜 69%。
长问答(LFQA)仍落后于人。已有工作分别改进检索与综合。本文把检索外包给 Bing Web Search API,综合交给微调后的 GPT-3;重点是更忠实的训练目标。沿用 Stiennon et al. 2020,用人类反馈直接优化答案质量。
两项关键贡献:
额外收集两类数据:人类用该环境答题的演示;同一问题下两个模型答案(各带引用)的比较。评判事实准确性、连贯性、总体有用性。四种用法:行为克隆、奖励模型、针对奖励模型的强化学习、拒绝采样。最佳组合是行为克隆 + 拒绝采样;推理算力更紧时强化学习仍有一点好处。
评测三件事:相对演示员 56%;相对 ELI5 最高票(去掉引用后)69%;TruthfulQA 上真实 75%、真实且有信息量 54%,超过基座 GPT-3,仍低于人。
相对 REALM / RAG:那些工作改进给定查询的文档检索。本文用现成搜索引擎,优点是已经很强、索引新、可把「会用搜索引擎答题」当成人类擅长、模型可模仿的高层任务。
模型每次看到当前状态的文字摘要:问题、当前页在光标处的文本、其他元数据(图 1)。必须发出表 1 中的一条命令。每步上下文是新的;先前步骤只活在摘要里记下的内容。
表 1(动作)
| 命令 | 效果 |
|---|---|
Search <query> |
发给 Bing API,展示结果页 |
Clicked on link <id> |
跟随该 ID 的链接 |
Find in page: <text> |
找下一处出现并滚过去 |
Quote: <text> |
若当前页含该文本,记为引用 |
Scrolled down/up <1,2,3> |
滚动 |
Top |
到页顶 |
Back |
上一页 |
End: Answer |
结束浏览,进入作答 |
End: Nonsense / Controversial |
结束浏览且不作答 |
其它文本视为非法动作:计入步数上限,否则忽略。浏览直到模型结束、达到最大动作数、或引用总长达到上限。至少有一条引用后,把问题与引用提示给模型,写最终答案。细节在附录 A。
预训练模型不会环境命令格式,必须先有人类演示。仅模仿不太可能明显超过人类(Stiennon et al.)。故再收集成对比较。
约 6000 条演示(92% 来自 ELI5),约 21500 条比较(98% 来自 ELI5),另混少量 TriviaQA 等。演示用图形界面,信息与文本界面实质相同。强调:相关、连贯、有可信引用支持。比较数据集后来公开(附录 K)。
从 GPT-3 家族微调,重点 760M、13B、175B。
BC / RM / RL 用互斥问题集。
主评三档算力帕累托模型:760M best-of-4、13B best-of-16、175B best-of-64,皆 BC + 同尺寸 RM 拒绝采样。温度 0.8,最多 100 步浏览。主文为简化不含 RL(与拒绝采样合用时增益不大)。
ELI5。 相对演示员:同一套比较规程,175B best-of-64 胜 56%(平局计 50%)。作者认为这说明人类反馈必要,因为只模仿演示不应稳定超过 50%。相对 Reddit 最高票:去掉引用、换不熟悉细则的标注者、用更简指令,胜 69%。对照 Krishna et al. 2021 的 23%(且算力更小)。作者更看重对演示员的比较:有引用有据可核对、标准更清楚、文风更可比、ELI5 原帖意图与低质量回答干扰更少。
TruthfulQA。 对抗性短问题。WebGPT 答案截到 50 token。所有 WebGPT 档在「真实」「真实且有信息」上均超过带两种 prompt 的 GPT-3;且 WebGPT 的「真实且有信息」随模型变大而升,GPT-3 则否。摘要中的 75% / 54% 对应最佳模型。
拒绝采样收益大:175B best-of-64 相对纯 BC 胜 68%。RL 相对 BC 胜 58%,收益更小。可能原因:多次作答本身利用推理算力;环境不可预测,拒绝采样可事后评估去过的许多网站;RM 数据多来自 BC 与拒绝采样,对 RL 过优化更脆;RL 要调参。RL + 拒绝采样并不明显好于单用拒绝采样。BC 基线必须仔细调 epoch 与温度,否则会夸大 RL 的优势。
演示数量加倍,策略的 RM 分约 +0.13;比较数量加倍,RM 准确率约 +1.8%。参数加倍,策略 RM 分约 +0.09,RM 准确率约 +0.4%。给定推理预算,用一些拒绝采样是划算的,但不是越多越好。
区分两类假话:训练目标激励的模仿性谬误;未达到目标造成的非模仿性谬误(多数幻觉)。WebGPT 在 TruthfulQA 上模仿性谬误少于 GPT-3,作者归因于 Bing 过滤与「要用可靠来源」的说明;仍会引用很不可靠的源(分布从 ELI5 移到 TruthfulQA)。ELI5 上非模仿性谬误也少于 GPT-3,但仍会在转述、综合时出错,而不是漫无目的幻觉。
引用让答案看起来更权威,叠加自动化偏见,可能导致过度依赖;分布外问题比人更容易错。会强化已有偏见与问题里的隐含预设。引用有助于评判,也激励模型挑选能说服标注者的来源而非全面证据;更强模型与更主观问题会加重这一点。文中提到辩论、递归奖励建模等作为缓解方向。
在线访问风险。 训练与推理时经环境访问活的网络。若能提交表单,理论上可改维基再当可靠引用。作者认为当前环境只允许 Bing 查询与跟随已有链接,直接改维基不可用;WebGPT 能力远低于提权所需。能力上升时,给网络访问的安全举证责任应上升。
相关:IBM Watson / DeepQA;DPR、REALM、RAG(可微内积检索,难接搜索引擎,可解释性较弱);把浏览写成 RL;用 BC/RL 控制浏览器做其它任务。
结论:把语言模型微调到文本浏览环境里做长问答,可用模仿与强化学习直接优化答案质量;引用降低评测难度。最佳模型在 ELI5 上超过演示员,分布外问题仍然吃力。
2021 年底,GPT-3 能在上下文里做新任务,RAG 能先检索再生成,但两条路都还不是「会用搜索引擎的人」那种过程:修改查询、点进一页、滚动、摘录一句、不满意再搜。长问答的事实核对对人极为困难,没有出处就只能凭感觉。
WebGPT 把问题收缩成一个人类也能完成的浏览任务,因此可以:录演示做行为克隆(预训练 GPT-3 本身不会这套命令格式);比较两个带引用的答案,训练奖励模型,再用拒绝采样或 PPO 优化;强制引用,把「这句话是否属实」部分转化为「是否被这些来源支持」。
检索外包给 Bing,不训练可微 DPR。环境是文本的:每一步把页面状态写成提示,模型输出一条命令。记忆不通过隐状态跨步传递,只存在于摘要与已摘引用之中。作者自己把与 RAG 的差别写在第 2 节:RAG 改进给定查询的检索,本文改进的是「如何使用已经很强的搜索引擎」。结论也写明:分布外(TruthfulQA)仍明显弱于人。
Search、Quote、End: Answer 是后来 function calling 的实验室前身:模型必须输出可执行动作,非法输出被丢弃但仍消耗步数。人类反馈从摘要偏好接到带工具的轨迹(BC、RM、优化,方法直接引用 Stiennon 那条人类反馈工作)。引用成为评测接口,不是产品合规的附录。在这个不可预测的环境里,多试几次再挑往往比当场做 PPO 更稳;后来许多系统在工具循环之外再套一层 best-of-n,与这条观察同类。
它没有大众对话界面,也没有把浏览做成可插拔协议。浏览器是论文里的环境。
时间线把它标成底层能力里的首证:模型、环境与工具三者结合的实验室形态。决策核心是 GPT-3;行动是搜索、点击、滚动、引用;反馈是页面文本。外形上已经有循环、动作与观察。
目标函数始终是答好当前这道 ELI5,回合结束于 End: Answer。这是封闭问答循环,不是「给出一个开放目标,自行迭代到完成」。谓词是带引用的答案,不是仓库、桌面或任意工作流上的外部完成条件。
一句话主线: 2022 年,决策核心补上两条后来所有 Agent 运行时都依赖的前提:指令跟随之后的可对话接口,以及把中间计算写进 token 序列的思维链。10 月 ReAct 把 Thought / Action / Observation 交错写成可抄的文本协议,LangChain 把常见拼法收成库;同年公众入口是 11 月的 ChatGPT,不是自主执行。稳定接通「循环 + 副作用接口 + 观察写回」的产品要到 2023 才出现。
总弧线见 概述,前传见 2022 年之前。ChatGPT 按 AI Agent 定义不是 Agent:观察等于用户下一句,行动等于再生成,没有对环境产生副作用的循环。它改变分发入口,不改变执行语义。
前一年 结束时,零件已在:GPT-3 能少样本偏移行为,Codex 能写短函数,WebGPT 能在受控浏览器里检索。2022 年模型侧做的,是把这些零件拧成可分发、且能在解码过程里展开串行计算的决策核心——仍然不是完整 Agent。本条只解释核心;控制流归属、副作用接口、完成判据另计。
工具调用在 2022 年仍是 prompt 约束:MRKL、PAL、ReAct 都让模型把计算、检索、动作交给外部模块,实现是字符串约定加宿主解析。没有 Function Calling schema。可解析的函数选择是 2023-06 Function Calling 的事。Function Calling 是协议,不是系统。
只记改写了后续可能的事件。每条一个分类,标签可多个(六类历史角色)。
| 时间 | 事件 | 分类 | 标签 | 为什么记 |
|---|---|---|---|---|
| 2022-01 | InstructGPT | 论文 | 工程化 | 把决策核心从网页续写拧到指令契约。ChatGPT 与后来的系统提示、工具说明,都建立在「模型按意图解码」上 |
| 2022-01 | Chain-of-Thought | 论文 | 首证 | 中间计算写入 token 序列。ReAct 的 Thought 是这条协议接到 Action / Observation 上 |
| 2022-03 | Self-Consistency | 论文 | 首证 | 多样本推理再投票。后来循环里的重试 / 反思,有一条采样聚合的根在这里 |
| 2022-04 | PaLM 540B | 论文 | — | 把「CoT 要够大才生效」做成可引用事实。规模是 2022 年核心能力的物理上限之一 |
| 2022-05 | Zero-shot CoT | 论文 | 首证 | 一句 “Let’s think step by step” 即可。触发成本降到最低,推理协议可复制,环境仍未接入 |
| 2022-05 | MRKL | 论文 | 首证 | 主张 LLM 必须外挂知识与离散推理模块。架构图接近后来的「核心 + 工具」,实现仍是厂商私有系统 |
| 2022-06 | GitHub Copilot 正式商用 | 产品 | — | 编码助手从预览变成付费产品。副作用在编辑器缓冲区,无目标循环,不是 Agent;「Copilot → Agent」的产品线从此有付费用户 |
| 2022-09 | DeepMind Sparrow | 产品 | 首证 | 对话模型可搜索网页并带证据作答,并用规则约束。观察通道是页面,谓词是带引用的答案;目标不是开放任务执行 |
| 2022-10 | ReAct | 论文 | 首证 | Thought → Action → Observation 交错。HotpotQA / ALFWorld / WebShop 上证明观察必须进入下一步,不能只靠内部 CoT。实现是文本约定;ChatGPT 尚未发布,Function Calling 还有八个月。引用爬升发生在 2023 |
| 2022-10 | LangChain 以开源库出现 | 框架 | 工程化 | 把 RAG、工具包装、Agent 提示收进 Python 包。循环可复制,状态在进程内存和提示里。公司 2023-02 才成立;今年是胶水雏形,生态膨胀在明年 |
| 2022-11 | PAL | 论文 | 首证 | 推理步骤编译成程序,副作用关在 Python 解释器。通道是返回值,任务是解题。后来沙箱跑代码,这条根比把算术留在解码过程里更硬 |
| 2022-11-30 | ChatGPT | 产品 | 引爆 | 把对话 LLM 做成默认界面。不是 Agent,却是后续所有运行时的人机接口前提。2022 年舆论中心是它,不是 ReAct |
| 2022-12 | Constitutional AI | 论文 | — | 用原则和 AI 反馈对齐。对 Agent 史是旁支(安全与可控),对后来 Claude 系运行时是训练前提 |
刻意不升格的:SayCan / Inner Monologue 等「语言模型给机器人下指令」(具身,见 边界);各种 CoT 变体论文(Least-to-most、Self-Ask 等,机制上收进 CoT 家族即可);以及任何把 ChatGPT 直接称作 Agent 的通稿。
2022 年的主线是推理协议和对齐后的对话核心。CoT 让多步思考在明文 token 里展开;InstructGPT / ChatGPT 让该核心能对着用户进行。上下文窗口仍大约 4k,一次任务的观察塞不下多少。没有原生 function calling:模型要调工具,只能在文本里嵌 JSON 或伪 DSL,宿主正则抽取。多模态几乎未进入软件 Agent 主线。核心就绪的意义只有一句:控制循环和工具层终于有了可挂载的策略网络。
关键词是提示词模式 + 最早的胶水,还不是跨厂商协议。
ReAct 规定了一种可抄的文本协议(思考 / 动作 / 观察的交错格式)。控制流在模型输出里选边,解析失败即掉步:没有 schema、没有事务、没有外部完成判据。LangChain 在 2022 年底开始把这种格式和检索、工具包装进库,生态要到 2023 才膨胀。MRKL 画出模块图,没有成为标准。FIPA 式 Agent 通信标准 2022 年无人重提。
公众应用是 ChatGPT 聊天和 Copilot 补全:人在环路、一步一确认。实验室里有浏览问答(Sparrow)、模块化工具(Jurassic-X / MRKL)、程序辅助推理(PAL)、以及 ReAct 在文字游戏和网店环境里的演示。四要素在 ReAct 论文的协议层重合:执行靠解析,环境是基准,无产品级沙箱,无仓库谓词。没有 AutoGPT 那种「给一个目标,自己转完」的产品——GitHub trending 上还看不到它。
沙箱不是产品关键词。PAL 把解释器当计算器,和后来「Agent 在云端虚拟机里改仓库」不是同一量级。评测仍是 GSM8K、HotpotQA、HumanEval、文字游戏;没有 SWE-bench,因而没有独立于演示的任务完成判据。记忆等于多轮对话窗口。身份、花费限额、组织治理都不存在。
2022 年 12 月 31 日,按 AI Agent 定义,下面这些仍不成立:
当时的反方意见主要冲着 ChatGPT:幻觉、自信的错误、数据截止。这些批评成立,但还没有对准「无界循环会空转、会在未隔离地址空间里执行」——那种失败模式要等 2023 的 AutoGPT 才会大规模出现。热度度量的是入口,不是完成率。
Ouyang 等,2022,Training language models to follow instructions with human feedback。SFT + 奖励模型 + PPO(RLHF)。OpenAI 2022-01-27 宣布 InstructGPT 为 API 默认模型。
原文:arXiv:2203.02155。产品公告:Aligning language models to follow instructions(2022-01-27)。
Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, John Schulman, Jacob Hilton, Fraser Kelton, Luke Miller, Maddie Simens, Amanda Askell, Peter Welinder, Paul Christiano, Jan Leike, Ryan Lowe. Training language models to follow instructions with human feedback. 2022-03。arXiv:2203.02155。OpenAI Alignment 团队;通讯作者 Ryan Lowe。2022-01-27 的 API 默认切换见 OpenAI 博客;博客注明线上模型与论文方法相近但略有差别。
中文译本:Arthur Chiao 节译。
把语言模型做大,并不会自动让它更好地跟随用户意图。大模型仍会不真实、有毒、或对用户无帮助——即与用户不对齐。本文用人类反馈微调,使模型在广泛任务上对齐用户意图。从标注者撰写的提示与 OpenAI API 提交的提示出发:先收集期望行为的演示,监督微调 GPT-3;再收集模型输出排序,用强化学习(来自人类反馈)继续微调。得到的模型称 InstructGPT。
在作者的提示分布上,13 亿参数 InstructGPT 的输出比 1750 亿 GPT-3 更受标注者偏好,尽管参数少 100 倍以上。InstructGPT 提高真实性、减少有毒生成,同时在公开 NLP 数据集上回归很小。仍会犯简单错误。结论:用人类反馈微调是对齐语言模型与人类意图的有前景方向。
语言模型可被提示做许多 NLP 任务,但常出现编造事实、偏见、有毒文本、或不跟指令。原因:预训练目标是预测网页上下一个 token,不同于「有帮助且安全地跟随用户指令」。作者采用 Askell 等的说法,希望模型 helpful / honest / harmless。
方法是 RLHF(Christiano 2017;Stiennon 等摘要工作):雇约 40 名承包商;收集 API 提示(Playground 上更早 InstructGPT 版本,去掉 PII)与标注者自写提示上的人类演示,做监督基线;再在更大 API 提示集上收集输出比较,训奖励模型(RM);用 PPO 最大化 RM。这是对齐到特定人群(主要是标注者与研究者)陈述的偏好,不是更广的「人类价值」。
主要发现(作者列出):
三步(图 2):(1) SFT;(2) RM:对同一提示的多个模型输出排序;(3) PPO。模型尺寸 1.3B / 6B / 175B,架构同 GPT-3。评测以 held-out 客户提示上的标注者打分为主,辅以公开基准。
对齐的是标注团队与研究者的偏好。模型仍会简单失败。公开 NLP 基准不能代表 API 真实用法。安全与可靠性仍有大量工作。
GPT-3 已证明规模带来上下文学习。预训练目标仍是网页续写。用户写祈使句,模型可能接着写成网页后文。目标函数与「按意图办事」不一致,不是把 few-shot 写得更巧就能消掉。
InstructGPT 把适应从「拼示范」改成改权重:SFT 给出格式,比较数据训出偏好,PPO 把策略推过去。1.3B 对齐后的模型在作者的提示分布上胜过未对齐的 175B:意图对齐不是参数量的免费附赠。
对象是 API 上的指令跟随,不是多轮产品,也不是工具循环。ChatGPT 把同一套 RLHF 接到对话数据上,是十个月后的入口。
指令契约成为默认接口。系统消息、开发者提示、后来的工具 schema,都假定模型把文本当任务而不是当续写。FLAN / T0 走公开 NLP 任务混合;InstructGPT 证明真实用户提示分布上,人类偏好数据更对口。对齐税(公开基准掉分)从此是训练配方里的常规项。
Agent 的输入是祈使句、约束和后来的 schema。没有这一步,系统提示会被当成又一段网页。它仍是单次生成:一次前向一段回复,没有作用在环境上的循环。2022-01 的工程化含义只有一句:后面所有「对核心下指令」的产品,都踩在这条契约上。Function Calling 还不存在。
Wei 等,2022-01,Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(Google Research)。把 ⟨输入, 思维链, 输出⟩ 示范写进提示,不微调。
原文:arXiv:2201.11903。
Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed H. Chi, Quoc V. Le, Denny Zhou. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models。Google Research, Brain Team。2022-01。arXiv:2201.11903。
中文译本:小七姐 精读翻译(飞书)。
生成一条 chain of thought(一系列中间推理步骤)会显著提高大语言模型做复杂推理的能力。这种能力在足够大的模型上,可通过简单的 chain-of-thought prompting 自然出现:把少量带思维链的示范作为示例写进提示。
在三个系列大模型上,该方法改善算术、常识、符号推理。例如 PaLM 540B 仅用 8 条思维链示范,在 GSM8K 上达到当时最好,超过带 verifier 的微调 GPT-3。
放大模型规模带来许多好处,但单靠规模不足以在算术、常识、符号推理上得到高分。两条已有思路各有缺口:为中间步骤做训练/微调,要大量高质量 rationale,成本高于普通输入—输出对;GPT-3 式标准 few-shot 在需要推理的任务上很弱,且往往不随规模明显改善。
本文把两者合在一起:提示由三元组 ⟨输入, 思维链, 输出⟩ 组成。思维链是通向最终输出的中间自然语言步骤。只需提示、不必为每任务训一个检查点。
人解多步应用题时会先拆步骤。目标是让够大的模型在 few-shot 示例里见到这种过程后,自己生成类似链条。性质:把多步问题拆开,从而把更多计算分给更难的题;提供可检查的窗口(虽不能完全刻画内部计算);原则上适用于人能用语言解的任务;对现成大模型,只要把思维链写进示范即可引出。
标准 prompting:示例是问题—答案,模型直接给答案。CoT:每个示例附一条通向答案的思维链。算术题手工写了 8 条示范(除选择题 AQuA 用训练集 4 条);作者称这些示范没有做 prompt engineering。解码默认贪心(后文 Self-Consistency 再改进)。评测 GPT-3 / InstructGPT 系列、LaMDA、PaLM、UL2、Codex。
算术。 GSM8K、SVAMP、ASDiv、AQuA、MAWPS。三条结论:(1) CoT 是模型规模的涌现能力——约 1000 亿参数以下几乎无正面效果,小模型会写出流畅但不合逻辑的链条,成绩甚至差于标准提示;(2) 题越难增益越大,GSM8K 上最大 GPT/PaLM 成绩翻倍以上;单步 MAWPS 子集增益很小或为负;(3) PaLM 540B + CoT 在 GSM8K / SVAMP / MAWPS 达当时 SOTA。附录表:PaLM 540B 的 GSM8K CoT 56.9(相对标准提示 +39.0);外接计算器到 58.6。
人工检查 LaMDA 137B:50 条最终答案正确的样本中,除 2 条碰巧对以外链条也正确;50 条答错里约 46% 只差小错(计算、符号、缺一步),54% 是语义或连贯性大错。
消融:只输出算式对 GSM8K 帮助不大,说明需要自然语言步骤,不能直接译成方程。多套人工或 GSM8K 训练集示范都显著优于标准提示。
常识与符号。 StrategyQA、CSQA、日期理解、物体追踪、字母拼接、抛硬币等:够大的模型同样受益。符号任务上可看到对「未见过长度」的一定泛化。
小模型无效。链条正确不等于内部计算被完全解释。依赖手工或现成示范。贪心解码不是最优(Wang 等后续工作)。对象是语言任务上的中间步骤,不是环境行动。
上下文学习擅长模仿问答格式,不擅长先拆步再给答案。标准 few-shot 在 GSM8K 一类任务上随规模改善很弱。先前要中间步骤,就得微调或从零训 rationale。
CoT 的解法极窄:不改权重,只改示范里有没有中间语言。 解码时多生成一段 token,等于在前向过程里展开一层串行计算。代价是必须够大(约 100B+);小模型会流畅地错。它分配的是生成更多 token 的计算,不是工具,不是环境。
多步思考从此可以显式写在文本里,成为可复制的推理协议。2022 以后几乎所有「让模型先想」的提示都是这一页的变体。PaLM 540B 把规模条件做成可引用事实:同一套 CoT,小模型接近无效。
ReAct 的 Thought 从这里接出,再接到 Action / Observation 上。没有这类中间步骤,循环里就只剩动作。它仍然不是循环:没有 Action,没有 Observation;错了只能在下一段语言里改口。把 CoT 写成已经实现 Agent,会漏掉执行层。
Wang 等,2022-03,Self-Consistency Improves Chain of Thought Reasoning in Language Models。
原文:arXiv:2203.11171。
Xuezhi Wang, Jason Wei, Dale Schuurmans, Quoc Le, Ed H. Chi, Sharan Narang, Aakanksha Chowdhery, Denny Zhou. Self-Consistency Improves Chain of Thought Reasoning in Language Models。Google Research。2022-03。arXiv:2203.11171。
CoT 提示配合预训练大模型在复杂推理上已有结果。本文提出解码策略 self-consistency,替换 CoT 里的贪心解码:先采样多样推理路径,再对路径边际化,选最一致的最终答案。直觉:复杂题通常有多条思路通向同一个正确答案。相对贪心 CoT,GSM8K +17.9%、SVAMP +11.0%、AQuA +12.2%、StrategyQA +6.4%、ARC-challenge +3.9%(文中报告的绝对增益)。
人解题往往有多条路。用温度 / top-k / nucleus 从解码器采样多条 ((\mathbf{r}_i, \mathbf{a}_i))(路径 + 答案),再对 (\mathbf{a}) 做多数表决:(\arg\max_a \sum_i \mathbb{1}(\mathbf{a}_i=a))。也可按路径概率加权;实验表明未归一化多数票与长度归一化加权和接近,未归一化的 token 概率加权更差。无需额外标注、无需训 verifier 或重排器,是单个模型上的「self-ensemble」。
与训练多个模型再集成不同。与 sample-and-rank、束搜索等对照,文中称 self-consistency 更好。对采样策略和不完美提示较稳健。在「加 CoT 可能伤标准 prompting」的部分 NLP 任务上也能抬分。
UL2-20B、GPT-3-175B、LaMDA-137B、PaLM-540B。所有模型、所有所列推理任务上均明显高于贪心 CoT。与 PaLM-540B 或 GPT-3 结合时,若干算术任务达到当时新 SOTA。
消耗推理算力(多样本)。依赖能解析出的最终答案格式。模型校准差:各条路径的归一化概率往往接近,所以多数票比「信概率最高的那条」更有用。对象仍是语言推理,不是环境循环。
CoT 默认贪心一条路。一步算错,整条链废掉。多条独立思路落到同一答案,把握更大。
Self-consistency 把这做成解码:不训新模型,只多花采样。边际化的是路径,留下的是答案——错链更难碰巧投到同一错误数字。
后来的 best-of-n、对工具调用再采样、编码 Agent「再生成一个补丁」,机制同类:用计算换一致性。它不是根据环境观察改计划。投票发生在模型自己的语言样本之间,没有 Observation。循环里的重试 / 反思有一条采样聚合的根在这里;根不是环境闭环。
Chowdhery 等,2022-04,PaLM: Scaling Language Modeling with Pathways(Google)。6144 块 TPU v4,Pathways 跨 Pod 训练。
原文:arXiv:2204.02311。
Aakanksha Chowdhery, Sharan Narang, Jacob Devlin 等(Google 长作者列表)。PaLM: Scaling Language Modeling with Pathways。2022-04-05 首挂,10 月修订。arXiv:2204.02311。
大语言模型已能在多种自然语言任务上靠少样本学习取得可观成绩,从而大幅减少为某一应用准备的任务专用训练样本。为进一步理解规模对少样本学习的影响,作者训练了一个 5400 亿参数、稠密激活的 Transformer 语言模型,称 Pathways Language Model(PaLM)。训练使用 6144 块 TPU v4,系统是 Pathways——可高效跨多个 TPU Pod 训练。
规模继续带来收益:在数百个语言理解与生成基准上达到当时少样本 SOTA。若干任务上出现突破性表现:在一套多步推理任务上超过微调 SOTA;在当时新发布的 BIG-bench 上超过平均人类表现。相当数量的 BIG-bench 任务随规模出现不连续改善——扩到最大模型时成绩陡升。多语言与源码生成同样强。文中另有偏见与毒性分析,以及训练数据记忆相对规模的研究,并讨论大模型伦理与缓解策略。
对象是解码器稠密 Transformer,不是稀疏专家混合。Pathways 的工程意义:把此前难以跨 Pod 的规模做成一次训练。少样本评测贯穿全文:强调的是「同一检查点、不按任务微调」的能力,而不是为每项任务再训一个模型。
多步推理段落与同期 Chain-of-Thought 论文互相引用:PaLM 540B 是那篇论文里把 GSM8K 推到当时最好的那只模型。本文把同一现象写成规模事实——同样协议,小模型几乎没用,最大模型才涌现。
偏见、毒性、记忆训练数据随规模变化,需要单独分析,不能只报平均分。伦理讨论占文末篇幅。对象仍是语言模型检查点与基准,不是开放环境里的行动循环。
GPT-3 已证明规模带来少样本。下一步要问:再放大一个数量级,少样本、多步推理、对抗性基准会不会继续涨。PaLM 用 540B 稠密模型和跨 Pod 训练给出答案:少样本继续刷新;BIG-bench 上出现不连续跳;多步推理可以超过微调 SOTA。
对 2022 年的读者,它是思维链提示的物理底座:没有够大的检查点,写中间步骤只是流畅的错误链条。
「涌现」从此有一张可引用的图:若干任务在扩到最大模型时才陡升。后来谈 100B 阈值、谈推理随规模跳,都会回到这一页。多语言与代码生成同检查点,也预示决策核心不必再拆成「语言一只、代码一只」。
循环里的 Thought 要靠核心自己生成可执行的中间语言。2022 年这还不是提示词能单独解决的:小模型写得出句子,写不出可靠步骤。规模是当年核心能力的物理上限之一。它本身不是 Agent:没有工具 schema,没有环境。
Kojima 等,2022-05,Large Language Models are Zero-Shot Reasoners。
原文:arXiv:2205.11916。
Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, Yusuke Iwasawa. Large Language Models are Zero-Shot Reasoners。2022-05。arXiv:2205.11916。Kojima 通讯;部分工作完成于东京大学,Gu / Reid 属 Google Research。
中文译本:技术栈(正文节译)。
大模型通常被当作带任务示例的优秀少样本学习者。Wei 等的 CoT 用逐步答题示例引出复杂推理。这些成功常被归因于少样本学习。本文表明:只要在每个答案前加上 “Let’s think step by step”,LLM 已是像样的零样本推理者。同一句模板覆盖算术(MultiArith、GSM8K、AQUA-RAT、SVAMP)、符号(Last Letter、Coin Flip)及其他逻辑任务(日期理解、物体追踪等),无需手工少样本。InstructGPT(text-davinci-002)上 MultiArith 17.7%→78.7%,GSM8K 10.4%→40.7%;PaLM 540B 有同量级提升。作者希望这成为困难推理基准上最强的最小零样本基线,并强调在做微调数据或少样本示范之前,应先挖掘模型里已有的零样本能力。
与 Few-shot-CoT 不同:不需要逐步示例;与多数零样本模板不同:任务无关,单模板跨多种推理。
两段提示。 (1) 推理抽取:Q: [问题]. A: Let's think step by step. 贪心解码得到思维链 (z)。(2) 答案抽取:把第一段提示、(z) 与任务相关的结束句拼起来(如「Therefore, the answer (arabic numerals) is」),再生成并解析。Few-shot-CoT 靠示例自带格式避免第二段;Zero-shot-CoT 工程更少,但要调两次模型。
文中比较了其他触发句(Table 4);「Let’s think step by step」是主结果用句。
相对标准零样本,增益极大;仍低于精心设计的任务专用 Few-shot-CoT。Few-shot-CoT 在示例题型与测试题型不匹配时会恶化;Zero-shot-CoT 用固定一句,跨任务更稳。随规模,零样本曲线变得可与少样本 CoT 比较。
仍显著弱于最好的 Few-shot-CoT。需要两次前向。答案抽取句仍按题型略作区分。对象仍是语言推理,不是工具。
CoT 有效,但每类题要写逐步示范,题型一换还可能伤成绩。成功容易被记在「少样本」账上。本文把示范拿掉,只留一句英语祈使,证明多步推理也可以是零样本模板引出的能力。
「先想再答」的触发成本降到可复制的一句。后来系统提示里的 think step by step、思维链开关、Agent 里默认先输出 Thought,都不再依赖为 GSM8K 手写的那 8 条。它没有把计算接到环境:没有搜索,没有解释器。协议可复制,循环仍未接通。
Karpas 等,2022-05,MRKL Systems(AI21 Labs)。Modular Reasoning, Knowledge and Language;读作 miracle。实现称 Jurassic-X。
原文:arXiv:2205.00445。
Ehud Karpas, Omri Abend, Yonatan Belinkov, Barak Lenz, Opher Lieber, Nir Ratner, Yoav Shoham 等。MRKL Systems: A modular, neuro-symbolic architecture that combines large language models, external knowledge sources and discrete reasoning。AI21 Labs。2022-05。arXiv:2205.00445。
巨大语言模型打开了自然语言知识任务的入口,但也有固有限度。作者把挑战看成:除语言处理外,还涉及知识与推理。定义一种灵活架构:多个神经模型,配上离散知识与推理模块。称 Modular Reasoning, Knowledge and Language(MRKL,读 miracle)。文中讨论实现中的技术挑战,以及 AI21 的实现 Jurassic-X。
作者把 LM 看成通向知识宇宙的文本门户,而不只是句法模型。即便如此,输出仍常错。根因写成三条,外加部署上的第四条:
结论:大模型仍是未来 AI 系统的必要骨干;问题是如何取其利、避其害。
可扩展的 专家模块 + 路由器:每条自然语言输入送到最能应答的模块;模块输出可以是系统输出,也可以再送到另一模块。模块可以是神经的(通用大 LM 或更小的专用 LM),也可以是符号的(计算器、汇率转换、数据库 API)。
相对多任务微调模型,作者列六条好处:安全回退(无匹配则直送大 LM);稳健扩展(专家独立训,只需再训较轻的路由器);可解释(「因为计算器这么说」);时效信息;专有知识;组合性(多跳输入分给不同专家再整合)。
已实现并给少量合作方试点;文中称即将对开发者开放,并提供 demo。这是厂商系统,不是开源协议。
路由器决定调用哪一模块后,若目标是符号过程,必须从文本抽出离散参数。神经到神经接口自然;到数据库 / API / 计算器则没有免费午餐,但往往负担得起——成本在严谨地训路由器抽参。第 3 节用基本算术演示如何训练 Jurassic-X 抽取运算。
路由与抽参要专门训练。哪些计算该留在神经侧、哪些该交给符号,作者不取死立场,认为会随时间变。实现是私有试点,不是跨厂商标准。
2022 春,业界开始把 GPT-3 级模型当万能接口。本文把失败模式写明确:过时知识、进不去的私有库、算术不可靠、每加一个任务就爆炸。解法不是再训一只更大的端到端模型,而是 系统:路由器 + 可插专家。
专家是真计算器、真 API,不是提示词里假装会搜。也和后来的开放函数协议不同:路由与抽参是厂商自己训的,调用方看不到统一 schema。Function Calling 要到 2023-06。
「LLM 必须外挂知识与离散推理」成为可引用的架构主张。2023 的插件、工具、Code Interpreter,问题陈述几乎逐条对应这里的缺口。MRKL 本身没有成为跨厂商标准:Jurassic-X 是试点。记它,是因为图先画出来了;可解析的函数选择与产品要到 2023。
GitHub,2022-06-21。技术预览变成付费产品。与 2021 技术预览分开记:2021 年是名额有限的实验,2022 年有了价格与默认用户。
当时公告:GitHub Copilot is generally available to all developers。
本页转述 2022-06-21 正式商用当时公开说了什么,不以 2023 Copilot X / Chat、更不以后来的编码 Agent 回填。
主要出处:GitHub CEO Thomas Dohmke,2022-06-21,GitHub Copilot is generally available to all developers。
本页不复制公告全文。
GitHub Copilot generally available,面向个人开发者。自称仍是 AI pair programmer:在编辑器里建议代码。定价 每月 10 美元或每年 100 美元。已验证学生与热门开源项目维护者免费。提供免费试用。
公告把这次发布放进软件史:继编译器与开源之后,AI 辅助编码会改变开发方式——让写代码更容易、更快。同时写明:此前 AI 已能写邮件、生成相册、当购物助手,但改善写代码这件事一直几乎完全靠人手;今天第一次可以让开发者普遍用上 AI 来写和补全代码。
专门做成编辑器扩展,以免挡住正在做的事。输入代码或注释时,建议下一行;不只是单词或单行,也可以建议完整方法、样板、整份单元测试,乃至复杂算法。
公开列出的能力:
没有「给一个仓库级目标、自己改到测试通过」的产品叙事。人始终在环路中,建议出现在光标处。
过去 12 个月技术预览超过 120 万开发者。启用 Copilot 的文件里,在 Python 等热门语言上,近 40% 的代码由 Copilot 写出——并称预期还会升高。开始用的人很快把它当成日常工作流里少不了的一部分。
公告写:今天对所有开发者可用;对企业将在 2022 年晚些时候开始提供。这是「用 AI 赋能开发者」的第一步。
技术预览证明 IDE 里的行级建议有人用。GA 解决的是另一件事:谁付钱、谁能默认打开、编辑器覆盖到哪。120 万预览用户和「启用文件里约四成新代码」把编码助手从演示变成可计量的日常工具。
交互范式没有改:仍是光标处的建议,不是对话,更不是目标驱动的循环。企业版还没到。Chat 窗口、工作区 Agent 都不在 2022-06 的产品表面。
「程序员每天对着模型写代码」从此有付费用户。2023 以后所有 Copilot Chat、工作区、编码 Agent,都假定这层补全已经合法、已嵌入编辑器。按 AI Agent 定义它不是 Agent:副作用在编辑器缓冲区,观察等于当前光标上下文,决策等于补全下一片段,没有终止于目标的循环。把它写成 2022 年的编码 Agent,会把后来的品类提前一年。
Glaese 等,2022-09,Improving alignment of dialogue agents via targeted human judgements。基座 Dialogue-Prompted Chinchilla。
原文:arXiv:2209.14375。
Amelia Glaese, Nat McAleese, Maja Trebacz, John Aslanides 等。Improving alignment of dialogue agents via targeted human judgements。DeepMind。2022-09。arXiv:2209.14375。产品名 Sparrow。
Sparrow 是信息寻求对话 agent,训练目标是比提示语言模型基线更有帮助、更正确、更无害。RLHF 上加两处,好让人更容易评判行为。第一:把「好对话」拆成 agent 应遵守的自然语言规则,标注者对每条规则分开打。拆开之后可以得到更有针对性的判断,并训出按规则条件化的奖励模型。第二:收集偏好时,agent 为事实主张提供来源证据。事实问题上,证据支持所抽样回答的比例为 78%。Sparrow 比基线更常被偏好,同时更能扛住人类对抗探测——被探测时违规约 8%。尽管模型学会跟规则,仍会表现分布层面的偏见。
信息寻求对话:用户提问与追问,agent 给答案。比闲聊目标更清楚(信息给到了没有),也更容易定义伤害。基座是 Dialogue-Prompted Chinchilla 70B(DPC)。对话里引入 Search Query / Search Result 角色,检索走 Google Search,证据展示给标注者(扩展 GopherCite 到多轮)。模型可选择搜或不搜。
约 23 条规则(刻板印象、威胁、假装人类身份、不当金融建议等),用于对抗探测和规则条件分类。作者写明规则集是为了测方法,不求完备,上线前需大改。
数据:轮次偏好(多条候选里选更好的)+ 针对某条规则的对抗探测。训偏好 RM 与规则 RM。用 A2C,从 DPC 初始化,联合优化「少违规」和「更受偏好」。循环:更好的策略再去采数据。测试时也可用 RM 重排。
与 LaMDA、Anthropic assistant、SeeKeR 对照:LaMDA 也按规则标注,但不按规则条件化来缓解与评测,且用监督与排序而非 RL;Bai 等用单一奖励模型、不拆规则、不接入外部证据。
RLHF 模型相对纯提示、重排或只要 SFT 的基线更受偏好,对抗违规更低。带证据的回答可被标注者核验。分布分析:跟规则改善的是实例伤害;方法可能放大分布公平问题。
规则不完备。缓解针对实例,不自动解决社会/语言/环境正义一类目标。会放大分布偏见。任务是问答对话,不是开放世界执行。文末称对话也可作为将来把多种证据与指令合在一起、帮人评判 agent 的介质(如辩论)。
WebGPT 已经证明:受控浏览 + 人的偏好,可以把回答接到网页证据上。Sparrow 把场景改成多轮信息寻求,并把「无害」拆成可逐条探测的自然语言规则,而不是一个笼统的安全分。证据给标注者看,降低「听起来像真的」蒙混过关。
它仍是对话:Search 是为了回答下一句,不是为了改环境状态。作者自己把模型叫 dialogue agent,任务边界写得很窄。
「带出处的对话」和「规则可单独打分」后来分别出现在产品引用卡和对齐配方里。对 Agent 史它是问答研究原型:有检索动作,观察通道是页面,谓词是带引用的答案。循环为的是答对,不是执行开放目标。不要把它写成已经交付的自主执行产品。
Yao 等,2022-10,ReAct: Synergizing Reasoning and Acting in Language Models。ICLR 2023。
原文:arXiv:2210.03629。项目页:react-lm.github.io。
Shunyu Yao(实习于 Google;普林斯顿), Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao。ReAct: Synergizing Reasoning and Acting in Language Models。2022-10。arXiv:2210.03629。代码与项目页:https://react-lm.github.io/。
中文译本:博客园(正文节译)。
LLM 的推理(如 CoT)与行动(如生成动作计划)此前多被分开研究。ReAct 让模型交错生成推理轨迹与任务相关动作:推理用来引出、跟踪、更新行动计划并处理例外;动作用来对接知识库或环境、采集额外信息。
在问答(HotpotQA)和事实验证(FEVER)上,通过一个简单的 Wikipedia API,ReAct 缓解 CoT 里常见的幻觉与误差传播,轨迹比没有推理痕迹的基线更可解释。在两个交互决策基准(ALFWorld、WebShop)上,相对模仿学习 / 强化学习方法,成功率绝对提升分别约 34% 和 10%,提示里只用一两条上下文示例。
人的智能把面向任务的动作与内部语言推理缠在一起。CoT 是静态黑盒,不接地,难以及时按外部世界改知识,易幻觉、易沿链条错下去。先前用预训练 LM 在交互环境里规划/行动的工作,多半把观察转成文本再预测领域动作,却很少用 LM 对高层目标做抽象推理或维持工作记忆。
一般设定:时刻 (t) 观察 (o_t),策略 (\pi(a_t \mid c_t))。ReAct 把动作空间扩成 (\hat{\mathcal{A}} = \mathcal{A} \cup \mathcal{L}):语言空间里的动作称 thought,不改变外部环境、没有观察反馈,只把有用信息写进上下文以支持后续推理或行动。思想类型包括:拆目标与做计划、注入常识、从观察里抽取要点、跟踪进度、处理例外。
主实验:冻结 PaLM-540B,few-shot 示例是人写的「动作 + 思想 + 观察」轨迹。知识密集型任务上思想与动作密集交替;决策任务动作空间大,思想可以稀疏出现,由模型自己决定何时插入。附录用 GPT-3(text-davinci-002)时,有的任务强于 PaLM。
性质(作者列):提示好设计(人在动作旁写下想法即可);通用(QA、事实验证、文字游戏、网页导航);少样本即可泛化;人可检查推理与事实来源,也可靠编辑 thought 当场纠偏。
动作: search[entity](页面存在则返回前 5 句,否则给 5 个相近实体);lookup[string](页内下一次出现,模拟 Ctrl+F);finish[answer]。有意弱于当时最好的检索器,为了模拟人查维基、逼模型用语言推理来检索。
HotpotQA 6 条、FEVER 3 条人工轨迹作 few-shot。基线:Standard、CoT、CoT-SC(21 条、温度 0.7)、Act(去掉 thought,略像 WebGPT 的交互,但任务与动作空间不同)。
数字(PaLM-540B)。 ReAct 稳定优于 Act。相对 CoT:FEVER 60.9 vs 56.3;HotpotQA 27.4 vs 29.4(略低)。FEVER 的 SUPPORTS/REFUTES 往往只差一点,检索准确知识更关键。人工看轨迹:ReAct 更事实、更接地;CoT 推理结构更准,但易幻觉。总体最好的是启发式切换:ReAct 步数用尽则退回 CoT-SC;CoT-SC 多数票不够自信则改 ReAct。
微调:用 ReAct 生成的约 3000 条答对轨迹微调 PaLM-8B / 62B,小模型可变强。
ALFWorld: 文字版家务;一条任务可能 50+ 地点、专家也要 50+ 步。最好一次 ReAct 成功率 71%,最好 Act 45%,BUTLER 37%(绝对约 +34%)。最差一次 ReAct(48%)仍超过另两法最好一次。无 thought 时 Act 不会把目标拆成子目标,也跟丢状态。相对 Inner-Monologue 风格的密集外部反馈提示(ReAct-IM)也明显更好(71 vs 53)。
WebShop: 真实商品网页、用户指令买东西。成功率绝对约 +10%。环境噪声大、文本结构混杂。
限度(提示设定):复杂动作空间的示范塞不进上下文;推理与行动行为的覆盖有限。作者认为扩大任务、再结合强化学习还有空间。
CoT 让模型在 token 序列里多步计算,但算完没有新观察:事实靠参数记忆,错了沿链条传下去。先前让模型在交互环境里行动的工作,却很少用语言维持计划和工作记忆。两边分开,各缺一块。
ReAct 的解法是改生成格式:Thought 不碰环境,Action 才碰,Observation 写回上下文。动作空间扩成 (\hat{\mathcal{A}} = \mathcal{A} \cup \mathcal{L}):语言里的 thought 没有观察反馈。同一只冻结大模型,靠少数轨迹示范,就能在维基问答和家务文字游戏里跑循环。它没有发明新权重算法,发明的是可抄的控制协议。
实现是字符串约定:模型吐 Action:,宿主正则或伪 DSL 解析,失败即掉步。没有 schema,没有事务,没有外部完成判据。Function Calling 还有八个月。
「边想边做」成为默认叙事。后来几乎所有 Agent 提示(LangChain 的 AgentExecutor、各种 ReAct 模板、开源框架里的 scratchpad)都在抄 Thought / Action / Observation。论文自己已经写明:最好成绩往往要和 CoT-SC 切换——纯循环不是万能。微调约 3000 条轨迹让小模型追上,也预示协议可以变成训练目标,不只是提示。
按 定义 的四要素,这是 2022 年在协议层的第一次重合:LLM 选下一步、交错多步、Action 改环境、Observation 写回再选。HotpotQA 上的 search/lookup 是真检索;ALFWorld / WebShop 更是交互环境。重合停在公式和基准:执行靠解析,环境是论文集,无产品级沙箱,无仓库谓词。
时间要拆开:论文首证在 2022-10(ChatGPT 尚未发布);被框架和产品当成默认控制协议是 2023。2022 年引用爬得慢,不等于它晚一年才存在。把 ReAct 写成已经交付的运行时,会把工程化提前一年。
Harrison Chase,2022-10。仓库 10-17,PyPI langchain 0.0.1 于 10-25。口号:Building applications with LLMs through composability。公司 2023-02 才成立。
当时包页:PyPI langchain 0.0.1。仓库首日:langchain-ai/langchain(2022-10-17 创建)。
LangChain 在 2022 年没有对应研究论文。本页转述 包刚出现时公开说了什么,不以 2023 公司、2024 拆包、LangGraph 回填。
主要出处:
hwchase17/langchain)langchain 0.0.1,上传于 2022-10-25,简介 Building applications with LLMs through composability公司侧:Harrison Chase 后来写明,当时没有公司、没有宏大计划;2023-02 才创办公司,认定这个包只是第一件工具。本页不展开融资与后续产品。本页不复制 README 全文。
LLM 正在变成能做出此前做不出的应用的技术。但单独用 LLM 往往不够——真正的力量来自把它们和其他计算或知识来源组合起来。这个库协助开发那类应用,目标写成三条:
认证类 API 用环境变量:当时列出 OpenAI、Cohere、SerpAPI(Google Search)。用哪个才需要设哪个。
README 写明:项目很大程度上受 Twitter 上几个项目启发,初期功能是为了把那些做法收成更明确的工具。
SelfAskWithSearchChain + OpenAI + SerpAPIChain,例题是「卫冕美网男单冠军的家乡」。LLMMathChain,整数整除计数一类题。Answer: Let's think step by step.文档指向 Read the Docs;作者称上面三个例子可能是当时最友好的说明。
0.0.1 没有后来的 AgentExecutor 全家桶叙事,也没有公司、云观测、图执行引擎。它是 MIT 许可的个人仓库 Python 包:Prompt、LLM、Chain、搜索与计算器各一块,用 pydantic 拼起来。
论文和演示里已经有 self-ask、检索、计算器、先想再答。每做一个演示就要重写提示词、重接 API、重解析输出。LangChain 把这些收成 Chain:同一套 LLM 包装,换搜索或换数学链。成本从「读论文再接线」降到 pip install。
它不是新推理算法,也不是把循环写进论文的那种协议——同月的 ReAct 挂在 arXiv 上,库的第一批例子甚至还没有以 ReAct 为名。它是工程上的默认拼法。控制流在调用方进程里,状态在内存和提示里。不是跨厂商协议。
ChatGPT 一个月后放出,开发者要自己接工具。现成胶水成为默认入口,2023 年的 Agent 教程大量从这里起步。后来的批评(抽象过重、版本不稳)针对的是膨胀期,不能用来否定 2022 秋那三条目的:组合、链、可分享。公司 2023-02 成立,产品史从那里分叉;今年只记生日。胶水能把循环复制出来;胶水不是协议,也不是完成谓词。
Gao 等,2022-11,PAL: Program-aided Language Models。Codex few-shot;GSM8K 超过 PaLM-540B 的 CoT。
原文:arXiv:2211.10435。项目页:reasonwithpal.com。
Luyu Gao, Aman Madaan, Shuyan Zhou, Uri Alon, Pengfei Liu, Yiming Yang, Jamie Callan, Graham Neubig。PAL: Program-aided Language Models。CMU LTI;部分作者兼 Inspired Cognition。2022-11。arXiv:2211.10435。代码与数据:http://reasonwithpal.com。文中写作 PaL / PAL。
LLM 在少样本提示下已能做算术与符号推理,很大程度归功于 CoT 一类方法:模型既要理解题意并拆步,又要亲自解每一步。拆步往往还行,求解部分却常出逻辑和算术错。PAL:让 LLM 读自然语言题,把程序当作中间推理步骤,把求解交给 Python 解释器一类运行时。对 LLM 而言,学习任务收成「把题拆成可运行步骤」;求解委托解释器。
在 BIG-Bench Hard 及其他基准的 13 项数学、符号、算法自然语言推理任务上,用 LLM 生成代码、用解释器推理,比大得多的模型更准。例如 Codex 的 PAL 在 GSM8K 上达到当时少样本最好,top-1 绝对超过使用 CoT 的 PaLM-540B 约 15 个点。
推理直到不久前仍被视为 LLM 未克服的挑战。CoT / scratchpad / least-to-most 让模型先写步骤。但复杂算术、大数字上成绩骤降;即便在大量数学文本上微调,两类最常见失败仍是「推理错」和「计算错」。
CoT 的上下文示例是 (\langle x_i, t_i, y_i \rangle)(题、自然语言步骤、答案)。PAL 的示例是 (\langle x_i, t_i \rangle):(t_i) 是自然语言与程序语句交错的序列,不提供最终答案——答案由解释器跑出来。自然语言步骤写成语言注释(如 Python # ...),解释器忽略。本文用标准 Python 解释器;作者称也可换成其他求解器、解释器或编译器。
图 1 对照:CoT 全程自由文本;PAL 在逐步注释旁写出 tennis_balls = 5、bought_balls = 2 * 3 一类语句,最后由运行时给出答案。
13 项任务上,Codex + PAL 超过用 CoT 的更大模型(含 PaLM-540B)。GSM8K:绝对约 +15% top-1。作者另造 gsm-hard(把数字改大):PAL 相对 CoT 绝对约 +40%。主张:神经 LLM 与符号解释器的这种配合,是通向更通用、更稳健推理者的必要一步。
依赖能生成可运行程序的代码模型(实验主用 Codex)。提示仍要为 PAL 手工组织。对象是推理基准上的解释器,不是通用操作系统沙箱,也不是开放 Agent 循环。
CoT 证明中间步骤有用,但步骤仍由同一个下一词模型执行。语言模型擅长把应用题译成步骤,不擅长当计算器——数字一大就错。继续放大模型或继续在数学语料上微调,算错仍是主因之一。
PAL 把责任切开:理解与拆解留在 LLM,执行交给确定性运行时。解释器是计算器,不是云端虚拟机。这和把算术交给 MRKL 式专家是同一信念,实现却是 few-shot 程序,不必为路由器单独训抽参模型。答案由解释器跑出来,不由模型口述。
2023 的 Code Interpreter、各种「生成代码再在沙箱里跑」,问题陈述几乎就是这一页:不要让模型心算。Agent 循环里的 Action 从此可以是 run_python,Observation 是 stdout。PAL 自己还不是那种产品:没有持久文件系统、没有用户级权限模型,评测是 GSM8K 不是 SWE-bench。硬的是分工——解释器当计算器——不是云虚拟机。
OpenAI,2022-11-30,Introducing ChatGPT。免费研究预览。对话形态的 InstructGPT 兄弟;基座属 GPT-3.5 系列。
当时公告:Introducing ChatGPT。
ChatGPT 发布没有对应一篇新的训练论文。本页转述 当天博客公开说了什么,不以 2023-03 GPT-4、插件、浏览、Code Interpreter 回填。
主要出处:OpenAI,2022-11-30,Introducing ChatGPT。本页不复制公告全文。
推出 ChatGPT:在对话中交互的模型,能跟进追问、认错、质疑不正确的前提、拒绝不当请求。免费研究预览,入口 chat.openai.com。
与 InstructGPT 对照:公告用并排例子说明对话微调后的行为变化——例如拒绝「如何霸凌某人」;对「哥伦布 2015 年来美国」这类带错误前提的问题,会指出哥伦布已于 1506 年去世再进入假想,而不是顺着假前提编一段旅游见闻。
用与 InstructGPT 相同的 RLHF 方法,数据收集设置略有不同。
ChatGPT 从 GPT-3.5 系列的一只模型微调而来;该系列在 2022 年初训练完成。训练基础设施为 Azure AI 超算。
公告把这次研究发布写成迭代部署的一步;较早的 GPT-3、Codex 部署经验进入了安全缓解。鼓励用户在界面里对问题输出和过滤器误报/漏报给反馈。
这是网页上的多轮聊天。公告没有把「替用户执行开放世界动作」写成能力;后续产品(插件、浏览、替用户发信)不在 2022-11-30 的表面。
InstructGPT 已经让 API 默认跟指令。普通用户没有 Playground,也没有「系统消息 + few-shot」的工程师习惯。ChatGPT 把同一套对齐做成对话框:多轮、可纠正、可拒绝,网址即可用。数据侧的关键差别是双向对话演示,以及把指令数据改成对话格式——对象从「一次性完成指令」变成「接着聊」。
它解决的是入口和交互习惯,不是工具、不是沙箱、不是任务闭环。幻觉、冗长、对措辞敏感,公告自己写在限度里。它不调任意工具,不跑沙箱循环。
「对着一个会多轮改主意的 LLM 说话」变成默认人机界面。2023 年所有系统提示、Chat Completions、后来的 Agent 对话框,都假定操作者已经会用这种界面。GPT-3.5 这个名字也从这里进入大众词汇。规模与对齐过的对话模型,从此不再只是论文数字。
按 AI Agent 定义,ChatGPT 不是 Agent:观察等于用户下一句,行动等于再生成,没有对环境产生副作用的循环。它改变的是谁会来用决策核心,不是执行语义。2022 年舆论中心是 ChatGPT,不是 ReAct——时间线必须分开记。不能用后世重要性把 11 月的产品写成已经在执行任务。Function Calling 要到八个月后。
Bai 等,2022-12,Constitutional AI: Harmlessness from AI Feedback(Anthropic)。SL 自我批评 + RLAIF。
原文:arXiv:2212.08073。
Yuntao Bai, Saurav Kadavath, Sandipan Kundu, Amanda Askell 等。Constitutional AI: Harmlessness from AI Feedback。Anthropic。2022-12。arXiv:2212.08073。通讯 yuntao / jared @ anthropic.com。
系统越强,越希望让 AI 帮助监督其他 AI。本文实验:在没有任何「这是有害输出」的人类标签的情况下,训练一个无害的 AI 助手。人类监督只通过一份规则或原则清单,故称 Constitutional AI。过程含监督与强化学习两阶段。监督阶段:从初始模型抽样,生成自我批评与修订,再把修订后的回复拿去微调原模型。强化学习阶段:从微调后的模型抽样,用模型评判两条样本哪条更好,由此训偏好模型,再以该偏好模型为奖励做 RL——即 RL from AI Feedback(RLAIF)。结果是无害但不回避的助手:遇到有害询问会解释反对理由。监督与 RL 都可以借助思维链式推理,提高人评判的表现与决策透明度。这些方法能更精确地控制行为,并大幅减少人类标签。
目标仍是 helpful / honest / harmless,且部分能力将达到或超过人类水平,因而不能靠人监督行为的每一方面。作者称该方法为 CAI。相对此前用人类反馈训无害助手:RL-CAI 在众包比较中优于先前采集的伤害人类标签所训的模型。
选「constitutional」一词:既因为可仅靠一份短原则训练更少伤害的系统,也强调部署通用 AI 时不可能不选择某些原则,哪怕它们隐藏着。
具体动机:(1) 研究用 AI 帮助监督 AI、从而扩展监督;(2) 改进先前无害助手——去掉回避、减轻有帮助与无害之间的张力、鼓励解释为何拒绝;(3) 让原则及其实现更透明;(4) 改目标时不必再采新的人类伤害标签,缩短迭代。
先前 RLHF 的奖励已经来自 AI 偏好模型,但通常仍要数万条人类偏好标签。本文把人类输入减到极端:无害性微调大约只需十来条自然语言原则。原则为研究目的较随意迭代写成;作者认为将来应由更多利益方重写,并随用途与部署地点调整。
监督(SL-CAI)。 让模型「上分布」,并控制 RL 起始行为,缓解探索问题:抽样 → 按宪法某条原则自我批评 / 修改 → 用修订回复微调。
强化学习(RL-CAI)。 显著提高表现与可靠性:AI 反馈构造偏好 → 偏好模型 → RL。两条路径都可以用 CoT 让评判更可读。
相对只用人类反馈的 Helpful / HH 模型:后者在有帮助与无害之间权衡明显;RL-CAI 在给定有帮助水平下更少伤害。评测众包被要求:两条同样无害时,偏好更不回避的回复——这也是人类反馈 HH 模型在无害分数上差得不那么大的原因之一。
原则清单短、由实验室选择,不是社会共识。本文几乎取消对无害性的直接人类监督,长期目标却是让人类监督更有效,而不是永远去掉人。对象是对话助手的伤害与回避,不是工具循环或开放任务执行。
InstructGPT / ChatGPT 的无害性依赖大量人类比较。伤害标注贵、难一致,而且「拒绝」容易训成回避。Sparrow 把规则交给人类逐条打。Constitutional AI 再走一步:伤害标签几乎不用人写,人只写十来条原则;批评、修改、偏好都由模型按原则完成。附带目标是:拒绝时说明理由,而不是把对话卡死。
RLAIF、原则清单、自我批评,成为后来 Claude 系公开叙事里的训练前提。改安全目标不必重新采一轮伤害标签——迭代从数据收集变成改宪法文本。思维链进入评判过程,也让「模型为什么拒绝」比黑盒奖励更可读。
对执行循环几乎没有直接贡献:没有 Observation,没有工具。记在 2022 年,是因为后面能上线的对话产品 / 工具运行时,决策核心必须先能被原则管住;Claude 系用户 2023 年起碰到的拒答与解释,配方根在这里。它是对齐与可控的旁支,不是 ReAct 那种控制协议。
一句话主线: 2023 年,LLM Agent 在形态上第一次被工程化——ReAct 的文本循环被抄进产品,Function Calling 把工具从 prompt 约束收成 API,AutoGPT 把无界自主循环送上舆论顶点。同年也证明:热度不等于完成率。
2023 年是按时间线学 Agent 的样板页。定义和六类里程碑见 调研方法,总弧线见 概述。
没有 2022 年底的对话接口和思维链,2023 的循环没有可挂载的核心。2023 年模型侧又补了两块落地前提:
gpt-3.5-turbo-16k 把窗口从约 4k 拉到 16k;11 月 GPT-4 Turbo 到 128k。上下文长度是一次轨迹能装下多少观察的物理上限——当时仍然偏短,长任务只能靠外部记忆和截断,状态丢失随处可见。窗口够,仍不产生副作用。Toolformer(2023-02)从训练侧证明「该在何时插入工具调用」可学,而不是只能靠提示词约定。ReAct 论文更早(arXiv 2022-10,会议在 ICLR 2023),但大规模抄进产品循环发生在 2023 上半年。叙事上:论文是首证,2023 年是它被抄成默认控制协议的一年。
只记改写了后续可能的事件。每条一个分类,标签可多个(六类历史角色)。ReAct 的论文在 2022,今年是被抄进产品的一年,不另占行。
| 时间 | 事件 | 分类 | 标签 | 为什么记 |
|---|---|---|---|---|
| 2023-02 | Toolformer | 论文 | 首证 | 从训练而非纯 prompt 证明「该在何时调工具」可写入权重,而不只存在于提示词约定 |
| 2023-03 | GPT-4 | 模型 | — | 决策核心第一次撑得住稍长的工具链(schema、错误回执、部分结果之间保持目标)。后续产品默认站在它上面。核心不是 Agent |
| 2023-03 | ChatGPT plugins | 产品 | 工程化 | 把「模型 + 外部工具」做成面向终端用户的产品形态;清单与鉴权仍是厂商私有协议 |
| 2023-03 | AutoGPT 爆红 | 产品 | 引爆 | 把终止条件交给模型自己写的任务队列,四要素在形态上接通。star 数度量传播,不度量完成率;空转与不可逆副作用是无界循环的预期行为 |
| 2023-03 | BabyAGI | 产品 | 引爆 | 用更短的任务队列演示同一控制流归属:模型列任务、模型选下一步。衍生项目极多,大多很快消失 |
| 2023 全年 | LangChain 成为默认编排层 | 框架 | 警示 | 把 chain / agent / tool 做成库,循环可复制。后来的批评针对抽象层过厚,不否定「当时必须有人把循环跑起来」——当时生态与后来口味要分开看 |
| 2023-04 | Generative Agents(Stanford) | 论文 | 首证 | 用记忆流 + 反思做社会模拟,打开「长期记忆 / 角色」旁支。不是任务型 Agent 的主线:完成谓词是行为可信,不是仓库绿 |
| 2023-05 | Voyager 等「开世界」实验 | 论文 | 首证 | 在 Minecraft 等环境里展示终身学习式技能库;影响力在研究,不在生产 |
| 2023-06 | OpenAI Function Calling | 协议 | 工程化 | 工具调用从 prompt 约束变成 API:name + arguments 可校验。循环仍由调用方写。后续各家 tool use 沿这条形状走。协议不是系统 |
| 2023-07 | ChatGPT Code Interpreter(后称 Advanced Data Analysis) | 产品 | 工程化 | 模型在云端隔离 VM 里写代码、看图、处理文件。只要允许模型执行代码,沙箱就从可选项变成执行边界;观察通道是真实 stdout / 异常栈 |
| 2023-08 | Microsoft AutoGen | 框架 | 工程化 | 把多角色做成消息总线。控制流变成「谁对谁说话」。至少一方执行代码或外部调用,才有作用在环境上的循环;只产文本则仍是对话 |
| 2023-10 | SWE-bench | 评测 | 首证、警示 | 第一次给出仓库级完成判据:真实 GitHub issue 对应的测试必须通过。当时公开分数接近零。循环能转与目标已达成,从此必须分列 |
| 2023-10 | MemGPT | 产品 | 首证 | 用操作系统式分层分页对抗窗口上限。延长的是循环能走的步数,不引入新动作类型 |
| 2023-11-06 | GPT-4 Turbo | 模型 | — | 128k 窗口,单次轨迹能多装文件。工作集变大 ≠ 副作用产生。发布会不当条目 |
| 2023-11-06 | Assistants API | 产品 | 工程化 | 线程、工具、检索收成托管状态机雏形。循环上云,锁在一家 API。GPTs 不单独升格 |
刻意不升格为里程碑的:无数「AutoGPT 克隆」、大多数行业演示、GPT Store 里的 GPTs(自定义助手,不是循环产品)、以及任何只有厂商通稿、没有可复现行为的「自主员工」宣布。发布会不当条目。
GPT-4 让长链规划不再完全是幻觉;Function Calling 让工具选择可解析;16k–128k 上下文让单次循环能多装一点材料。推理仍是显式的:靠 CoT / ReAct 把想法写进文本,还没有后来的推理模型把规划藏进内部计算。多模态几乎还没进入 Agent 主线——看不见屏幕,就谈不上通用电脑操作。模型是核心,不是系统。
2023 年的关键词是框架,不是跨厂商协议。
LangChain 提供 AgentExecutor、工具包装、记忆插槽,成为 2023 默认胶水。LlamaIndex 偏检索编排。AutoGen 把多 Agent 做成消息传递。它们都是开发库:调用方自己托管循环、自己接工具、自己处理失败。控制流在库里,不在模型厂商的运行时里。
工具协议是各家私有的:OpenAI plugins、Function Calling schema、各框架自己的 Tool 抽象。没有跨厂商的「模型 ↔ 工具」标准——那是 2024 年 MCP 的事。MCP 与 Function Calling 都是接线,不是 Agent。Assistants API 是托管运行时的雏形,仍锁在一家 API 里。
记忆方面,短期靠窗口,长期靠向量库外挂;MemGPT 指出这条路不够,提出分层分页,但还没有成为产品默认。
公众看见的是 AutoGPT 和 BabyAGI:给定目标,自己列任务、自己搜网、自己调 API。四要素形态接通;缺的是可靠解析、工作集管理、对「已完成」的外部检验。演示好看,真实完成率低。这是引爆型事件,不是可靠性事件。热度 ≠ 完成率。
稍扎实的应用形态其实更窄:检索增强的问答机器人、在沙箱里分析表格的 Code Interpreter、由人盯着的客服工具调用。Coding Agent 作为品类已经有人做(GPT-Engineer 等),但还经不起后来 SWE-bench 那种考核。浏览器 / 电脑操作仍属研究原型。
沙箱从「可选」变成「只要让模型跑代码就必须有」:Code Interpreter 是云端先例。评测刚刚摸到任务型 Agent——SWE-bench 在 10 月出现,WebArena 等网页基准也在 2023 年前后发表——观察通道进入产品,仓库级完成判据打到接近零。可观测性几乎空白:一次循环跑飞了,往往只剩日志和账单。
2023 结束时,下面这些仍然不成立。把它们写清楚,是为了后面几年的进步有参照:
当时就有反方意见:无限循环、prompt injection、成本、以及「给一个目标就去创业」类 demo 的空洞。这些批评对准的是控制流无界与副作用未隔离,后来被证明比 star 数更耐放。
Schick 等,2023-02,Toolformer: Language Models Can Teach Themselves to Use Tools(Meta AI)。在 GPT-J 上插入计算器、问答、搜索、翻译、日历等 API 调用。
原文:arXiv:2302.04761。
Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Luke Zettlemoyer, Nicola Cancedda, Thomas Scialom. Toolformer: Language Models Can Teach Themselves to Use Tools。Meta AI。2022-12 工作,arXiv 2023-02。arXiv:2302.04761。
语言模型在需要最新信息、或做精确计算一类任务上仍会失败。本文表明:语言模型可以自己教会自己使用外部工具,只需少量工具使用示范。方法称 Toolformer:以自监督方式决定调用哪些 API、传什么参数、以及如何把结果写回后续 token 预测。
在不牺牲通用语言模型能力的前提下,Toolformer 学会使用多种工具:计算器、问答系统、搜索引擎、翻译系统、日历。作者用 GPT-J(66 亿参数)实现;在若干任务上超过大得多的、不会用工具的模型。
出发点:人写文本时,遇到算不准或不知道的地方会去查工具。作者把这种行为做成生成过程里的内联 API 调用。
流程大意:
调用在文本里表现为特殊标记包起来的字符串,解码时遇到调用就执行工具、把返回值填回去,再继续生成。工具集在文中包括:Calculator、QA 系统、Wikipedia 搜索、机器翻译、日历。
关键主张:不必为每个工具准备大规模人类标注轨迹;自监督过滤就够让模型学会何时调用。
工具集合是作者选定的,不是开放的任意函数。调用格式仍是文本插入,不是后来的 JSON schema。评测是语言任务与知识/计算基准,不是开放目标上的多步 Agent 循环。模型规模远小于 GPT-3 / GPT-4。
2022 年工具使用默认靠提示:示范格式、解析字符串、赌模型吐出可执行调用。脆,也不会从预训练目标里长出来。Toolformer 改问:若一次 API 调用能降低后续 token 损失,模型能不能自己发现该插在哪。
过滤标准不是人喜欢哪条轨迹,是语言模型损失有没有下降。对象仍是生成中间的内联 API,不是「给一个目标转完」。
「工具使用可学」从此有训练侧证据。后来各家把函数调用做进微调与偏好数据,问题陈述同类:何时调用、参数是什么。它没有规定 Chat Completions 的 functions 字段;那是 6 月的接口工程。训练目标 ≠ 开放 schema。
按 AI Agent 定义,Toolformer 不是 Agent:一次生成里插入调用,没有目标驱动的多步循环,也没有宿主侧的执行循环。它补的是决策核心的一块——算不准时把计算交出去。没有这一块,循环里的 Action 只能靠提示词演戏。有了这一块,仍缺宿主、缺停机、缺完成谓词。
OpenAI,2023-03-14 产品发布;技术报告 3 月 15 日挂出。ChatGPT Plus 与 API 上的 GPT-4。
原文:arXiv:2303.08774。产品说明:GPT-4。
OpenAI。GPT-4 Technical Report。2023-03-15 首挂,后有修订。arXiv:2303.08774。架构、数据配比、参数量报告未披露。
中文译本:飞书(DeepL + 人工校)、CSDN 章节译本。
报告 GPT-4:大规模多模态模型,接受图像与文本输入,产出文本。在许多现实场景上仍不如人,但在一批专业与学术基准上达到人类水平表现,包括模拟律师资格考试约位于应试者前 10%。GPT-4 是基于 Transformer、预训练为预测文档中下一个 token 的模型。训练后对齐改善真实性,以及是否遵守期望行为。项目的核心之一是:基础设施与优化方法在很宽的规模范围内行为可预测,从而能用不超过 GPT-4 计算量 1/1000 的小模型,预先估出 GPT-4 在某些指标上的表现。
报告用大量考试与学术基准对照 GPT-3.5:多数任务上 GPT-4 明显更高。强调的是专业考试、多语言、以及一些需要更长推理的题。图像理解写在报告里;面向 ChatGPT 用户的视觉能力是后来分阶段放出,不是 3 月 14 日网页聊天的默认形态。
对齐:用与 InstructGPT 同类的后训练,改善事实性与按期望行为回答。系统卡另文讨论安全、幻觉、越狱。
仍会幻觉。仍可能自信地错。对知识截止日期之后的事实不可靠。在不少现实任务上不如专家。报告刻意不写模型大小与训练数据细节,因此无法从本文核对「多少参数」。
对象是一个语言模型检查点及其基准,不是开放环境里的行动循环。
GPT-3.5 / ChatGPT 已经能多轮对话。把一件稍长的事拆开、选工具、读回执再改主意,仍然容易漂。GPT-4 把同一套「预测下一个 token + 对齐」做到:在 schema、错误回执、部分结果之间还能保住目标。对应用方,这意味着可以开始认真做多步编排,而不只是聊天演示。
它没有发明循环,也没有发明函数接口。3 月的 GPT-4 聊天仍主要是对话;插件和 Function Calling 是随后几周到三个月的产品。核心换了,控制流仍在调用方。
此后一年的默认决策核心就是它(以及同级的 Claude、Gemini 竞品)。128k 窗口、视觉、更便宜的 Turbo,都长在这只模型家族上。报告里「用小模型预测大模型损失」把规模定律再写一遍,细节对外锁住。考试分数度量的是决策核心,不是系统。
按 AI Agent 定义,GPT-4 不是 Agent:一次调用生成文本(或稍后看图再生成文本)。副作用出不去,观察通道不存在。没有它,2023 年 AutoGPT 一类演示更早散架;有了它,也不等于循环可靠。可靠性要另看完成谓词与产品,不能从专业考试直接推出「已经能自主干活」。
OpenAI,2023-03-23,ChatGPT plugins。浏览、第三方服务、检索等以插件形式接到对话。
当时公告:ChatGPT plugins。
本页转述 插件发布当时公开说了什么,不以 2024 停用插件、GPTs Actions 回填。
主要出处:OpenAI,2023-03-23,ChatGPT plugins。本页不复制公告全文。
ChatGPT 默认只根据训练数据说话,无法取最新信息、不能代表用户做外部动作。插件让模型访问最新信息、运行计算、使用第三方服务。公告把这写成扩展 ChatGPT 能力的途径。
当时公开的形态包括:
使用方式是:用户在 ChatGPT 里启用插件,模型在需要时调用,结果回到对话。人仍在环路里确认下一步说什么;不是把一个开放目标交给系统自己转完。
把模型接到外部工具会放大风险:插件返回的不可信内容可能诱导模型做非预期动作。公告要求谨慎启用、限制可调用的工具,并对有真实世界后果的动作保持人确认。这与三个月后 Function Calling 公告里的那条 proof-of-concept 同一类问题。
私有协议,锁在 ChatGPT 产品里,不是开放的跨厂商工具标准。也不是 Assistants API:那是 11 月 DevDay 才把类似能力收给开发者。
ChatGPT 能聊,不能查今天的网页,也不能订票。插件把「模型 + 外部 API」做成用户可开关的附件,不要求每个人自建循环。对普通用户,这是第一次看见对话框里出现「正在调用某某工具」。
调用嵌在一轮轮对话里,由用户接着问。它解决的是可达的工具,不是无人盯着的目标执行。清单、鉴权、manifest 仍是厂商私有协议。
厂商私有的工具清单(manifest / OpenAPI)成为 2023 年的默认做法。开发者侧三个月后的 Function Calling,把同类能力收进 API:从产品插件变成 schema。2024 年插件体系逐步关掉,能力拆进浏览、代码执行和后来的 GPTs Actions。
记它,是因为「终端用户 + 工具」这一产品形态从这里开始。不要写成已经稳定的开放协议,也不要写成 AutoGPT 那种无界循环。按 AI Agent 定义,人在每一跳上点头,观察通道等于用户下一句——可达工具 ≠ Agent。
Toran Bruce Richards / Significant Gravitas。仓库 2023-03-16 创建;约 3 月底公开爆红。自称让 GPT-4 充分自主的实验。
AutoGPT 没有对应一篇研究论文。本页转述 2023 年 3 月公开爆红时仓库在说什么,不以后来的产品品牌、云服务回填。
主要出处:GitHub Significant-Gravitas/AutoGPT(创建于 2023-03-16);早期 README 与提示词将项目写成 an experimental open-source attempt to make GPT-4 fully autonomous。本页不复制仓库全文。
给 Agent 一个用自然语言写的目标(以及角色/约束),由 GPT-4(或 GPT-3.5)在循环里自己决定下一步。早期演示里的动作包括:网页搜索、读写本地文件、执行代码、启动更多模型实例、把结果写入所谓长期记忆。人可以设一个总目标后少干预——这与 ChatGPT 一轮一轮确认不同。
循环的直观形状:思考当前状态 → 选择一个动作 → 执行 → 把观察写回上下文 → 再思考。格式直接抄自 ReAct 一类交错文本,外加任务列表与记忆。没有 Function Calling schema(接口要到 6 月);解析靠模型吐出的结构化文本。
仓库自称 experimental。公开讨论很快集中在:无限循环、重复同一失败、token 账单、以及在文件/网上做出难以撤销的操作。这些不是后来才发明的批评,是上线几周内就并排存在的反方意见。
它按循环和工具已经像 Agent;它没有提供可复核的任务完成率。热度指标是 GitHub star 与媒体标题,不是 SWE-bench 一类考卷——考卷要到 10 月才出现。
ChatGPT 要人接着问。插件要人启用再聊。AutoGPT 把问题改成:能不能把 GPT-4 放进 while 循环,对着一个目标自己搜、自己写、自己再决定?这把 2022 年写在论文里的交错循环,做成了可 git clone 的脚本。
它没有新的训练方法,也没有新的工具协议。新的是控制流归属:目标框,而不是对话框;停机条件交给模型自己列的任务队列。无界循环没有外部完成谓词,只能靠步数上限或账单熔断。
按 AI Agent 定义,这已经是 Agent:LLM 决策、多步循环、对环境行动、按回执再决策。四要素在形态上接通。2023 年几乎所有「自主 Agent」演示都沿这条幻想生长,也沿同一失败模式死去:计划漂、记忆靠窗口、解析失败、空转烧钱。空转与不可逆副作用是无界循环的预期行为,不是实现瑕疵。
10 月 SWE-bench 把「修真实 issue」的分数打在接近零:那是完成谓词,不是对「循环这个想法」的否定。star 数度量传播,不度量完成率。引爆型事件记热度;可靠性另记。两者不要合成一句「2023 年 Agent 已经能干活」。热度 ≠ 完成率。
Yohei Nakajima。2023-03-28 先以 Task-Driven Autonomous Agent 公开,随后收成约百行的 babyagi.py。名字不表示这是 AGI。
当时说明:GitHub yoheinakajima/babyagi(后来仓库改版,早期脚本见作者归档说明)。
本页转述 2023 年 3–4 月那一版短脚本在做什么,不以 2024 以后作者重写的框架回填。作者写明:这是对 3 月 28 日推上 Task-Driven Autonomous Agent 的精简;仓库名里的 AGI 来自围观反应,并不声称这是 AGI。
核心是一个 while True:
text-embedding-ada-002)。早期实现用 Completions API(如 text-davinci-003),不是 Chat Completions,更没有 Function Calling。上下文靠目标字符串、最近结果和检索到的旧结果拼接。公开讨论里也有人指出:检索到的片段有时并没有真正进执行提示——脚本首先是概念演示。
没有沙箱权限模型,没有稳定的工具 schema,没有任务完成的自动判定。长度上比 AutoGPT 短很多,因此更容易被复制和改写。衍生项目在几个月内大量出现,也大量停更。
AutoGPT 已经把循环摊在一个大仓库里。BabyAGI 把同一想法收成「队列 + 三个提示」:执行、生新任务、重排。读者能在一页纸上画出控制流。这降低了「自己做一个 Agent」的起步成本,也把失败模式暴露得更清楚——队列会自我膨胀,执行结果不一定推进目标。无界循环换了更短的实现,停机条件仍在模型自己写的队列里。
按 AI Agent 定义,这也是 Agent,只是工具和环境往往薄到只剩 LLM 自己和一层向量库。后来许多多 Agent / 任务图框架,第一张示意图仍是「规划器往队列里塞任务」。它不是可靠运行时,也不是评测。
记引爆:短脚本改变了 2023 年春天大家以为 Agent 长什么样。记限度:名字里的 AGI 是反讽,作者自己写过。衍生项目极多,大多很快消失。热度 ≠ 完成率;队列在转 ≠ 目标已达成。
Harrison Chase 等。库出现于 2022-10;公司 2023-02。2023 年记的是它成为教程和起步代码的默认层,不是生日。
文档与仓库:langchain。
2022 年 10 月的 0.0.1 见 2022 · LangChain。本页只写 2023 年作为默认编排层时,文档把系统拆成哪些块,不以 2024 拆包、LangGraph 回填。
公开文档把 LLM 应用拆成可组合部件,名称在 2023 年稳定下来:
AgentExecutor 跑思考—行动—观察循环,默认实现大量抄 ReAct 文本格式。开发者用 Python(随后有 JS)在自己的进程里托管循环。没有跨厂商协议:换模型厂商往往要换包装类。版本是 0.0.x,接口变动快,这是当时就存在的使用成本,不是后来才发明的抱怨。
2023-02 公司成立。2023 年融资与教程爆炸同步发生:ChatGPT 之后人人要「自己接工具」,现成胶水成为默认答案。LlamaIndex 等在检索侧分流,并不改变 LangChain 作为 Agent 入门词条的位置。
ReAct 在论文里,AutoGPT 在一个大仓库里,RAG 在各人的 notebook 里。LangChain 提供一套共同名词:Agent、Tool、Memory、Chain。抄作业的成本从「读论文再手搓」变成「改一个工具类」。没有 Function Calling 之前,它用提示词解析撑过上半年;6 月之后又把函数调用收进同一套 Agent 抽象。
生日在 2022 秋。2023 年记的是它成为教程和起步代码的默认层:当时必须有人把循环跑起来。
2023 年大多数公开 Agent 教程从这里起步。警示:抽象层厚、版本不稳、出错时难以看见模型实际收到的提示;这些批评针对膨胀期,不能用来否定当年为什么它先被采用。当时生态与后来口味要分开看。
它是开发库,不是运行时:循环仍在你的服务器上,失败仍要自己停。控制流在库里,不在模型厂商。更薄的 SDK 和后来的代码优先运行时,是对这一层口味的修正,不是 2023 年已经发生的事。胶水能把循环复制出来;胶水不是协议,也不是完成谓词。
Park 等,Stanford / Google Research。25 个 agent 的 Sims 式沙盒小镇。论文 2023-04 挂出;UIST 2023。
原文:arXiv:2304.03442。
Joon Sung Park, Joseph C. O’Brien, Carrie J. Cai, Meredith Ringel Morris, Percy Liang, Michael S. Bernstein. Generative Agents: Interactive Simulacra of Human Behavior。Stanford University、Google Research / DeepMind。arXiv 2023-04。arXiv:2304.03442。UIST 2023。
中文译本:全文翻译 + 导读。
可信的人类行为代理可以支撑沉浸式环境、人际沟通演练、原型工具。本文引入 generative agents:用计算软件模拟可信人类行为的 agent。它们起床、做早餐、去上班;画家画画,作者写作;形成观点、注意到彼此、发起对话;记住并反思过去的日子,再计划下一天。
架构把大语言模型接上三块:用自然语言存下完整经历(记忆流),随时间把记忆合成更高层的反思,再动态检索来规划行为。作者把 25 个这样的 agent 放进一个类似《模拟人生》的沙盒小镇。终端用户可用自然语言观察和干预。评测显示它们能产生可信的个体行为与涌现的社会行为。例如:用户只指定一名 agent 想办情人节派对,两天内邀请会自己扩散,有人新结识、有人约着去派对,并在正确时间到场。消融表明观察、计划、反思各自都对可信度有贡献。
实现用当时的 gpt-3.5-turbo(ChatGPT)。文中写明:写作时 GPT-4 API 仍是邀请制。
记忆流是一份按时间排列的自然语言记录。每条有描述、创建时间、最近访问时间。最基本的条目是观察:自己做了什么,看见别人或物体做了什么。检索按三项打分再加权:近因(距上次取出的游戏小时数,指数衰减)、重要性(让模型打 1–10 分)、相关性(嵌入向量与当前查询的余弦相似度)。取出能装进窗口的顶部记忆,再交给语言模型。
反思是更高层、更抽象的想法,也作为记忆存回去。当最近事件的重要性分数之和超过阈值(实现里是 150),大约每天两三次生成反思:先从最近 100 条里问「三个最显著的高层问题」,再检索、抽取洞察并引用证据。反思可以再反思,形成树:叶子是观察,越往上越抽象。
计划把结论和环境译成高层日程,再递归拆成更细的动作(先一天的几大块,再小时,再 5–15 分钟)。计划和反思都写回记忆流。每一步感知世界后,模型决定是继续原计划还是反应;需要互动时再生成对话。没有计划时,模型会为「当下可信」在短时间内重复吃饭一类动作。
环境用树表示空间包含关系,再译成自然语言。agent 只记住自己见过的子图,不是全知。动作再映射回沙盒状态(例如咖啡机从 idle 变成 brewing)。
受控评测:用自然语言「采访」agent,测自我认知、记忆、计划、反应、反思。100 名人类评估者对五种条件做可信度排序,再用 TrueSkill。完整架构最高(μ≈29.89);去掉反思次之;再去掉计划再次之;众包人类角色扮演更低;完全没有观察/计划/反思最低(μ≈21.21)。端到端:25 个 agent 连续两天游戏时间互动。情人节派对从一条用户指定的意图扩散并真正发生。常见错误:检索失败、给记忆加戏、继承指令微调后过于正式的说话方式。
文中脚注写明:说 agent「去某处、做某事」是为了可读,并不暗示真正的人类式主体性;目标是迪士尼角色那种可信幻觉。
当时用 LLM 一次生成一段角色行为已经能看,但窗口装不下不断增长的经历,角色会忘、会自相矛盾、会在同一顿午饭上停住。这篇把「记得住、能概括、能按概括再行动」做成一套检索架构,而不是再训一个更大的模型。
环境是游戏沙盒,不是 GitHub 或浏览器。成功标准是行为可信,不是修好一个 issue。完成谓词和任务型主线不是同一把尺子。
按 AI Agent 定义,这些角色确实在循环:感知小镇、行动、把观察写回记忆、再决策。但主线对象是任务型 Agent——给目标、对环境做事、按回执推进。这篇打开的是另一条旁支:长期角色记忆、社会涌现、NPC。后来许多「记忆模块」示意图仍能看见记忆流 + 反思 + 检索这三块。
限度要从原文读:实现绑在 ChatGPT 上,成本高;检索失败会编造;论文自己把「主体性」写成可读性修辞。不要把它读成 2023 年已经有了可治理的组织记忆,也不要用情人节派对的热闹去填 SWE-bench 的零分。热度 ≠ 任务完成率。
Wang 等。NVIDIA / Caltech / UT Austin / Stanford 等。arXiv 2023-05。自称第一只在 Minecraft 里持续探索、积累技能、少需人工干预的 LLM 具身终身学习 agent。
原文:arXiv:2305.16291。
Guanzhi Wang, Yuqi Xie, Yunfan Jiang, Ajay Mandlekar, Chaowei Xiao, Yuke Zhu, Linxi “Jim” Fan, Anima Anandkumar. Voyager: An Open-Ended Embodied Agent with Large Language Models。arXiv 2023-05。arXiv:2305.16291。
中文译本:宝玉。
Voyager 是作者所称第一只由 LLM 驱动、在 Minecraft 中做具身终身学习的 agent:持续探索、获得多样技能、发现新事物,无需人工干预。三块组成:
与 GPT-4 的交互是黑盒查询,不微调参数。技能在时间上可延长、可解释、可组合,能力会复利,并减轻灾难性遗忘。相对先前方法,文中报告:独特物品约 3.3 倍,旅行距离约 2.3 倍,关键科技树里程碑最快约 15.3 倍。学到的技能库可以带到新世界,从零解新任务;对照方法难以泛化。
环境基于 MineDojo,底层动作走 Mineflayer 的 JavaScript API,而不是像素到按键。作者写明:重点是推 GPT-4 做终身具身学习,不是解 3D 感知或低层运动控制。
自动课程让 GPT-4 在「发现尽可能多样的事物」这一总目标下提出下一任务,输入包括当前物品栏、附近方块、已完成/失败任务,以及 GPT-3.5 自问自答的附加上下文。难度自下而上,避免下一步过难。
技能是一段可复用函数。成功并通过自验证后,用描述的嵌入做索引,存进向量库。新任务时检索最相关的若干技能,再生成新代码。复杂技能由简单程序组合。
迭代提示用三类反馈:环境中间进度(例如还缺 7 个铁锭)、解释器报错、以及另一个 GPT-4 充当批评者判断任务是否完成并给改进建议。最多约 4 轮仍卡住就换课程里的下一个任务。主模型 gpt-4-0314,部分 NLP 辅助用 gpt-3.5-turbo-0301。
基线是作者改写后能在 MineDojo 里跑的 ReAct、Reflexion、AutoGPT 风格循环。Voyager 相对它们多了技能库、自验证和开放探索课程。文中对照方法在科技树的钻石层解锁为 0/3 试次;Voyager 是唯一解锁钻石工具的。160 次提示迭代内发现 63 种独特物品。
Minecraft 没有固定通关剧本。先前 LLM agent 往往对着一个目标做一次 ReAct,做完就忘。这篇要的是:自己出题、做成了就存成函数、下次还能检索组合。动作空间选代码而不是原始按键,是因为程序天然表示一段延续的、可组合的行为。观察通道是库存与解释器报错,不是测试套件。
按 AI Agent 定义,这是具身环境里的 Agent:GPT-4 决策、多步写代码、看库存和报错、再改。它把 2023 年几条线接到一起——代码当工具、技能当外部记忆、课程当规划器。影响力在研究:后来「技能库 / 代码即策略」的开世界实验会引到这里。
它不是生产系统。控制依赖 Mineflayer 高级 API;评测在游戏里,不是 SWE-bench;token 成本高;自验证仍是另一只模型在看。完成谓词是游戏内进度,不是仓库绿。记首证:终身技能积累可以靠提示和库,不必先微调身体。不要记成「游戏 Agent 已经能当员工」。研究热度 ≠ 可部署完成率。
OpenAI,2023-06-13。gpt-4-0613 与 gpt-3.5-turbo-0613 微调成:判断要不要调函数,并吐出符合签名的 JSON。同日还有 16k 窗口的 gpt-3.5-turbo-16k。
本页转述 2023-06-13 公告当时公开说了什么,不以后来的 tools 参数改名、并行工具调用回填。
主要出处:OpenAI,2023-06-13,Function calling and other API updates。本页不复制公告全文。
开发者可以把函数描述交给 gpt-4-0613 和 gpt-3.5-turbo-0613,由模型决定是否输出一个含参数的 JSON 对象。公告把这写成更可靠地把 GPT 接到外部工具和 API 的方式。这两只快照被微调成两件事:根据用户输入判断要不要调用;以及输出符合函数签名的 JSON。
Chat Completions(/v1/chat/completions)新增参数:
functions: 用 JSON Schema 描述一组函数(名称、参数形状)。function_call: 可选;让模型自动决定,或强制调用某一个。模型并不在 OpenAI 一侧执行函数。开发者在自己的代码里跑完,把结果作为后续消息送回去,再生成给人看的回复。公告举例包括:用外部工具回答问题、把自然语言转成 API 或数据库查询、从文本抽出结构化数据。
同日还发布 gpt-3.5-turbo-16k:上下文从约 4k 拉到 16k。公告同时下调部分价格,并给出旧快照(gpt-3.5-turbo-0301、gpt-4-0314)的弃用时间表。
工具返回的内容可能诱导模型做非预期动作。公告要求:只消费可信工具的信息;对有真实世界后果的动作(发邮件、上网发帖、下单等)加人确认。这与三个月前插件公告是同一类问题。
这是模型层与 API 层能力。一次请求里「选不选函数、参数是什么」可以被可靠解析,不等于系统已经在环境里多步循环。循环、重试、停机策略仍由调用方自己写。
上半年开发者仍在 prompt 里逼模型吐 JSON,再正则抠字段。ReAct 的 Action 是自由文本。插件是 ChatGPT 产品里的私有协议。Function Calling 把同一件事做成 Chat Completions 的一等参数:schema 进、结构化调用出。模型还被专门微调过「何时调用」,不再只靠少样本示范。
模型输出的是 name + arguments。执行发生在调用方进程里:宿主跑完,把回执当后续消息送回去。单次 Function Call 是一次 I/O,没有「根据返回值再选」——那一跳仍要宿主再发一次请求。16k 窗口是并列的物理前提:单次循环能多看一点工具回执,仍然远不够装下一个仓库。
这是 2023 年工具接口的工程化节点。之后各家的 tool use 都沿着「模型选工具 + JSON 参数 + 宿主执行」走。LangChain 一类库很快把函数调用收进同一套 Agent 抽象。跨厂商总线是下一年的 MCP;今年只有一家方言。
按 AI Agent 定义,Function Calling 本身不是 Agent。它是协议:模型↔工具的第一种稳定 schema。它没有规定多步循环,也不对环境行动——副作用出在你的服务器上。缺了它,循环仍然能用文本协议硬撑;有了它,循环才变得可产品化。不可信工具输出仍可注入非预期动作:公告已经写明,不是后来才发现的漏洞。协议不是系统;schema 到位,循环仍在宿主。
OpenAI。插件期已是 alpha;约 2023-07-06 开始向全体 ChatGPT Plus 用户滚动放出。后来改称 Advanced Data Analysis。2023 年记的是沙箱成为产品能力,不是改名。
当时产品说明见 OpenAI 发布说明与 7 月公开滚动通知;插件期总述见 ChatGPT plugins。
本页转述 2023 年 7 月对 ChatGPT Plus 全面放开时产品在说什么,不以后来的 Assistants API Code Interpreter、改名 Advanced Data Analysis 回填材料细节。改名发生在约 9 月,属于同一功能的商标调整,不在本页展开。
主要出处:OpenAI 2023-07-06 公开滚动通知(全体 Plus 用户约一周内可用,需在设置中打开 beta);ChatGPT 发布说明;插件期已把它列为官方插件的 alpha。本页不复制公告全文。
模型在云端隔离环境里写并执行 Python,可选地读取用户上传的文件。当时公开列出的用途包括:分析数据、画图、编辑文件、做数学计算、在上传与下载之间转换格式。这与纯聊天不同:答案可以来自实际跑过的代码,而不是只生成一段看起来像代码的文本。
使用方式仍是 ChatGPT 对话。用户打开功能、上传文件、提问;模型决定写什么代码、在沙箱里执行、把打印结果和图表带回对话。人仍在环路里:下一步问什么由用户说。不是把一个开放目标交给系统自己转完。
沙箱有隔离边界:能跑的是环境里提供的 Python 与库,不能当作用户本机的任意 shell。会话级文件与有限的执行时间是当时使用体验的一部分。
不是 11 月 Assistants API 里那个开发者可托管的同一工具接口——那是 DevDay 才把类似能力收给 API。也不是通用电脑操作:看不见屏幕,没有稳定的 GUI 动作。插件期的浏览是另一条线,本页只记代码执行。
GPT-4 已经能写分析脚本,但写完没有地方安全地跑,结果也无法自动看图。插件 alpha 证明这条路走得通;7 月对 Plus 放开,使「上传表格、要一张图、要一个计算」变成数百万人能点的产品,而不只是开发者 notebook。
隔离是前提,不是附加项:一旦执行模型生成的代码,就必须限制文件系统、网络和持久化。观察通道变成真实 stdout / 异常栈,不再是模型自己描述「我跑过了」。这把环境问题从研究论文里的假设,变成产品默认架构。
工程化:沙箱开始成为 Agent 能力栈的基础设施层——后来 Assistants API、各种本地/云端代码工具都沿着「模型生成 → 隔离执行 → 回执进上下文」走。只要允许模型执行代码,沙箱就从可选项变成执行边界。
按 AI Agent 定义,对话里偶发的一次跑代码仍是人在环路的工具调用;循环和停机策略没有因此自动出现。但它把「环境」从抽象的 API 变成了真的进程。编码 Agent 要干活,先得有一个能失败、能看 traceback 的地方。有沙箱 ≠ 有完成谓词;有副作用通道 ≠ 目标已达成。
Wu 等,Microsoft Research / 宾州州立大学等。arXiv 2023-08。开源库允许用可对话的多个 agent 协作完成任务。
原文:arXiv:2308.08155。当时仓库:microsoft/autogen。
Qingyun Wu, Gagan Bansal, Jieyu Zhang, Yiran Wu, Beibin Li, Erkang Zhu, Li Jiang, Xiaoyun Zhang, Shaokun Zhang, Jiale Liu, Ahmed Awadallah, Ryen W. White, Doug Burger, Chi Wang. AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation。Microsoft Research 等。arXiv 2023-08。arXiv:2308.08155。
AutoGen 是开源框架,让开发者通过多个可以互相交谈的 agent 构建 LLM 应用。agent 可定制、可对话,后端可以是 LLM、人类输入、工具,或它们的组合。交互行为也可灵活定义。自然语言和代码都能用来编排不同应用的对话模式。作者在数学、编程、问答、运筹、在线决策、娱乐等示例上展示框架有效。
两个核心概念:
可对话 agent。 能收发消息、维护内部上下文。能力来自三类后端:LLM(角色扮演、根据对话推进、写代码)、人(按配置在若干轮征求输入,默认 UserProxy 可设频率与可跳过)、工具(执行代码或函数调用)。ConversableAgent 是最高层抽象;预置的 AssistantAgent 偏 LLM 助手,UserProxyAgent 偏人类代理兼代码/函数执行。
文中示例:助手生成方案,用户代理征求人输入或执行代码,再把结果作为反馈送回助手。
对话式编程。 把复杂工作流收成 agent 之间的对话:计算是「为了回话采取的动作」,控制流是「谁在何时对谁说话」。统一接口包括 send/receive 与 generate_reply。默认 auto-reply:收到消息就生成回复并送回,直到终止条件。控制可以用自然语言提示(例如出错就再写代码,完成时输出 TERMINATE)、Python 代码(最大自动回复数、人工模式、注册自定义回复函数),以及两者切换(含 LLM 提出的 function call)。除静态来回外,还支持动态选下一个说话者的群聊(GroupChatManager)。
示例包括:两只内置 agent 解 MATH;检索增强问答(助手在上下文不够时回复 UPDATE CONTEXT 以触发再检索);ALFWorld 上加一只常识 grounding agent,相对两 agent 变体平均约 15% 提升;把 OptiGuide 编码工作流从 430 行以上收到约 100 行,多 agent 相对单 agent 在识别不安全代码上 F1 更高。伦理节写明:让 LLM agent 通过执行代码或函数调用改外部环境(例如装包)有风险,需要额外防护。文中称工作仍偏早期实验。
单只 LLM 加工具已经能跑 ReAct。更复杂的任务被拆成「写代码的、跑代码的、盯安全的、补常识的」。若每次都手写控制平面,编排会爆炸。AutoGen 的解法是:每个角色是可对话对象,默认收到消息就回;工作流看起来像聊天,而不是一张显式状态机。控制流从 while 变成消息总线:谁在何时对谁说话。
工程化:2023 年「多 Agent」从口号变成可 clone 的库。后来许多图/角色框架仍是消息传递加自动回复。按 AI Agent 定义,多只 LLM 互相对话,至少一方在对环境行动(执行代码、调函数),整体才是 Agent 系统;若只产文本,就还是角色扮演。总线本身不产生副作用。
限度:角色变多会放大空转和串通式幻觉;论文自己把代码执行写成风险。它是开发库,循环仍在你的进程里。不要把它读成已经解决了 SWE-bench 那种真实仓库修改。消息条数 ≠ 完成率;多角色 ≠ 更可靠的单步。
Jimenez、Yang、Yao 等,Princeton 等。arXiv 2023-10。2,294 道来自 12 个流行 Python 仓的 issue。
原文:arXiv:2310.06770。
Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, Karthik Narasimhan. SWE-bench: Can Language Models Resolve Real-World GitHub Issues?。Princeton Language and Intelligence 等。arXiv 2023-10。arXiv:2310.06770。后续年份的排行榜数字不回填本页。
语言模型的能力已经跑过许多旧基准。作者认为真实软件工程是可持续且够难的下一张考卷。SWE-bench 从 12 个流行 Python 仓库收集 2,294 个软件工程问题:每个问题把 GitHub issue 与对应的合并 PR 对齐。模型拿到一份代码快照和 issue 描述,要编辑仓库来解决问题。这经常要求同时理解并修改多个函数、类、甚至文件,与执行环境交互,处理极长上下文,推理复杂度远超传统代码生成。评测显示,当时最强的专有模型和作者微调的 SWE-Llama 都只能解决最简单的 issue。摘要给出的最好成绩:Claude 2 仅约 1.96%。
从约 9 万个 PR 中过滤:已合并、解决了某个 issue、改了测试文件、安装能跑,并且至少有一项测试从失败变为通过(fail-to-pass)。代码库平均约 3,010 个非测试文件、43.8 万行;参考补丁平均改 1.7 个文件、3 个函数、32.8 行。issue 文本平均约 195 词。评估:把模型生成的 patch 打上去,跑相关测试;全部通过才算解决。指标是解决比例。
输入在实践中是 issue + 检索出的文件(主结果用 BM25),因为整库通常塞不进窗口。另有「oracle」设置:直接提供参考补丁改过的文件,供分析,不等于真实工程师事先知道改哪。
因预算,GPT-4(gpt-4-32k-0613)在 BM25 与 oracle 的部分设置上只跑了约 25% 随机子集。该子集上 GPT-4 的 BM25 解决率约 1.74%。ChatGPT-3.5(gpt-3.5-turbo-16k-0613)在全文上约 0.17%。补丁经常根本 apply 不上。oracle 检索会提高分数,但量级仍低。作者另发布 SWE-bench-train(约 1.9 万条、37 个与测试集不重叠的仓库)以及基于 CodeLlama 微调的 SWE-Llama 7B/13B。
当时评测主要是「一次生成补丁」,不是完整的仓库内 Agent 循环(虽然作者写明这张考卷也可以用来比 agent)。多模态 issue(截图)当时的模型处理不了。难度与上下文长度相关:更长的检索窗口即使提高文件召回,分数仍可能下降,因为模型难以在噪声里定位该改的行。
HumanEval 一类基准是自包含短函数。真实工程是:在几千个文件里找到该改的几十行,改完还不能把原有测试弄挂。没有执行,分数就是人眼或模型自评。SWE-bench 把考卷接到真实 issue、真实 PR、真实 fail-to-pass 测试上,并且可以随新 PR 持续更新。完成判据独立于演示:测试必须绿。
首证:编码 Agent 从此有了一张会随时间变难的卷。警示:2023 年舆论里的 AutoGPT / 「自主程序员」在这张卷上几乎交白卷——最好也只在 2% 量级(Claude 2 约 1.96%;GPT-4 在子集上约 1.74%)。循环能转与目标已达成,从此必须分列。
按 AI Agent 定义,这张考卷考的是「对环境(代码库 + 测试)行动并按反馈验证」,比聊天写函数更接近 Agent;但 2023 年论文主结果仍是检索 + 一次生成补丁,不是已经跑通的多步运行时。无界循环在第一层(观察写回)上转,在第二层(测试谓词)上失败。
不要用后来排行榜上的高分回填这一页。2023 年要记住的是:完成谓词出现了,当时的系统还不会做。 热度 ≠ 完成率。
Packer 等,UC Berkeley。arXiv 2023-10。针对固定窗口,提出虚拟上下文管理。还不是产品默认。
原文:arXiv:2310.08560。
Charles Packer, Sarah Wooders, Kevin Lin, Vivian Fang, Shishir G. Patil, Ion Stoica, Joseph E. Gonzalez. MemGPT: Towards LLMs as Operating Systems。UC Berkeley。arXiv 2023-10。arXiv:2310.08560。项目后来的产品化名称不回填本页。
LLM 受固定上下文窗口限制,长对话和长文档分析都会吃亏。作者提出 virtual context management:借鉴传统操作系统用分页在物理内存和磁盘之间制造「更大内存」的假象。MemGPT 智能管理多层存储,让有限窗口里出现可扩展的有效上下文。评测两个窗口特别不够用的领域:文档分析(远超窗口的大文档)、多会话聊天(要记住、反思、随长期互动演化)。代码与数据发布在文中给出的研究站点。
主上下文(类比 RAM)即提示 token,推理时模型直接可见;外部上下文(类比磁盘)必须经函数调用搬进来才可见。主上下文三段:只读的系统指令、可经函数读写的 working context、FIFO 消息队列(含用户/系统消息与函数输入输出;队首是被驱逐消息的递归摘要)。
队列管理器在窗口到达告警阈值(文中举例约 70%)时插入 memory pressure 警告,让模型把重要信息写入 working context 或 archival 存储;到达冲刷阈值则驱逐部分消息并更新摘要。被驱逐的消息仍在 recall 存储里,可用函数再取回。
模型输出被解析为函数调用。可用 request_heartbeat=true 在一次用户回合里链式多步检索。事件触发推理:用户消息、系统警告、定时中断等。记忆编辑与检索是自导向的:由模型决定何时换页,而不是宿主固定截断。
多会话聊天基于扩展的 Multi-Session Chat。Deep memory retrieval:MemGPT 相对同一底层模型的固定窗口基线明显更高(例如 GPT-4 准确率从约 32.1% 到约 92.5%;GPT-3.5 从约 38.7% 到约 66.9%)。文档 QA:固定窗口受检索条数与截断伤害,MemGPT 可对 archival 多次分页查询。嵌套键值检索:需要多跳查找时,无 MemGPT 的 GPT-3.5/GPT-4 在若干嵌套层后掉到 0%;MemGPT+GPT-4 随嵌套层数保持稳定。实现依赖模型的函数调用能力:GPT-3.5 上明显更弱。
2023 年 Agent 的长期记忆默认等于:窗口里塞得下的部分,外加一层向量库相似度搜索。窗口一满就摘要或丢掉;检索到的片段也不一定真的进当前提示。MemGPT 把问题改写成操作系统问题:主存有限,磁盘更大,缺页时自己发函数去取。Function Calling 在这里不是产品功能,是换页指令集。
首证:分层记忆可以成为 Agent 架构,而不只是 RAG 流水线的另一个 retriever。按 AI Agent 定义,这套系统在用工具(记忆函数)对环境(外部存储)行动,并按回执再决定——是记忆子系统上的 Agent 循环。延长的是循环能走的步数和工作集可寻址范围,不引入新的动作类型。它还不是 ChatGPT 或各框架的产品默认;向量库外挂仍然是 2023 年底的主流拼法。
不要把后来的托管记忆产品写进这一页的材料。2023 年要记住的是诊断:上下文太短,截断和检索都不够,需要模型自己管理层级。能换页 ≠ 有完成谓词;工作集变大 ≠ 副作用自动正确。
OpenAI,2023-11-06 随开发者大会放出预览。更强、更便宜,窗口 128k。知识截止约 2023-04。同场还有带视觉的 GPT-4 Turbo。
当时公告:New models and developer products announced at DevDay。同日的托管运行时见 Assistants API。
本页只转述 GPT-4 Turbo 这只模型当天公开说了什么。Assistants API 与 GPTs 见 Assistants API,不写进本页。
主要出处:OpenAI,2023-11-06,New models and developer products announced at DevDay。
预览中的下一代 GPT-4:更强、更便宜,上下文窗口 128k。知识截止到约 2023-04。同场还有平台上的多模态能力:带视觉的 GPT-4 Turbo。GPT-4 本身已在 7 月对 API 全面放开;这次是窗口、价格与工具组合的下一跳。
不是新的 Agent 运行时,也不是 Function Calling 的替代。它是默认决策核心换档:一次请求能多装一些文件片段和对话。发布会里同时出现的 DALL·E 3 API、语音合成等,不进本条。
GPT-4 已经能撑住稍长的工具链,但 8k–32k 量级窗口对「塞进一份说明书 + 几轮工具回执」仍然紧。2022 年约 4k 更不用说。128k 把一次会话能看见的文件和轨迹拉长一截。对 Agent,上下文长度是任务能走多远的物理上限——这一跳发生在模型层,不是提示词技巧。
按 AI Agent 定义,GPT-4 Turbo 本身不是 Agent。它是循环里更宽的核心。窗口够,仍不产生副作用。同日的 Assistants API 才把线程和工具收成托管状态机。发布会不当条目;换核心与托管运行时必须拆开记。
价格下降让「多步调用」在账单上不那么劝退。2024 年 Gemini 1.5 把窗口推到约百万 token,是同一条物理前提的下一跳。不要用后来的 4o / o1 回填这一天。工作集变大 ≠ 完成率上升;核心换了,循环仍在宿主——除非你改用同日的 Assistants。
OpenAI,2023-11-06。帮助开发者在自己的应用里构建 agent-like 体验:一个 assistant 有指令,可接知识,并可调用模型和工具。Code Interpreter、Retrieval、function calling 绑在同一套线程上。
当时公告:New models and developer products announced at DevDay。同日换核心见 GPT-4 Turbo。
本页转述 Assistants API 当天公开说了什么。GPT-4 Turbo 见 材料。GPTs 用同一套积木做成不用写代码的定制聊天机器人,不单独升格为里程碑,只在此对照。
主要出处:OpenAI,2023-11-06,New models and developer products announced at DevDay;同日 Introducing GPTs。
公告写成帮助开发者在自己的应用里构建 agent-like 体验的第一步。一个 assistant 有特定指令,可使用额外知识,并可调用模型和工具来执行任务。新能力包括 Code Interpreter、Retrieval 以及已有的 function calling,用来承接开发者先前要自己写的线程管理、工具循环和检索拼接。API 当天以 beta 对全体开发者开放。用例列举包括自然语言数据分析、编码助手、旅行规划等。
面向 ChatGPT 用户的定制版本:给指令、上传知识、打开浏览 / 画图 / Code Interpreter 一类能力,然后分享。构建块与 Assistants 相同:自定义指令 + 上述工具。除内置能力外,可用 Actions 接入 API(公告写明类似插件)。计划中的 GPT Store 当天只是方向。按 AI Agent 定义,人仍在对话循环里给目标,自主度有限,故不单独占行。
锁在 OpenAI 的模型与账号体系里。Assistants 把循环和工具接到云端,但停机、权限、跨厂商工具协议都不在当天的交付范围内。不要用后来的 Assistants 弃用或迁移回填这一天。
2023 上半年,开发者要自己保存对话、自己解析函数调用、自己接检索、自己找地方跑代码。Assistants API 把这些收成「一个 assistant + 一个 thread + 一组工具」:线程是状态,工具是转移,run 是一次推进。同日的 GPT-4 Turbo 用 128k 窗口让单次任务能多装一些文件片段。GPTs 把同一套能力做成不用写代码的定制聊天机器人,不单独记。发布会本身不当条目。
工程化:这是厂商托管状态机的雏形——循环不再必须发生在你的服务器上。对 AI Agent 定义而言,Assistants 可以跑多步工具调用(代码、检索、函数),因此可以构成弱自主 Agent;但产品默认仍是对话式助手,目标由用户一轮一轮给出。锁在一家 API 里:换模型厂商,线程和工具要重写。跨产品协议是下一年的 MCP。
不要用后来的 API 迁移回填这一天。2023 年 11 月要记住的是:运行时开始被平台收走,可靠性并没有因此自动出现。托管循环 ≠ 完成谓词;状态机上云 ≠ 可放手。
一句话主线: 2024 年,编码循环第一次接到独立于演示的完成谓词。SWE-bench Verified 成为默认基准;Devin 把「AI 软件工程师」做成品类口号;Computer Use 把观察换成像素、动作换成键鼠;MCP 在 11 月给出模型↔工具/数据的开放接线。热度集中在产品与基准;MCP 当年几乎无人采用,2025 年才被追认为工具层拐点。
2023 给出控制循环和 Function Calling schema。2024 年模型侧改写 Agent 前提的,是四块:
工具接线仍是各家私有 schema。MCP 出现在 2024 年底,当年没有统一生态。
每条一个分类,标签可多个(六类历史角色)。
| 时间 | 事件 | 分类 | 标签 | 为什么记 |
|---|---|---|---|---|
| 2024-02 | Gemini 1.5 长上下文 | 模型 | — | 百万 token 级窗口把「仓库进一次会话」做成产品选项。工作集上限,不是循环 |
| 2024-03 | Claude 3 家族 | 模型 | — | 编码与工具使用明显强于 2023 默认核心。后续 Claude 系运行时站在这条线上。核心不是 Agent |
| 2024-03-12 | Cognition Devin | 产品 | 引爆 | 「AI 软件工程师」成为品类口号。SWE-bench 子集成绩带起舆论;当时独立复现和全量基准仍稀缺。热度 ≠ 完成率 |
| 2024-04 | OSWorld 等电脑操作基准 | 评测 | 首证 | 给 GUI 副作用出完成谓词。10 月 Computer Use 报的 14.9% 截图分,对着这类基准,与编码线 Verified 不可横比 |
| 2024-05 | SWE-agent(Princeton) | 产品 | 首证 | 为循环设计 Agent-Computer Interface(编辑、导航、测试),而不是把人用的 IDE 原样交给模型。开源对照 Devin。动作空间是设计物 |
| 2024-05 | GPT-4o | 模型 | — | 实时多模态对话。Computer Use / Operator 路线的视觉前提。能看 ≠ 已点击 |
| 2024 上半年 | Cursor 等 IDE Agent 走红 | 产品 | 引爆 | 人在环路的编码 Agent 比全自主 Devin 更早进入日常。弱自主仍满足定义;留存往往高于全自主叙事 |
| 2024-06 | Claude 3.5 Sonnet | 模型 | — | 编码与 Artifact 工作流。许多团队把默认核心切到这里。核心换了,循环仍在宿主 |
| 2024-08 | SWE-bench Verified | 评测 | 标准、警示 | 500 道经工程师确认可解的子集,成为默认谓词。原版含不可解/含混题——2023「几乎做不出」与 2024「刷到 50%」分母不同,不可横比 |
| 2024-09 | OpenAI o1-preview | 模型 | 范式更替 | 推理模型:测试时计算换正确率。循环的一部分被训练进核心,而不只写在提示词里。宿主仍管停机与工具 |
| 2024-10-22 | Claude Computer Use | 产品 | 首证、工程化 | 公有 API 上第一次让前沿模型「看屏幕、点鼠标」。观察是像素,副作用在 GUI。OSWorld 分数仍低;Anthropic 自己写了笨拙和易错 |
| 2024-11 | Model Context Protocol (MCP) | 协议 | 标准 | 模型 ↔ 工具/数据的开放接线,不是循环。2024 年是规范 + Claude Desktop 本地 server + 少量合作方。当时热度不高,2025 年才被多家追认 |
| 2024-12 | Anthropic Building effective agents | 文献 | — | 把 workflow(边在代码里)和 agent(边在模型输出里)分开。多 Agent 是拓扑,不是更强的循环原语 |
刻意不升格的:GPT Store 里的 GPTs(自定义助手,无目标循环);Rabbit R1 等硬件叙事;大多数「多 Agent 框架」发布会——CrewAI / AutoGen / LangGraph 作为工程化存在,但 2024 的主线是编码谓词和协议萌芽,不是又一次 AutoGPT 式框架膨胀。
默认核心从 GPT-4 换成更强的 Sonnet / 4o / Gemini。o1 把「想」部分藏进内部计算。长窗口和视觉第一次同时到位。Function Calling 已是各家标配,不再是新闻;它是接线,不是循环。
框架继续分叉:LangGraph 强调有状态图;各家 Agent SDK 开始出现。改写后续接线的是 MCP:把「接工具」从每家私有 JSON 往开放标准推。2024 年生态很小,11 月发布 ≠ 已经统一。电脑操作仍是厂商私有 API(Computer Use),不是协议。
主线是编码 Agent:Devin 代表全自主云端工程师叙事;Cursor / Copilot 代表 IDE 里人在环路;SWE-agent / OpenHands(由 OpenDevin 而来)代表可复现的开源循环。Computer Use 打开第二条应用线——通用电脑操作——但 2024 年仍是研究预览。Deep Research 作为品类要到 2025。
评测成为完成谓词:SWE-bench / Verified、OSWorld、TAU-bench。刷基准与真实交付之间的缝,2024 年开始被公开讨论。沙箱成为编码 Agent 标配(云端 VM、隔离执行),但调度、冷启动、身份还不是论文主题——那是 2026 的 Aries / SpecBox。
当时的反方意见:Devin 考题子集、Computer Use 被用来乱点网页、MCP「又一个协议」。后两句到 2025–2026 会部分被证伪(MCP 活下来了);第一句仍然成立——引爆型事件要等第三方谓词。
Google,2024-02-15。Gemini 1.5 Pro:标准 128k 窗口,私有预览可试到约 100 万 token。
当时公告:Introducing Gemini 1.5。技术报告:arXiv:2403.05530。
本页转述 2024-02-15 产品公告当时公开说了什么,不以后来的 1.5 Flash、公开定价档或 200 万窗口回填。
主要出处:Google,2024-02-15,Introducing Gemini 1.5。开发者侧:Gemini 1.5 in Google AI Studio。本页不复制公告全文。
Gemini 1.5 被写成下一代模型,长上下文是突破点。首只放出测试的是 Gemini 1.5 Pro:中等规模多模态模型,宣称在一批任务上接近当时最大的 Gemini 1.0 Ultra。架构上写了 Mixture-of-Experts(MoE)。
上下文:
用途举例(公告自己列的):一次装进较长代码库、跨长文档推理、长对话、对视频内容提问。AI Studio 当时加了多文件(如 PDF)上传。
这是模型能力与产品预览。长窗口让一次请求能看见更多文本、代码或视听,不等于系统已经在环境里多步循环。百万 token 当时仍是实验档,不是所有用户的默认。
2023 年长任务先撞窗口:16k、32k、128k 都装不下真实仓库或一小时会议。做法是检索外挂、截断、外部记忆——每一步都丢状态。Gemini 1.5 把「整份材料进一次前向」做成可买的预览档。对编码循环,这意味着少做一轮「先检索再读文件」,决策核心可以一次看见更多树。
它没有发明循环,也没有发明工具接口。私有预览、更长延迟、后来才分层计费,都说明这首先是模型产品。窗口够,仍不产生副作用。
长上下文此后成为各家标配竞赛。Agent 设计从「必须外挂记忆才能看见代码」变成「窗口够用时可以少检索」。检索没有消失:费用、延迟、注意力在超长序列上是否均匀,都还在。窗口是工作集上限,不是完成谓词。
按 AI Agent 定义,Gemini 1.5 本身不是 Agent。它是循环里那颗能一次看更多材料的决策核心。没有足够长的窗口,仓库级任务只能靠工具一点点抠;有了窗口,也不等于循环可靠,更不等于已经在环境里行动。
Anthropic,2024-03-04。Claude 3 三档:Haiku、Sonnet、Opus。200k 窗口。公告预告 Tool Use 与更强的 agentic 能力,当时还不是产品循环。
本页转述 2024-03-04 公告当时公开说了什么,不以后来的 3.5 / Computer Use / Claude Code 回填。
主要出处:Anthropic,2024-03-04,Introducing the next generation of Claude。本页不复制公告全文。
Claude 3 家族按能力从低到高:Haiku、Sonnet、Opus。公告称在一批认知任务上刷新当时商用模型基准。用户按智力、速度、成本选档。
发布当天:Opus 与 Sonnet 可在 claude.ai 与 Claude API 使用;API 在 159 个国家一般可用。Haiku「即将推出」。claude.ai 免费体验由 Sonnet 驱动,Opus 给 Claude Pro。上下文窗口写为 200K token。能力包括图像理解(从图像抽文本等)。
企业向用途:Sonnet 被写成智力与速度的折中,适合大规模部署。Opus 被写成当时能力上限。
公告说智力远未到顶,计划随后几个月频繁更新 Claude 3。预告对企业与大规模部署有用的功能,包括 Tool Use(即 function calling)、交互式编码(REPL)、以及「更先进的 agentic 能力」。这些在 3 月 4 日是预告,不是当天已交付的运行时。
这是模型家族与 API。三档核心、长窗口、即将到来的工具调用,都不等于已经有多步环境循环。agentic 一词出现在路线图里,产品形态仍是聊天与补全。
2023 年默认决策核心是 GPT-4。Claude 2 能聊、能写,编码和长指令上经常被当成「另一个聊天模型」。Claude 3 把三档核心做成可买产品线:便宜快的 Haiku、主力 Sonnet、上限 Opus。应用方可以按步骤成本选模型,而不是全程烧最贵的那只。200k 窗口与 GPT-4 Turbo / Gemini 同一年竞赛:工作集变大,副作用仍不自动发生。
Tool Use 写在路线图里,说明 Anthropic 此时仍在补 2023 年 OpenAI 已经做成 API 的那一层。3 月 4 日交付的是聊天与补全。真正让「Claude 当编码核心」变日常的,是几个月后的 3.5 Sonnet,不是这一天。
没有 Claude 3,就没有后面 3.5、Computer Use、Claude Code 这条产品线。公告里的 agentic 预告后来大部分兑现,但不能把 3 月的聊天模型写成已经会用电脑、已经在仓库里收工。
按 AI Agent 定义,Claude 3 本身不是 Agent。它是更强的决策核心。循环、沙箱、看屏幕,是 2024 年其余月份和其他产品补上的。换决策核心,不换品类。
Cognition,2024-03-12。Devin:带 shell、编辑器、浏览器的沙箱,宣称端到端修 GitHub issue。私有预览。
当时公告:Introducing Devin。评测说明:SWE-bench technical report。
本页转述 2024-03-12 产品公告与 03-15 评测说明当时公开说了什么,不以后来的 Devin 2、定价或收购传闻回填。
主要出处:Cognition,Scott Wu,2024-03-12,Introducing Devin, the first AI software engineer;Cognition Team,2024-03-15,SWE-bench technical report。补丁与评测脚本:CognitionAI/devin-swebench-results。本页不复制公告全文。
Devin 被写成「第一个 AI 软件工程师」:在自己的沙箱里有 shell、代码编辑器和浏览器,能规划并执行多步编程任务。演示包括:读文档学陌生框架、搭应用、修开源仓库的 bug、做 Upwork 上的真实单。用户用自然语言下任务,在界面里看它逐步干活。当时是私有预览,需申请。
评测用 2023 年的 SWE-bench:真实 GitHub issue,用单元测试判定是否修好。
这不是开源系统,也不是全量 SWE-bench 的第三方复现。13.86% 是厂商在子集上的自报。产品叙事是「软件工程师」,交付形态是带人监看界面的云端预览。
2023 年 AutoGPT 证明舆论要「给一个目标让它自己转」。编码这条线缺一个能看懂的产品:不是补全下一行,而是在仓库里设环境、复现、改代码、跑测试。Devin 把 Copilot 式副驾驶叙事推成「整份工作交给它」。SWE-bench 给了它一个可以引用的数字,而不只是演示视频。
按 AI Agent 定义,Devin 是 Agent:LLM 决策、在沙箱里行动、看测试与终端回执再决定。自主度高于 IDE 里的补全,仍有人下任务、看过程、收 PR——弱自主,不是无人值守员工。
「AI 软件工程师」从此变成品类名。Cursor、SWE-agent、OpenHands、后来的 Claude Code / Codex,都要在这条舆论里表态:全自主云端,还是人在环路的编辑器。Devin 的演示把期望拉到「能上岗」。
13.86% 要连着读:570 / 2,294 题,不是全量;厂商自报;agent 设定与当时公开的 assisted / unassisted 检索基线不是严格同口径;独立复现当时稀缺。热度像 2023 年的 AutoGPT——定义话题,不定义上限。人在环路的 IDE 助手往往更早上日常,留存也更高。引爆型事件要等第三方完成谓词;这一页记下的是口号先于尺子。
Princeton NLP 等。arXiv:2405.15793。SWE-agent:面向语言模型的 Agent-Computer Interface。开源对照 Devin。
原文:arXiv:2405.15793。
John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, Ofir Press。SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering。2024-05-24 首挂。arXiv:2405.15793。后收入 NeurIPS 2024。
语言模型 agent 越来越多被用来在数字环境里自动化复杂任务。人做软件工程会用 IDE 这类应用;作者认为 LM agent 是另一类终端用户,有自己的能力与需求,应有专门为它设计的软件界面。论文研究界面设计如何影响 agent 表现,并给出 SWE-agent:让 LM 自主用计算机做软件工程。自定义的 agent-computer interface(ACI) 增强创建/编辑文件、导航仓库、跑测试与程序的能力。在 SWE-bench 与 HumanEvalFix 上分别达到当时的 pass@1 约 12.5% 与 87.7%,超过先前非交互式 LM 的最好成绩。论文还分析 ACI 设计如何改变行为与分数。
人用的 Linux shell / IDE 对模型并不友好:动作太细、反馈太长或太噪。SWE-agent 提供较小的、面向 LM 的命令集:搜索与导航、面向模型的文件查看与编辑、护栏、简短反馈。每一步大致是 ReAct 式的「想 + 命令」,环境回执进入下一步。需要时仍可落到普通 Linux 命令。
作者把贡献写成:证明界面是 agent 表现的一等变量,而不只是换更强的模型。
对象是开源循环 + 公开模型,不是闭源「软件工程师」产品。数字与 Devin 的 13.86% 不能直接横比(子集、是否 assisted、脚手架都不同);论文自己比的是先前非交互式基线。
Devin 把「自主修 issue」做成舆论。学界缺一个可复现的对照:同样用 GPT-4 级模型,循环怎么接计算机,分数才上得去。SWE-agent 的答案不是再写一套更炫的多 Agent,而是 改界面。人用的 Linux shell / IDE 对模型并不友好:动作太细、反馈太长或太噪;同时又缺少「运行测试并返回失败切片」这种原语。ACI 提供较小的、面向 LM 的命令集:搜索与导航、面向模型的文件查看与编辑、护栏、简短回执。这是 2022 年 ReAct「行动是自由文本」之后,编码线上把 Action 重新设计成「给模型用的 API」。动作空间是设计物,不只是换更强的核心。
按 AI Agent 定义,SWE-agent 是 Agent:决策、在仓库环境里行动、用测试回执再决策。
后来的编码运行时(OpenHands、Claude Code、Codex CLI)都在做同一件事的产品版:不是把 VS Code 像素原样交给模型,而是给一套模型吃得消的工具。ACI 这个词没有全部流行起来,这个设计问题留下来了。
12.5%(GPT-4 Turbo,SWE-bench 全量口径下的论文数字)和 Devin 的 13.86% 外观接近,口径不同:子集、是否 assisted、脚手架都不可直接横比。真正要记的是:2024 年开源循环第一次在 SWE-bench 上拿出可引用的双位数,而且论文把「接口」写成自变量。刷分后来靠更强模型和 Verified 子集;界面这一课没有作废。
Xie 等。arXiv:2404.07972。真实操作系统里的开放电脑任务:369 题;人约 72%,当时最好模型约 12%。
原文:arXiv:2404.07972。项目页:os-world.github.io。
Tianbao Xie 等。OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments。2024-04 首挂。arXiv:2404.07972。后收入 NeurIPS 2024 Datasets and Benchmarks。
能少用人干预完成复杂电脑任务的自主 agent,被写成可改变人机交互。既有基准要么缺交互环境,要么锁在特定应用/领域,反映不了真实电脑使用的多样与复杂。论文给出 OSWorld:可扩展的真实电脑环境,支持在 Ubuntu、Windows、macOS 上做任务布置、交互学习、基于执行的评测。其上构建 369 道任务:真实网页与桌面应用、操作系统文件 I/O、跨应用工作流。每题来自真实用例,带初始状态配置与自定义评测脚本。当时最强 LLM/VLM agent 在 OSWorld 上暴露明显不足:人能完成超过 72.36%,最好模型约 12.24%,主要卡在 GUI grounding 与操作知识。
OSWorld 不是模拟器里的假桌面,而是真实 OS 上的可复现任务。动作包括截屏、无障碍树、键盘与鼠标。任务跨开放域应用,常要多应用、GUI 与 CLI 并用。
基线成功率从约 0.99% 到约 12.24%。人约 72.4%。失败分析指向:点不准控件、不懂常见软件操作流程,而不只是「语言模型不够聪明」。
对象是电脑操作 agent 的环境与考卷,不是某一个厂商产品。
WebGPT、浏览器插件、DOM 工具只能覆盖「网页里有 API 或 DOM 的那一层」。真实工作大量发生在桌面软件、文件管理器、跨应用复制。OSWorld 把考场从 MiniWoB 一类玩具环境换成真 OS,并且用执行脚本打分,而不是看演示是否好看。谓词在桌面状态,不在模型自述。
按 AI Agent 定义,跑在 OSWorld 上的系统可以是 Agent:看屏幕或无障碍树、点鼠标、根据状态再决定。2024 年的分数说明:定义满足,能力不够。人约 72%,当时最好模型约 12%。失败分析指向 GUI grounding 与操作知识,而不只是「语言模型不够聪明」。
10 月 Anthropic Computer Use 报 OSWorld 截图档 14.9%(更多步数时 22.0%),就是对着这类基准说话。没有 OSWorld,Computer Use 只剩演示视频。编码线上 SWE-bench Verified 在 2024 年把分数从个位数拉到可引用;电脑操作线直到 2024 年底仍在低分区间。两条通道的信噪比不可互换:测试失败可局部重跑,GUI 点错按钮回滚成本高。不要用同一个「Agent 已经能干活」概括两条线。评测是尺子,不是 Agent。
OpenAI,2024-05-13 Spring Update。GPT-4o:同一模型处理文本、音频、图像;对免费用户开放更强对话。
当时公告:Hello GPT-4o。
本页转述 2024-05-13 公告当时公开说了什么,不以后来的 4o mini、o1 或 Operator 回填。
主要出处:OpenAI,2024-05-13,Hello GPT-4o。本页不复制公告全文。
GPT-4o 的 o 写成 omni:一个模型跨文本、视觉、音频推理,语音到语音的响应可到约 232–320 毫秒 量级,接近人的对话节奏。能力上公告称文本与代码匹配当时的 GPT-4 Turbo,多语言、视听更好。ChatGPT 免费用户得到 GPT-4 级对话;Plus 用户限额更高。API 先放文本与视觉,音频稍后。
演示强调实时语音、看屏幕/图像、打断与语气。定价相对 GPT-4 Turbo 下调。公告同时提到安全评估与分阶段放出音频。
这是对话模型与产品入口。实时看图、听声,不等于已经在操作系统里点鼠标。电脑操作、浏览器 Agent 是后续产品。4o 可以把截图当输入,循环与动作空间仍要宿主自己接。
GPT-4 的视觉是后加、偏慢的管道。电脑操作如果每一步都「截屏 → 另一个视觉模型 → 文本描述 → 再决策」,延迟和信息损失都大。4o 把看和说收进同一只低延迟核心,让「对着屏幕说话」变成消费级体验。对 Agent,这意味着截屏可以当一等观测,而不只是辅助插件。
它没有规定鼠标 API,也没有 OSWorld 分数。感官到位,执行器还没有。能看 ≠ 已点击:视觉是 GUI 的输入前提,不是点击策略。
没有「能看」,Computer Use / Operator 只能调网页 API。有了 4o(以及同时期 Claude 的视觉),看屏幕才成为产品路线。实时语音是另一条消费叙事,对任务型 Agent 的影响小于视觉。循环、浏览器、点击,是 2024 年 10 月和 2025 年 1 月才做成公测产品的。
按 AI Agent 定义,GPT-4o 本身不是 Agent。它是更强、更全能的决策核心。像素进上下文,不等于已经在 OS 进程里产生副作用。
Anysphere,Cursor。没有单一论文。2024 年上半年在开发者里把「编辑器里的 AI」做成日用品:补全、对话、改文件,人盯着 diff。
产品:cursor.com。
本页转述 2024 年上半年 Cursor 作为开发者产品公开呈现的形态,不把 2024 年底 Composer、2025 年 Agent 模式回填成「上半年已经有」。
主要出处:产品本身 Cursor,以及同期开发者讨论。没有一篇与 SWE-bench 论文同级的「发布论文」。本页不复制产品文案全文。
Cursor 是 VS Code 分支上的编辑器。2024 年开发者实际在用的,主要是:
付费订阅、自带或自备模型密钥。宣传强调「在你写代码的地方」而不是另开一个云端工程师控制台。
上半年的 Cursor 不是 Devin 那种「丢一个 issue 等它自己开 PR」的全自主云端工人。多文件自主循环(后来叫 Composer / Agent)是更晚的产品层。把 2024 年中的 Cursor 写成已经等同于 2025 年的 IDE Agent 模式,是时间错位。
Devin 把期望拉到「整份工程交给 AI」。真实开发者的日常是:在仓库里改几处、看 diff、跑测试、提交。Cursor(以及同期的 Copilot Chat)把模型嵌进这套已有动作,而不是要求人改用一个新的自主工人。人在环路:模型建议,人拍板。失败成本是一次撤销,不是一次静默的错误 PR。
按 AI Agent 定义,2024 上半年的 Cursor 大多还不是完整 Agent:Tab 补全和单轮编辑缺少「对环境行动、按反馈再决策」的长循环。它是 Agent 史里必须记的引爆,因为使用方式改变了——决策核心进了 IDE。更像 Agent 的多文件循环(后来叫 Composer / Agent)是随后加上的,不要回填成上半年已经有。
2025 年的 Cursor Agent、Copilot Agent Mode、Gemini CLI,都是这条「在编辑器/终端里委派」的加长版。全自主云端工程师没有消失,但日活和习惯长在人在环路这边。定义允许弱自主;这是留存先起来的形态。评测上 SWE-bench 衡量的是少人干预的闭环;产品留存衡量的是另一件事。两条尺子不要混用。
Anthropic,2024-06-21。Claude 3.5 Sonnet:中档价、宣称超过 3 Opus。内部 agentic coding 评测 64% 对 Opus 的 38%(厂商自报)。
本页转述 2024-06-21 公告当时公开说了什么,不把 10 月的 Sonnet 升级、Computer Use 或 SWE-bench Verified 49% 写进当天。
主要出处:Anthropic,2024-06-21,Introducing Claude 3.5 Sonnet。本页不复制公告全文。
3.5 Sonnet 是 Claude 3.5 家族的第一只。公告称在一批评测上超过竞品和 Claude 3 Opus,速度与成本仍是中档(相对 Opus)。200K 窗口。价格:$3 / $15 每百万输入/输出 token。claude.ai 免费可用(Pro 限额更高);API、Bedrock、Vertex AI 同步。
编码:内部 agentic coding 评测里,3.5 Sonnet 解决 64% 的题,Claude 3 Opus 38%。评测设定是:给自然语言描述,在开源仓库上修 bug 或加功能;配上相关工具时,模型可独立写、改、执行代码。这是厂商内部卷,不是 SWE-bench Verified。
产品侧同期推出 Artifacts:在对话旁打开一块画布,看代码、文档、图表的实时预览。面向「做出来看」而不是只出聊天气泡。
路线图:年后再放 3.5 Haiku 与 3.5 Opus;并写到在探索 Memory。
这是更强的中档模型 + 聊天产品里的画布。64% 是内部 agentic 评测,不能直接当成 SWE-bench。看屏幕、点鼠标是 10 月的另一篇公告。
3 月的 Opus 贵。GPT-4o 在 5 月把免费档智力拉高。3.5 Sonnet 用中档价做出当时许多团队愿意当成「默认核心」的编码与工具使用。内部 64% 的 agentic coding 数字告诉应用方:循环值得接在这个核心上。它没有公开 SWE-bench 全量对照,64% 是厂商内部卷。
Artifacts 把「模型写的东西」从气泡里拿出来,变成可迭代的工件。这是工作流:路径仍在产品 UI 里,人盯着画布改。还不是自主 Agent。
2024 年下半年大量开源脚手架和 IDE 助手默认调用 Sonnet。10 月升级后的 3.5 Sonnet 才带 Computer Use,并在 SWE-bench Verified 上自报从 33.4% 到 49.0%。6 月这一天的意义是换核心,不是换品类,更不是把看屏幕写进当天。
按 AI Agent 定义,3.5 Sonnet 本身不是 Agent。它是循环里那颗更合适的决策核心。没有它,2024 年的编码分数和后来的 Claude Code 都会换一条更贵或更弱的底。循环、停机、沙箱仍在宿主。
OpenAI 与 SWE-bench 原作者,2024-08-13。原测试集的人工校验子集,成为此后默认完成谓词。
当时公告:Introducing SWE-bench Verified。2023 年原版见 SWE-bench。
本页转述 2024-08-13 公告当时公开说了什么,不把后来的 50%+ 刷榜写进当天。
主要出处:OpenAI,2024-08-13,Introducing SWE-bench Verified。与 SWE-bench 原作者合作。本页不复制公告全文。原论文见 2023 SWE-bench。
SWE-bench 用真实 GitHub issue 考「给仓库和问题描述,能否改到测试通过」。到 2024-08-05,公开榜上最好 agent 在原版约 20%、SWE-bench Lite 约 43%。OpenAI 认为原测试集含有问题的题(含混、不可解、测试不足等),会低估模型能力。
SWE-bench Verified: 从原测试集抽出 500 条,经人类标注员确认「非 problematic」。公告写它取代原版 SWE-bench 与 SWE-bench Lite 作为推荐测试集。同时公开全部原测试样本的人工标注,可按难度切片:约 196 道「不到 15 分钟」的 easy,约 45 道「超过 1 小时」的 hard。
用若干在原榜上表现好的开源脚手架测 GPT-4o(gpt-4o-2024-05-13):最好脚手架在 Verified 上 33.2%,而其在原版 SWE-bench 上约 16%。公告把这读成:原数据集低估了 agent 能力。从 Lite 到 Verified 的跳变没有那么大,因为 Lite 已经滤过一轮。
这不是新任务分布,是原分布上的清洗子集。33.2% 是 GPT-4o + 开源脚手架,不是「软件工程师已经能做三分之一真实工作」。公告也没有说可以和 2023 年论文里的个位数直接做减法。
原版 SWE-bench 有不可解题、描述含混、测试与 issue 不对齐。刷榜的人会撞上「模型其实改对了、测试仍红」或「题本身坏了」。清洗之后,分数上升一部分来自考卷变好,不一定全是模型变强。OpenAI 把 Verified(500 道经确认可解)做成此后引用的默认分母,减少「20% 和 43% 各说各的子集」。GPT-4o + 开源脚手架当天最好报 33.2%,同一脚手架在原版约 16%——公告把这读成原数据集低估了能力,不是「软件工程师已经能做三分之一真实工作」。
2024 年底到 2025 年的编码 Agent 几乎都报 Verified。3.5 Sonnet 升级自报 49%,o1 也在这张表上走。没有 Verified,舆论会继续把 2023 全量个位数和 2024 子集双位数当成同一把尺子。分母变了,减法不成立。
它仍是「单 issue、有测试、Python 开源仓」的考卷,不是跨天、跨人、需求含糊的项目。刷 Verified 也不等于生产交付——分布、污染、脚手架都不同。按 AI Agent 定义,Verified 是完成谓词,不是 Agent。
OpenAI,2024-09-12。o1-preview 与 o1-mini。用强化学习训练隐式长思考。ChatGPT Plus/Team 与部分 API。
当时公告:Introducing OpenAI o1-preview。研究说明:Learning to reason with LLMs。
本页转述 2024-09-12 发布当时公开说了什么,不把 12 月的正式 o1、2025 的 o3 回填进当天数字。
主要出处:OpenAI,2024-09-12,Introducing OpenAI o1-preview;Learning to reason with LLMs。本页不复制公告全文。
新系列模型被设计成先多想再答。科学、编码、数学上比先前模型更能处理难题。当天放出系列的第一只预览:o1-preview,以及更小的 o1-mini。ChatGPT Plus 与 Team 可在模型选择器里手动选用;预览周限额最初约 30 条(o1-preview)与 50 条(o1-mini),数日后上调。可信 API 用户同期可调用。用户看不到完整内部思维链,产品展示的是摘要后的「思考」。
研究博文用完整 o1(当时尚未全部产品化)对照 GPT-4o,并给出 o1-preview 的中间数字。强调的方向:
安全:在其最难的越狱测试上,o1-preview 分数远高于 GPT-4o(博文给出 84 vs 22,0–100 分)。思维链用于训练与对齐,不作为完整原文交给用户。
这是新的模型系列与 ChatGPT 里的一个选项。内部思考不是 ReAct 那样写给宿主解析的 Thought 字段。没有新的工具协议,也没有宣称已经是自主 Agent。高延迟、高单价、限额,是发布时就写明的约束。
2022 年以来,复杂题靠 CoT、Self-Consistency、ReAct 把「想」写在明文里。宿主能看见 Thought,也能被 Thought 带沟里。o1 用强化学习在测试时花更多计算,把长思考藏进模型内部。数学与竞赛编程的跳变说明:同样的决策核心,想得久可以换正确率,而不只靠换提示词模板。延迟和费用是这笔账;限额是发布时就写明的约束。
对 Agent 搭建者,这意味着规划、自我检查不必每一步都在轨迹里写一篇小作文。代价是:每一步更贵、更慢、更难调试——用户看不到完整思路。内部思维链用于训练与对齐,不是写给宿主解析的 Thought 字段。
2025 年的 o3、Claude 3.7「混合推理」、各家思考模型,都沿着「测试时计算」走。编码 Agent 开始把「难步」路由到推理核心,简单步走快模型。SWE-bench Verified 上 o1-preview 后来被报到约 41%,12 月 o1 约 49%——仍是模型分,脚手架另计。
按 AI Agent 定义,o1 本身不是 Agent。它没有规定对环境行动。它是循环里一颗会花时间想的决策核心。把内部 CoT 当成已经实现 ReAct,会漏掉执行层:停机、工具、沙箱仍在宿主。换决策核心,不换品类。
Anthropic,2024-10-22。升级版 Claude 3.5 Sonnet 的 Computer Use 公测。截屏 → 光标、点击、键入。
当时公告:Introducing computer use。
本页转述 2024-10-22 公告当时公开说了什么,不把 2025 年 Operator / ChatGPT agent 回填。
主要出处:Anthropic,2024-10-22,Introducing computer use, a new Claude 3.5 Sonnet, and Claude 3.5 Haiku。本页不复制公告全文。
Computer Use 以公测形式出现在 API:开发者可让 Claude 像人一样用电脑——看屏幕、移动光标、点按钮、键入。公告称 3.5 Sonnet 是第一只提供电脑使用公测的前沿模型。当时仍是实验性:有时笨拙、易错;提前放出来是为了收开发者反馈。API 在 Anthropic、Bedrock、Vertex AI。同期放出升级版 3.5 Sonnet;3.5 Haiku 将在当月稍后。
开发者把指令(例如「用电脑上和网上的数据填这张表」)交给模型,由模型译成电脑命令(开浏览器、导航、填表等)。
公告与报道还提到滚动、拖拽、缩放等仍弱。
这是给开发者的 API 与参考实现,不是消费级「替你操作整台电脑」的默认开关。14.9% 远低于 OSWorld 上的人类约 72%。厂商自己写了笨拙和易错。
工具调用一直假设「有 API」。大量软件没有 API,只有 GUI。Computer Use 把观测改成截屏,把动作改成鼠标键盘,让没有官方接口的应用进入循环。这是「像素进、鼠标出」:副作用发生在 GUI 进程,错误不可逆、难回滚。OSWorld 已经证明这件事很难;Anthropic 把第一只公测 API 放到升级后的 3.5 Sonnet 上,并主动写低分和笨拙。
按 AI Agent 定义,这 是 Agent:LLM 决策、对环境(桌面)行动、看新截屏再决策。人仍要提供机器、权限和任务。视觉核心(GPT-4o / Claude 视觉)是输入前提,点击策略是这一层——两层不要并成「能看就会点」。
厂商自报 OSWorld 截图档 14.9%,更多步数时 22.0%,人对着同一张卷约 72%。编码线 2024 年 Verified 已到约一半(厂商自报);电脑操作仍在低分区间。两条可靠度曲线不要并成一句「Agent 已经会用电脑」。
2025 年 1 月的 Operator 是这条线的产品化:Agent 自带浏览器。没有 10 月这次公测,看屏幕仍停留在论文和演示。安全问题(乱点、泄露、越权)公告已经当实验风险写了,不是后来才出现的。2024 年记下的是通道打通、谓词仍低。
Anthropic,2024-11-25。开源 MCP:规范、SDK、Claude Desktop 本地 server、若干预置连接器。
当时公告:Introducing the Model Context Protocol。协议深挖见 MCP。
本页转述 2024-11-25 公告当时公开说了什么,不把 2025 年 OpenAI / Google 追认、远程生产 server 生态写成当天事实。
主要出处:Anthropic,2024-11-25,Introducing the Model Context Protocol。本页不复制公告全文。
MCP 被写成连接 AI 助手与「数据所在之处」的开放标准:内容仓库、业务工具、开发环境。目标是让前沿模型给出更相关的回答。开发者侧当天给出三件:
预置例子包括 Google Drive、Slack、GitHub、Git、Postgres、Puppeteer。公告称 Claude 3.5 Sonnet 擅长快速写出 MCP server。所有 Claude.ai 套餐可在 Desktop 上连 MCP server;Claude for Work 客户可在本地测内部系统。远程、组织级生产 server 的工具包写成「即将提供」。
架构一句话:数据源做成 MCP server,应用做成 MCP client,双向连接。演示包括 Desktop 连 GitHub 建仓并开 PR。
这是规范 + Claude Desktop 本地生态 + 少量预置 server。不是跨厂商已经默认的插槽,也不是云端托管的企业总线。热度在 2024 年远低于同期的模型发布或 Devin。协议本身不执行多步循环。
Function Calling 解决了「模型怎么吐出一次调用」。接什么系统,每家仍是私有 schema、私有插件、私有 OAuth。N 个模型和 M 个数据源要 N×M 套连接器。MCP 想做成 USB 式插槽:server 写一次,不同 client 都能插。它是模型↔资源的接线协议,不管谁选下一步、何时停机、副作用跑在哪台机器上。编排仍在 Desktop、后来的 Claude Code / Codex 等运行时。
2024 年真正能用的 client 主要是 Claude Desktop 本地 server。远程、组织级生产工具包写成「即将提供」。热度远低于同期的模型发布或 Devin。
按 AI Agent 定义,MCP 本身不是 Agent。它是工具总线,不是循环。
2025 年 3–4 月 OpenAI、Google 等宣布支持之后,这篇 11 月的规范才被追认为拐点。把 2024-11 写成「生态已经统一」,是用后来的热度回填。对照 2025 年的 MCP 被追认:当时热度 ≠ 后世重要性。A2A 后来把自己写成 MCP 的互补(接 Agent 而不是接工具),也说明 MCP 先占住了工具层这个位置。协议发布日不等于 Agent 成立日。
Anthropic,2024-12-19。面向开发者的实践总结:能用工作流就不要上自主循环。
本页转述 2024-12-19 博文当时写了什么,不把 2025 年 Claude Code 运行时回填成文中已有产品。
主要出处:Anthropic,2024-12-19,Building effective agents。本页不复制全文。
作者写:过去一年与数十个行业团队一起做 LLM agent,最成功的实现往往不用复杂框架或专用库,而是简单、可组合的模式。
文中把两条路分开:
建议:从简单提示词开始,用评测优化;只有更简单的方案不够用时,再加多步 agentic 系统。成功不在于最精巧,而在于对需求刚好合适。
工作流侧包括:提示链、路由、并行化、编排器–工人、评估器–优化器。Agent 侧:理解输入、规划、用工具、从错误恢复;用环境反馈(工具结果、代码执行)决定下一步;在检查点或卡住时找人;用迭代上限等作为停机条件。
例子:把简单客服问题路由到小模型(如 3.5 Haiku),难的给 Sonnet;按退款/技术支持走不同下游。
这是工程博文,不是新协议、新基准或新模型。它没有宣布 Anthropic 已经做出消费级自主员工。框架被写成可选,不是禁止。
2023–2024 的框架营销倾向于:多 Agent、图越复杂越先进。生产里大量任务其实是固定步骤:抽字段、调两个 API、写摘要。把这些做成「自主 Agent」会多付延迟、钱和失败模式。这篇博文用厂商自己的客户实施经验,把冷水泼在「一切都上多 Agent」上。
文中切法要记死:
按本站定义,工作流往往不是 AI Agent:路径预写死,模型只在节点上生成。自主 Agent 才接近本站定义。两者可以组合,不要用同一个词。多 Agent 是一种拓扑,不是更强的循环原语。
建议写成工程顺序:先简单提示,评测不够再用多步系统。成功不在于最精巧。2025 年的 Claude Code / Codex 是厂商托管的自主循环,看起来和「少用框架」并不矛盾——循环被收进运行时,而不是让每个应用自己叠一层编排库。博文的遗产是设计原则,不是新协议或新基准。读 2024 年底的架构选择,这篇比 CrewAI / AutoGen 的发布会更接近后来留下的口味。
一句话主线: 2025 年,控制循环从开发者自写的编排库,迁进可直接委派的运行时——Claude Code、云端 Codex、ChatGPT 里的 Deep Research / Agent 模式。推理模型(o3、GPT-5)把规划与工具选择训练进核心;模型仍不是 Agent。MCP 被跨厂商追认,A2A 给出 Agent↔Agent 接线,Skills 是运行时装载而不是 RPC。评测从 Verified 加硬到 Terminal-Bench / SWE-bench Pro,两套分数不可横比。年底出现转向:云厂商开始把 Agent 运行时当作平台品类提供(AWS AgentCore、阿里云 AgentRun),编码 Agent 的委派面进 Slack。11 月自托管「龙虾」仓库出现,舆论顶点在次年初。
2024 的 o1 是预告。2025 年决策核心的变化是:思考被训练进模型,运行时把模型和电脑接在一起。 核心换了,循环仍在运行时一侧。
每条一个分类,标签可多个(六类历史角色)。Claude Code 预览与 GA 收成一行。
| 时间 | 事件 | 分类 | 标签 | 为什么记 |
|---|---|---|---|---|
| 2025-01 | OpenAI Operator(CUA 模型) | 产品 | 工程化 | 2024 Computer Use 的产品化:Agent 拥有自己的浏览器,点击真实 GUI。7 月并入 ChatGPT agent。分数和安全边界仍是研究预览级 |
| 2025-01 / 04 | o3-mini 与 o3 | 模型 | 范式更替 | 推理核心进入产品,并开始在思维链里选工具。本身不是 Agent,但是 2025 年运行时的默认引擎之一 |
| 2025-02 | Deep Research | 产品 | 工程化 | 多步检索→综合→带引用成稿。研究型 Agent 成为可点击的产品,而不只是网页浏览 demo。通道是文档,谓词不是仓库绿 |
| 2025-02 / 05 | Claude Code | 产品 | 工程化、范式更替 | 终端里的代码优先运行时:不是库,是用来委派的 Agent。2-24 研究预览,5-22 随 Claude 4 GA。循环内置,应用方不再自写 AgentExecutor |
| 2025-03 | Manus 等通用自主 Agent 爆红 | 产品 | 引爆 | 把「云端虚拟机里什么都干」送进大众视野(尤其中文互联网)。热度类似 2023 的 AutoGPT;热度 ≠ 完成率 |
| 2025-03-11 | OpenAI Agents SDK 与 Responses API | 框架 | 工程化 | 厂商把单/多 Agent 编排、内置工具、tracing 收成开源积木。改进 2024 年的 Swarm;仍是库,不是托管运行时 |
| 2025-03–04 | OpenAI / Google 等宣布支持 MCP | 协议 | 标准 | MCP 从「Anthropic 的协议」变成跨厂商插槽。这才是 2024-11 那篇规范的后世重要性落地——当时热度 ≠ 这一刻。接线,不是循环 |
| 2025-04-09 | A2A(Google) | 协议 | 标准 | Agent ↔ Agent 的开放协议,明确写成 MCP 的互补:MCP 接工具,A2A 接其他 Agent。生态仍早期。站点说明见 什么是 A2A |
| 2025-05 | OpenAI Codex 云端软件工程 Agent | 产品 | 工程化 | 每任务一个云沙箱、可并行、可开 PR。与 2021 年那个 Codex 模型同名不同物。CLI 与云端运行时成对出现 |
| 2025-05-19 | Terminal-Bench | 评测 | 首证、标准 | 真实 Docker 里的命令行任务,断言最终环境状态。给 Claude Code / Codex CLI 一条与 SWE-bench 不同的尺子 |
| 2025 年中 | Cursor Agent、Copilot Agent Mode、Gemini CLI 等同场 | 产品 | 引爆 | 「在编辑器/终端里委派」成为默认开发体验。人在环路仍然是主路径,全自主是选项。弱自主仍满足定义 |
| 2025-07 | Operator 并入 ChatGPT agent | 产品 | — | 浏览执行和研究开始收进同一个产品入口,而不是独立网站 |
| 2025-08-07 | GPT-5 | 模型 | — | 快答 + 思考 + 路由收成默认系统。SWE-bench Verified 厂商自报 74.9%。本身不是 Agent |
| 2025-09-19 | SWE-bench Pro | 评测 | 标准、警示 | 更长、抗污染的仓库题。GPT-5 在统一脚手架上约 23%——Verified 七成与 Pro 两成不可横比:谓词变硬,完成率塌缩 |
| 2025-10 | Agent Skills | 协议 | 工程化 | 用文件夹打包流程、脚本、领域知识,运行时动态加载。通用核心靠 Skills 变专用,而不靠再训练。不是 RPC。原文见 为智能体配备 Agent Skills |
| 2025-11-24 | OpenClaw / Clawdbot(龙虾) | 产品 | 引爆 | 自托管 Gateway:聊天软件指挥你自己的机器。仓库在 2025 年出现;现象级爆红在 2026-01,见 OpenClaw 爆红 |
| 2025-12-02 | AWS AgentCore(re:Invent) | 产品 | 工程化 | 推理模型循环之外的一层:策略在工具调用到达系统前拦截并裁决,评估按真实运行行为打分。当时均为 Preview,2026-03 才 GA |
| 2025-12-08 | Claude Code in Slack | 产品 | — | 委派面从终端搬进聊天流:@Claude 建会话、按频道上下文自动选仓、线程回帖给 PR 直链。执行面未变,是 2026 Claude Tag 的前身 |
| 2025-12-10 | 阿里云函数计算 AgentRun | 产品 | 工程化 | 云厂商把 Agent 运行时做成平台资源:会话亲和突破 Serverless 无状态,运行时与沙箱可休眠、按需唤醒。厂商自报数字按主张记 |
| 2025-12-18 | Agent Skills 开放标准 | 协议 | 标准 | 10 月的文件夹格式去厂商化:规范独立到 agentskills.io,客户端登记表数十家。管打包与可移植性,不管执行语义 |
| 2025-12-18 | GPT-5.2-Codex | 模型 | — | 为 Codex 优化的编码核心:上下文压缩让工作跨多个上下文窗口保持连贯;Windows 有了原生沙箱选项。厂商自报分数未能一手核实 |
刻意不升格的:每一个「我们的多 Agent 平台」发布会;把 A2A 写成已经统一企业通信(协议发布 ≠ 生态长成,对照 前传里的 FIPA);任何把 Deep Research 的长报告等同于「已解决研究」的说法;Google Mariner 等与 Computer Use / Operator 同线的跟进预览;以及 2026 年才出现的「龙虾套壳安装会」。
推理模型与编码专用变体成为 Agent 运行时的引擎。通用聊天模型仍在,但默认用来执行的往往是会思考、会用工具的那一档。Computer Use 从实验 API 长进消费级入口。核心不是循环。
运行时压过框架。 仍可以用 LangGraph 或 Agents SDK 自建,但大量开发者直接开 Claude Code / Codex CLI。MCP 成为接工具的默认方言;A2A 提出接 Agent 的方言,落地慢于 MCP。Skills 是给运行时的可移植专长包,不是又一种 RPC。
三者不要混:调研方法 里的 Framework / Runtime / Protocol 在 2025 年终于能用产品对上号——库、装上即委派的执行环境、接线。
几条产品线同时成立:
通用「什么都能干」的云端 Agent(Manus 等)走引爆路线,和 2023 AutoGPT 同类:定义舆论,不定义可靠性上限。
每个编码会话一个沙箱,成为运行时标配。MCP server、密钥、允许域名开始出现在开发者设置里。评测上 SWE-bench Verified 分数继续被刷高,Terminal-Bench 和 SWE-bench Pro 把「会写补丁」和「会在终端/长周期仓库收工」拆开。可观测性仍弱:一次委派烧了多少 token、在哪一步漂了,产品刚开始给日志(Agents SDK 的 tracing 是开发者侧的一步)。
12 月这层被云厂商收成产品。AWS AgentCore 把工具调用的裁决与行为评估搬到推理循环之外,阿里云 AgentRun 用会话亲和与休眠唤醒承接有状态 Agent——两者回答的是同一类问题:环境怎么活着、谁来决定一次调用能不能发出去。产品先于论文:把这些负载当作一类系统问题来测量,要等 2026 年的 Aries 与 SpecBox。
OpenAI,2025-01-23。Operator:用自己的浏览器看网页、点击、滚动、键入。美国 Pro 用户研究预览。
当时公告:Introducing Operator。
本页转述 2025-01-23 公告当时公开说了什么。7 月并入 ChatGPT agent、独立站点下线,见 ChatGPT agent 讲解,不写进本页「当时主张」。
主要出处:OpenAI,2025-01-23,Introducing Operator。本页不复制公告全文。
Operator 被写成能上网替你执行任务的 agent:拥有自己的浏览器,看网页,用键入、点击、滚动与之交互。当时是 research preview,有限度,会按用户反馈改。OpenAI 把它列为「第一批 agent」之一:你给任务,它去执行。
可用性:当天起美国 Pro 用户可在 operator.chatgpt.com 使用。计划扩到 Plus、Team、Enterprise,并在未来把能力收进 ChatGPT。驱动模型 CUA(computer-using agent)计划稍后在 API 放出,供开发者自建电脑使用 agent。
安全与迭代:从小范围开始,边用边收紧。登录墙、验证码、高风险动作需要人确认一类限制,公告按研究预览来写,不是已解决。
这不是已经并入 ChatGPT 主入口的「agent 模式」,也不是通用桌面 Computer Use 的完整复制——公开形态是浏览器。可靠性与安全边界被明确写成预览。
2024-10 Computer Use 是开发者 API:调用方自备桌面。Operator 把同一条动作通道做成可打开的站点——Agent 自带浏览器,不必先搭 VM。CUA 把「看 + 点」训成专用核心;视觉输入是前提,点击策略是另一层。
按定义这 是 Agent:核心选动作,副作用在远程 GUI,观察是新截屏。人下任务、对敏感步确认。登录墙、验证码、复杂后台仍脆;能点 ≠ 完成谓词已通。
7 月并入 ChatGPT agent:浏览执行不再是另开产品,而是聊天入口里的一种模式。电脑/浏览器线的成功率明显低于编码运行时。没有这条预览,看屏仍停在 2024 的 API 与 OSWorld 低分。两条可靠度曲线不要并成一句「已经会用电脑」。
OpenAI。2025-01-31 放出 o3-mini;2025-04-16 放出完整 o3 与 o4-mini。o3 可在思维链里选用浏览、Python、看图等工具。
o3-mini:OpenAI o3-mini。o3 / o4-mini 系统卡:o3 and o4-mini System Card。
本页按时间分开转述,不把 8 月 GPT-5 或 Codex 的 codex-1 写成这两天已经有。
出处:OpenAI,OpenAI o3-mini。推理系列里更便宜、更快的一档,面向 STEM、数学、编码。ChatGPT 与 API 当天可用。开发者可设 reasoning effort:low / medium / high。当时不支持视觉;看图仍用 o1。Plus / Team 限额相对 o1-mini 上调。可与搜索配合给带链接的答案(早期原型)。
这是 o3 家族进入产品的第一只,不是完整 o3。
出处:系统卡 OpenAI o3 and o4-mini System Card;同期产品说明。o3 被写成当时最强推理模型;o4-mini 更快更便宜。关键主张:推理与完整工具能力结合——网页浏览、Python、图像与文件分析、生图、canvas、automations、file search、memory。模型可在思维链里调用工具,例如裁剪图像、上网、用 Python 分析数据。公告还写「think with images」:视觉不只是看一眼,而是进入推理链。
开发者侧:Chat Completions 与 Responses API。社区说明里 o3 在 SWE-bench Verified 上自报 69.1%(厂商榜,脚手架另计)。Plus / Pro / Team 当天可在 ChatGPT 选用。
推理模型与工具结合,不是新的运行时,也不是自托管网关。o3-mini 1 月还不能看图;完整 o3 的工具是 ChatGPT / API 宿主提供的,不是用户机器上的 shell。
o1 把长思考藏进模型,工具多半在思考结束之后由宿主另调。o3 把浏览、代码、看图收进思维链:决策与「该不该调用」并进,不必每一步在明文 ReAct 里写完规划。effort 档把延迟和账单暴露给调用方。
按定义 o3 不是 Agent。思维链里的 tool 标记仍是意图;Python、HTTP、文件系统的副作用发生在运行时一侧。没有 Claude Code / Codex / SDK 的循环,它只是一次(或一段)更会选工具的补全。
没有这个核心,5 月 Codex 的 codex-1(o3 的软件工程变体)和 Deep Research 的长检索都缺少默认引擎。GPT-5 再把快答 / 思考 / 路由收成系统,o 系列作为独立选择器退场。记法与 o1 相同:换决策核心,不换品类。把内部 CoT 当成已经实现作用在环境上的循环,会漏掉宿主。
OpenAI,2025-02-02。ChatGPT 里的 deep research:针对复杂任务在网上做多步研究。先给 Pro,计算很重。
本页转述 2025-02-02 发布当时公开说了什么。4 月加量、轻量 o4-mini 版、7 月与 ChatGPT agent 的浏览器叠加,不写进本页「当天主张」。
主要出处:OpenAI,2025-02-02,Introducing deep research。本页不复制公告全文。
deep research 被写成 ChatGPT 里的 agentic 能力:针对复杂任务在互联网上做多步研究,用几十分钟完成人要数小时的检索与综合。面向对象:金融、科学、政策、工程等需要彻底、精确、可引用研究的知识工作;也可用于需要仔细比较的消费决策。
当天:为 Pro 优化,每月最多约 100 次查询;Plus、Team 随后,再 Enterprise。英国、瑞士、欧洲经济区当时仍在处理准入。计算很重:查得越久,推理算力越多。用户在输入框选 deep research、可附文件;当时以网页为主。
驱动侧:公告写到用经过强化学习、面向真实浏览器与 Python 工具任务训练的推理模型变体(发布时叙事挂在 o3 一类推理模型上)。输出强调带引用的长稿,而不是一句聊天回复。
这不是「已经解决研究」的声明,也不是通用电脑操作。它是带工具的长程检索–综合循环,有次数上限,有地理限制。正确率与引用质量仍要人核对。
单次搜索和浏览插件给链接或短答。复杂调研要拆题、多源检索、交叉核对、写成带出处的稿。Deep Research 把这套循环收进 ChatGPT,而不是让调用方用 ReAct 拼搜索 API。通道是网页与文档,停机由产品(时长、深度、额度)和核心一起决定。
按定义这 是 Agent:核心选下一步检索或综合,工具产生网络副作用,观察写回后再选。谓词是「带引用成稿」,不是测试绿、不是环境状态断言。幻觉、选源偏差、过时页面,2 月没有被宣布消失。
它划出 2025 年应用层的研究专线,与编码运行时、电脑操作并列。后来与 Operator 收进同一 ChatGPT agent 入口:浏览执行和研究被当成同一类「替你干活」模式,学科边界在产品上合并,尺子没有合并。不要把成稿长度读成质量。
Anthropic。2025-02-24 随 Claude 3.7 Sonnet 以有限研究预览推出命令行 agentic coding 工具;2025-05-22 随 Claude 4 一般可用。
预览:Claude 3.7 Sonnet and Claude Code。GA 见 Claude 4 同期产品说明。
本页按时间分开转述,不把后来的 IDE 插件、GitHub Actions、Agent SDK 写成 2 月已经有。
主要出处:Anthropic,2025-02-24,Claude 3.7 Sonnet and Claude Code;2025-05-22 Claude 4 发布说明中的 Claude Code 一般可用。本页不复制公告全文。
同日发布 Claude 3.7 Sonnet:公告称为当时最强模型,也是市场上第一只 hybrid reasoning 模型——可近乎即时回答,或延长逐步思考(对用户可见);API 用户可控制思考时长。编码与前端被写成明显增强。
Claude Code 写成「第一个 agentic coding 工具」的有限研究预览:开发者可在终端里把相当体量的工程任务委派给 Claude。循环、工具、仓库访问由这套命令行运行时带着走,而不是再 import 一个 Agent 框架。预览范围有限。
随 Claude 4 发布,Claude Code 从预览转为一般可安装的开发者工具。此后 IDE 插件、CI 集成是同一引擎上的表面,2 月的核心主张不变:你用来干活的运行时,不是给应用嵌的库。
2 月不是 GA,也不是 Slack 里的团队员工(那是 2026 的 Tag)。3.7 的混合推理是模型能力;Claude Code 是接在终端上的循环产品。两者同一天出现,不要把模型写成已经等于运行时。
2023–2024 自建编码 Agent 的路径是:选编排库、接 Function Calling、配沙箱、写停机。循环在调用方进程里,AgentExecutor 是应用代码。Claude Code 把控制平面收成可安装的运行时:在仓库目录启动,读树、改文件、跑 shell,人在终端批 diff。3.7 的可延长思考把「难步」从明文 ReAct 收进核心;循环本身不在核心里。
框架、运行时、协议必须分列。Agents SDK 一类是库,进程仍是你的。Claude Code 是装上即委派的执行环境。MCP 是它后来的工具插槽,不是它的循环。按定义这 是 Agent:核心在循环里对环境(工作副本与 shell)产生副作用。人在环路是主路径,不是无人值守员工。
5 月云端 Codex 是同一迁移的另一边:循环进托管沙箱,而不是进又一个 Python 包。年中 IDE Agent 模式把这层习惯锁进编辑器。2026 年 Tag 文档写明:频道任务跑在与 Claude Code on the web 相同的短寿沙箱上——引擎未换,换的是委派面与 principal。读 2025,这一条才是「运行时压过框架」的可核对点。
Monica / Butterfly Effect 团队,约 2025-03-05。Manus:云端虚拟机里「想完就做」的通用 agent。邀请码驱动传播。
产品:manus.im。
本页转述 2025 年 3 月初公开演示与产品页当时说了什么,不把后来的改版、定价或 Skills 支持写成首发事实。
主要出处:产品演示 Introducing Manus: The General AI Agent(及同期视频);当时为邀请制网页预览。团队对外信息有限。本页不复制营销全文。
Manus 自称 general AI agent:不只生成想法,而是在云端环境里把任务做到交出结果(网站、行程、研报、课件等演示)。叙事是「mind and hand」(mens et manus):知识必须动手才有用。架构被说成多 agent、多模型;并承诺年后再开源部分模型——那是路线,不是 3 月已交付。
基准:早期检查点在 GAIA 上自称领先,并点名对比 OpenAI Deep Research。还提到 Upwork / Fiverr 与 Kaggle 上的真实任务。独立、可复现的全量对照在首发周并不充分。
传播:邀请码 + 演示视频,在中文互联网形成类似 2025 年初其他爆款模型的排队效应。
不是开源运行时,不是已审计的「什么都能干」。产品形态接近「云端虚拟机里的通用循环」,可靠性与宣传要分开记。
Claude Code / Operator 走专线:仓库,或浏览器。Manus 用「通用助手在云电脑里干活」把 2023 年 AutoGPT 的幻想重新做成 2025 年的消费演示。邀请制制造稀缺,热度快于任何可复核的谓词。
按定义演示中的系统 是 Agent:多步、有环境、有回执。自主度宣传很高;可复现的完成率当时跟不上宣传。GAIA 自报是厂商数字,不是行业水位。
通用云端 Agent 成为中文舆论里的品类名,与编码运行时、研究按钮并列。记法与 AutoGPT 相同:引爆上表,首发周分数不当尺子。人在环路的专线(编码、研究)在 2025 年把日常使用做实;通用线继续吃「什么都能干」的期望税。11 月自托管 OpenClaw 是另一条表面,不要和云端演示合成一种产品。
OpenAI,2025-03-11。Responses API、内置网页/文件/电脑使用工具、开源 Agents SDK、tracing。宣称改进 2024 年的实验库 Swarm。
当时公告:New tools for building agents。仓库:openai/openai-agents-python。
本页转述 2025-03-11 公告当时公开说了什么,不把 5 月远程 MCP、JS SDK 或后来的 Sandbox Agent 写成当天已有。
主要出处:OpenAI,2025-03-11,New tools for building agents。Python 仓库当日创建:openai-agents-python。本页不复制公告全文。
客户要把推理、多模态和安全技术做成生产级 agent,仍常卡在提示词迭代、自写编排、缺少可见性。当天给出一组积木:
核心概念(SDK 文档同期方向):带指令与工具的 Agent、handoffs、guardrails、sessions、tracing。
这是给开发者的 API 与库,不是 Claude Code 那种「打开终端就能委派」的运行时。computer use 内置工具是 API 能力,不是 Operator 网站。MCP 支持在 Agents SDK 里要到同月稍后的公开表态,不写进 3 月 11 日这一天。
2023 年 LangChain 把循环做成库;2024 年 Swarm 证明多 Agent 交接有人要用。2025-03 OpenAI 把编排、内置工具、tracing 收成官方积木,降低「从 Completions 自写 while」的成本。Responses API 是接口:一次响应里可以带工具循环,状态与进程仍在调用方。
按定义 SDK 不是 Agent。用它写出来的系统可以是。handoffs 是库内拓扑,不是 A2A 协议。同一周前后 MCP 被追认:插槽和编排同时出现,层不同。
真正改日常的是 Claude Code / Codex:运行时吞掉 AgentExecutor,大多数人不再从 SDK 起步。SDK 的位置接近 2023 年的 LangChain——降低自建成本,不定义品类口号。三者对照见 调研方法:Framework / Runtime / Protocol。可读的厂商对照还有 构建 Agent 实践指南。
Google Cloud Next,2025-04-09。Agent2Agent(A2A)开放协议,五十余家合作伙伴背书。生产就绪版写成「今年晚些时候」。
当时公告:Announcing the Agent2Agent Protocol (A2A)。站点说明:什么是 A2A。
本页转述 2025-04-09 发布当时公开说了什么,不把后来的 Linux Foundation 移交或生产落地写成当天已完成。
主要出处:Google,2025-04-09,Announcing the Agent2Agent Protocol (A2A)。本页不复制公告全文。
A2A 让不同厂商、不同框架上的 AI agent 互相通信、安全交换信息、协调行动,跑在企业平台与应用之上。发布时称有 50 多家技术伙伴与咨询公司支持(Atlassian、LangChain、MongoDB、Salesforce、SAP、ServiceNow 等被点名)。
与 MCP 的关系,公告写明是互补不是取代:MCP 给 agent 工具与上下文;A2A 让 agent 与 agent 互操作。基于 HTTP、SSE、JSON-RPC 等既有标准;认证对齐 OpenAPI 一类方案。支持长任务、实时反馈与状态通知。角色写成 client agent 与 remote agent;用 Agent Card(JSON)发现能力。
生产就绪版本写成与伙伴一起在 2025 年晚些时候推出——4 月 9 日不是「已经统一企业里所有 agent 通信」。
这是协议规范与合作伙伴名单,不是已经铺开的生产总线。日常开发仍主要是单运行时 + 工具。多 Agent 分工成为默认工作方式,不是这篇博文交付的。
MCP 被追认 之后,工具层方言开始收束。企业里下一个问题是:我的客服 agent 如何把工单交给你的 ERP agent,而不绑死在同一家编排库。A2A 用 Agent Card、任务、通知回答这件事,并主动放在 MCP 旁边:MCP 接工具,A2A 接其他 Agent。扩展的是循环的边界,不是再发明一套工具 JSON。
按定义 A2A 不是 Agent,是 Agent 之间的协议。没有它,多 Agent 仍能用私有 RPC;有了它,也不等于生产里已经在跨厂商调度。SDK 里的 handoffs 仍是库内拓扑,不要写成 A2A 落地。
落地慢于 MCP。2026 年 Claude Tag 的「频道里多人转向同一个 session」是产品层多驾驶员,还不是 A2A 互操作。对照 前传 FIPA ACL:标准可以先写十年,生态另算。4 月发布会不能读成企业通信已经统一。
2025 年 3 月 26 日起,OpenAI 宣布在 Agents SDK 等产品中支持 MCP;Google 等同期表态。跨厂商插槽从这一刻开始像事实标准。
OpenAI 表态见 2025-03-26 公开讨论及随后的 Responses API 说明。2024 年规范见 MCP。
本页转述 2025 年春季跨厂商支持当时公开说了什么。规范内容见 2024 MCP 材料,此处不重复。
主要出处:OpenAI CEO 2025-03-26 公开说明——MCP 当日可用于 Agents SDK,ChatGPT 桌面与 Responses API「即将」;随后 Responses API 博文宣布支持远程 MCP server,并称加入 MCP 指导委员会。Google 等在 4 月 A2A 公告里把 MCP 写成接工具的既有标准。本页不复制推文或博文全文。
Anthropic 在 2024-11 开源的 MCP,被写成「人们喜欢」,OpenAI 要在自家产品里加上支持——包括桌面 ChatGPT。这是对手协议被采纳,不是 OpenAI 另发一套连接器标准。
落地是分阶段的:先 SDK,后桌面与 API 远程 server。生态侧已有一批 MCP server(支付、电商、客服工具等被后来的 API 博文举例)。Google 在 A2A 发布里明确:MCP 管工具与数据,A2A 管 agent 互操作。
不是 2024 年 11 月「其实已经统一」的补记。2025 年春季才出现足够多的第二家、第三家大模型厂商背书。也不是所有产品默认插上 MCP;授权、远程 vs 本地、OAuth 细节仍在演进。
MCP 在 2024-11 给出模型↔资源的开放协议,当时能用的 client 主要是 Claude Desktop。只有一家认的插槽,对应用方仍是赌 Anthropic。OpenAI、Google 表态之后,写一次 server 开始有机会插进多家运行时。这才是那篇规范的后世重要性:总线成为默认槽位发生在 2025 年春天,不是发布当天。
按定义 MCP 仍然不是 Agent。被追认的是接线,不是自主性。循环仍由 Desktop、Claude Code、Codex、自建 SDK 来跑。对照前传 FIPA ACL:先写标准再等生态可以空转;MCP 是产品已存在、再收成事实协议。
Claude Code、Codex、IDE Agent、后来的 Tag connections,都开始用「MCP server / connections」说话。A2A 必须把自己定义成互补,说明工具层位置已被占住。Skills 是晚绑定专长包,不是又一条 RPC。恶意 server 与提示注入随生态放大,不是 2024 年文本已经写完的故事。
OpenAI,2025-05-16。研究预览:并行任务、预装仓库的云沙箱、可开 PR。引擎是为软件工程优化的 codex-1(o3 变体)。
当时公告:Introducing Codex。2021 年模型见 Codex。
本页转述 2025-05-16 研究预览当时公开说了什么,不与 2021 年 Codex 模型、也不与后来的产品改名混写。
主要出处:OpenAI,2025-05-16,Introducing Codex。本页不复制公告全文。
Codex 是云端软件工程 agent:可并行处理许多任务。能写功能、回答代码库问题、修 bug、提出供人审的 PR。每个任务跑在自己的云沙箱里,预装你的仓库;可读改文件、跑命令、测试、linter、类型检查。任务常见耗时约 1–30 分钟,可监视进度。
引擎:codex-1,OpenAI o3 面向软件工程的变体。用真实编码任务上的强化学习训练,目标包括贴近人的代码风格与 PR 偏好、精确遵从指令、迭代跑测试直到通过。
可用性:当天起滚动给 ChatGPT Pro、Enterprise、Business;Plus / Edu 随后。最初数周较宽松的用量,之后限额与加购。同日更新开源 Codex CLI(终端里的编码 agent),默认改用面向软件工程的 o4-mini 变体,并在 API 计价。
不是 2021 年那个把自然语言补全到代码的 Codex 模型。不是本地 IDE 插件本身(CLI 是另一表面)。研究预览:虚拟队友、做完「数小时到数天」的工程,是内部愿望与 briefing 里的方向,不是当天已验证的普遍交付。
Claude Code 把循环放在本机终端。Codex 把循环放进隔离云环境:不占本机、可并行、PR 从沙箱开出。Devin 2024 年的「AI 软件工程师」叙事,这里变成 ChatGPT 套餐里的预览入口。专用核心 codex-1 说明应用层反向点菜:要的是能在沙箱里收工的决策核心,不是通用聊天模型。
按定义这 是 Agent。人下任务、审 PR,循环在云端转。CLI 与云端运行时成对出现,和本机 Claude Code 对台,同属运行时,不是又一个编排库。前传 Codex 是 2021 年模型;2025 是运行时。同名必须切开。
编码运行时形成双侧:终端/本机 vs 云端并行。SWE-bench Verified 继续被刷;Pro 与 Terminal-Bench 随即说明「补丁过单测」和「环境收工」不是同一把尺子。分数 ≠ 能接手真实迭代。2026 年身份问题在厂商工作区浮出;Codex 默认 principal 仍是使用者账号。
Stanford 与 Laude Institute,2025-05-19。真实 Docker 沙箱里的命令行任务;看最终环境状态,不看 transcript 漂不漂亮。
项目与说明见 laude-institute/terminal-bench。发布报道:2025-05-19。论文更晚(2026 年挂出),本页以 2025-05 基准上线为准。
本页转述 2025-05-19 基准公开上线时说了什么。2.0 / 更难后继版本与 2026 年论文,不写成当天已有。
主要出处:Stanford / Laude Institute 的 Terminal-Bench 发布(约 80–100 道 beta 任务);参考 harness Terminus。后继论文:arXiv:2601.11868(2026 年才挂,仅作对照,不回填 5 月数字)。本页不复制全文。
多数编码基准给模型一段上下文、要一段答案。Terminal-Bench 把 agent 放进一次性 Docker 命令行环境:自然语言指令、真实 shell、读命令输出、改到时间上限。成功与否由脚本检查容器最终状态,不评模型说话漂不漂亮。任务方向包括:编译仓库、训小模型、配服务器、修坏掉的系统。
同时放出 Terminus:尽量薄的参考脚手架,用来比较不同底层模型,而不是绑死某一家商业编码 Agent。后来的评测说明里,Claude Code、Codex CLI、Gemini CLI、OpenHands 等都可以接到同一套 Harbor 任务格式上——那是后续生态,不是 5 月 19 日已经刷完的榜。
不是 SWE-bench 的替代(issue + 补丁 + 单测仍是另一张考卷)。也不是宣称「终端 Agent 已经过半」。早期外部评测的方向是:强商业运行时好于裸 Terminus,但即便最强也远未做完。
Claude Code 和 Codex CLI 的工作方式是:在 shell 里跑命令、看输出、再决定。SWE-bench 测的是「对着 GitHub issue 改到测试绿」。真实失败常发生在:依赖没装、路径错、服务没起来、指令含糊。Terminal-Bench 把考场换成有状态的 CLI,判定看最终机器,不看模型有没有写出像样的 bash。
按定义跑在这张考卷上的系统 可以是 Agent。基准本身不是 Agent。谓词类型不同:仓库绿 vs 环境状态。生成像那么回事的命令 ≠ 环境真的好了。
编码线从此至少两把尺子:Verified / Pro 管「修仓库」,Terminal-Bench 管「会不会在壳里把事做完」。9 月 SWE-bench Pro 再把仓库题加硬。两套分数不可互换,更不可与 Verified 七成并排吹。没有这张表,终端运行时只能借用 issue→patch 的叙事。
没有单一论文。2025 年中,主要编码工具几乎同时把多文件自主循环做成产品开关。人在环路仍是主路径。
与 2024 年 Cursor 上半年的补全/对话要分开读。
本页转述 2025 年中前后 Cursor、GitHub Copilot、Google Gemini 等编码表面公开呈现的 Agent 模式,不把 2024 上半年的 Tab 补全写成已经等于这些模式。
没有单一出处。可核对的方向:
共同形态:人在 IDE 或终端里发起,Agent 读项目、改文件、用工具,停下来等人。全自主是选项,不是唯一路径。
不是某一家「发明了 IDE」。不是 A2A 级的多 Agent 企业总线。也不是无人盯着做完跨天跨人的任务。
Claude Code 与 Codex 证明运行时可以当产品卖。编辑器不能只停在补全:用户已经会问「能不能让它自己改完这几个文件」。2025 年中把长循环放进已经打开的窗口,减少另开网站或云控制台的切换。人随时打断、审 diff;失败成本低于把钥匙交给全自主云工人。
按定义这些模式 是 Agent:多步、改工作树、看测试/编译回执。自主度通常低于 Devin 叙事,高于 2024 年的 Tab。定义允许弱自主;留存先起来的是这一档,不是无人值守。
开发者日常被这层习惯锁住。2026 年要解决的不是「会不会在 IDE 里改代码」,而是团队频道里那一个身份。专线编码的可靠度继续高于通用电脑操作和研究型长稿。框架仍可自建,默认路径已经是运行时开关,而不是再引入一层 AgentExecutor。
OpenAI,2025-07-17 前后。agent mode 进 ChatGPT 输入框。独立 Operator 站点随后下线。
更新说明见 Introducing Operator 页上的 7 月更新,以及 Deep Research 页上的同期说明。
本页转述 2025 年 7 月入口合并当时公开说了什么。1 月 Operator、2 月 Deep Research 的首次主张见各自材料页。
主要出处:OpenAI 在 Introducing Operator 的 2025-07-17 更新——Operator 完全并入 ChatGPT,输入框下拉选择 agent mode;独立站点 operator.chatgpt.com 将在随后数周下线。Deep Research 页同期写:agent 模式可配合视觉浏览器把研究做得更深;原 deep research 仍可从工具菜单进入。本页不复制全文。
浏览执行不再要求打开第二个网站。用户在 ChatGPT 里选 agent 模式、直接下任务。研究型能力与浏览器执行开始共享入口,而不是两条完全分离的产品。原 Deep Research 按钮仍保留一段时间,避免一次切死。
不是宣布电脑操作已经达到编码线可靠度。不是企业级身份与治理方案。合并的是入口,限度(登录墙、预览级安全、地理与套餐)没有在更新里被写成已经消失。
Operator 单独一个域名,教育成本高:用户不知道该去 ChatGPT 还是去 Operator。Deep Research 已是聊天里的模式。并入之后,「让它去网上干活」和「让它做深度研究」变成同一产品里的开关。这是包装,也是能力叠:视觉浏览器可以喂给研究循环。
按定义 agent mode 是 Agent。人在 ChatGPT 里委派。并入口没有把 GUI 线的完成谓词抬到编码运行时的水平。
OpenAI 消费入口统一成「聊天 + 可选长循环」。Anthropic 走 Claude Code / 后来 Tag 的工作区路线,不是同一个表面。可靠度排序没有因为并入口而翻转:编码运行时仍更扎实,点网页仍更脆。读 2025 年中,这一条是产品边界事件,不是新的执行语义。
OpenAI,2025-08-07。GPT-5 成为 ChatGPT 默认;API 面向编码与 agentic 任务。SWE-bench Verified 厂商自报 74.9%。
本页转述 2025-08-07 发布当时公开说了什么,不把 9 月 SWE-bench Pro 的 23.3% 写进当天材料。
主要出处:OpenAI,2025-08-07,Introducing GPT-5;Introducing GPT-5 for developers。本页不复制公告全文。
GPT-5 被写成统一系统:多数问题快速回答,难题延长思考;路由器按对话类型、复杂度、工具需求和用户明示(如 “think hard”)选择。ChatGPT 里替换 GPT-4o、o3、o4-mini、GPT-4.1、GPT-4.5 等,成为登录用户默认。另有 GPT-5 pro(更长思考,替换 o3-pro)。公告称思考版用更少输出 token 仍优于 o3。
开发者向:面向编码与 agentic 任务。新参数包括 verbosity、reasoning_effort 可取 minimal。新增 custom tools:可用纯文本而非 JSON 调工具,并可用开发者提供的 CFG 约束。
这是默认决策核心与 ChatGPT 入口,不是新的自主运行时。74.9% 是 Verified,不能直接读成「四分之三真实工程已经能交给它」。长链工具更稳,循环仍由 Codex / Claude Code / 自建系统来跑。
2025 上半年用户要在 4o、o3、o4-mini 之间自己选。选错就又贵又慢,或该想的时候没想。GPT-5 把路由收进产品:默认系统决定何时走快答、何时思考。编码运行时可以少做一层「简单步走快模型、难步走 o3」的手工分流——分流开始发生在核心侧。工具链更长、更不易走丢,是公告重点。
按定义 GPT-5 不是 Agent。它是循环里的默认核心加路由器。沙箱、停机、MCP 插槽仍在运行时。把「自动想」写成已经交付作用在环境上的循环,会漏掉宿主。
Cursor、Copilot、Codex CLI 很快把默认核心切过来。一个月后 SWE-bench Pro 把同一只 GPT-5 打到约 23%:Verified 已经偏「会的题」,Pro 才接近长周期、多文件、抗污染的仓库。两张表必须并排读,完成率不可互换。2026 年 Tag 一类产品继续换更新的 Opus / GPT,故事不再是「又一个基模名字」,而是身份与沙箱。
Scale AI 等,2025-09-19。1,865 题、41 个仓库;公开集 731。统一脚手架下前沿模型 Pass@1 低于 25%。
原文:arXiv:2509.16941。博文:SWE-Bench Pro。
Scale Research 等。SWE-Bench Pro: Can AI Agents Solve Long-Horizon Software Engineering Tasks?。2025-09 挂出。arXiv:2509.16941。配套说明:Scale 博文(2025-09-19)。
SWE-bench / Verified 上的高分,覆盖不了专业软件工程的长度与多样性。Pro 给出 1,865 题,来自 41 个仍在维护的仓库,覆盖业务应用、B2B、开发者工具等。分区:
任务被写成职业工程师可能要数小时到数天:跨多文件、改动大。全部经人确认可解,并补足上下文。在统一脚手架、最多 200 轮下,广泛使用的编码模型 Pass@1 低于 25%;文中当时最高为 GPT-5 的 23.3%。博文并列 Claude Opus 4.1 约 23.1%。论文还对失败轨迹做了聚类。
评测日期写到 2025-09-18 的模型版本。开源模型用 vLLM;尽可能开 tool-use。同一套基础提示与工具描述。强调:这是抗污染、更接近工业仓库的测试床,不是 Verified 的加长版闲聊。
不是宣布编码 Agent 失败。是宣布 Verified 已经不够当唯一尺子。23% 是统一脚手架下的模型分,不是某一家产品运行时的私有榜。
2024 年 Verified 清洗了坏题,分数应声上涨。到 2025-08,GPT-5 在 Verified 上自报约 75%。若只看这一张表,叙事会变成「软件工程师已经大半能交给模型」。Pro 换更长、更多文件、更不像训练语料的仓库,同一只 GPT-5 掉到约 23%。这与 2023 年原版 SWE-bench 的「个位数」不是同一句话,功能类似:把宣传从考卷上拉开。
按定义 Pro 是评测,不是 Agent。它量的是统一脚手架下的仓库完成谓词。与 Verified 不可横比:分母、题长、污染控制都换了。与 Terminal-Bench 也不可横比:一个看补丁与测试,一个看环境状态。
2026 年 Aries 用 SWE-Bench Pro 当受控负载之一,不是偶然:基础设施论文需要任务够难、轨迹够长。产品侧 Claude Code / Codex 继续报 Verified;读 2025 年编码 Agent,两张表要一起看。人在环路没有过时——论文自己也写,多数非平凡任务仍过不去。
Anthropic,2025-10-16。工程博文提出 Agent Skills:含 SKILL.md 的目录,渐进式披露。12 月转成跨平台开放标准。
当时原文:Equipping agents for the real world with Agent Skills。站点对照:为智能体配备 Agent Skills。
本页转述 2025-10-16 博文当时写了什么。12 月「开放标准」更新可一笔带过,不把后来所有生态写成当天。
主要出处:Anthropic,2025-10-16,Equipping agents for the real world with Agent Skills。本页不复制全文。中英对照见本站 该文。
Claude 很强,但真实工作需要程序性知识与组织上下文。Agent Skills 用文件和文件夹构建专用 agent:指令、脚本、资源放在一起,agent 按需发现并加载。把专长打包成可组合资源,通用 agent 变成适合你的专用 agent。类比:给新员工写入职指南,而不是为每个用例另做一只定制 agent。
结构:一个 skill 是含 SKILL.md 的目录。文件以 YAML frontmatter 开头,必填 name 与 description。启动时,agent 把已安装 skill 的 name/description 预装进系统提示——这是渐进披露的第一级。任务相关时再读入完整 SKILL.md(第二级)。更大的参考文件、脚本按需再读(第三级及以后)。PDF skill 被当作例子:Claude 懂 PDF,但直接填表单要靠 skill 里的操作说明与脚本。
当时支持面:Claude.ai、Claude Code、Claude Agent SDK、Claude Developer Platform。与 MCP 的关系:文中写成互补——MCP 接外部工具,Skills 教更复杂的流程。
不是新的模型权重,不是 MCP 的替代品,不是 A2A。12 月才另文把 Skills 推向跨平台开放标准,10 月仍是 Anthropic 运行时上的包装方式。
窗口再长,也不该把公司全部流程塞进系统提示。自定义 GPT、长 prompt、私有 fine-tune,都难分享、难版本管理。Skills 把「何时用、怎么做」做成可检入 git 的目录,运行时只在相关时加载。渐进披露是针对上下文税的工程,不是新的推理算法。通用核心不变,动作清单与领域步骤晚绑定。
按定义 Skills 不是 Agent。它是给已经在转的循环配备的知识与脚本包。MCP 接工具,Skills 接流程,A2A 接其他 Agent——三层不要混。开放标准是 12 月的加码;10 月已经够改变「怎么给运行时喂领域知识」。
2026 年 Tag 把 skills repo 做成组织级 bundle:管理员按频道配专长,而不是每人在 claude.ai 上装自己的。这与 Access bundle 同一方向:装载从个人配置上收到组织 scope。调研方法 里的 Protocol 在 2025 年终于能用产品对上号:接线、装载、对端 Agent,都不是循环本身。
Peter Steinberger。GitHub 仓库 2025-11-24 创建(Warelay / 后称 Clawdbot)。把聊天频道接到本机 Gateway:模型 + 工具 + WhatsApp/Telegram 等。中文常称「龙虾」。
仓库:openclaw/openclaw(创建于 2025-11-24)。站点:openclaw.ai。2026 年爆红见 OpenClaw 爆红。
本页转述 2025 年 11 月仓库公开时能核对的产品主张。改名 OpenClaw、星标暴涨、安全事件与「养龙虾」舆论在 2026 年 1 月,见 2026 OpenClaw,不写进本页「当时」。
主要出处:GitHub openclaw/openclaw,created_at 2025-11-24;早期常用名 Clawdbot / Clawd(龙虾梗来自标志与 Claude 谐音)。项目 lore:docs.openclaw.ai。本页不复制文档全文。
在你自己的机器(或你租的服务器)上跑一个 Gateway:会话、工具、事件、频道连接的控制面。人通过已经在用的聊天软件发指令——WhatsApp、Telegram、Discord、iMessage 等——而不是打开又一个 ChatGPT 网页。Gateway 再去调你配置的模型 API,并用工具碰文件、浏览器、命令行。文档后来把架构写成:受信任的网关、不受信任的执行、确定性策略;2025 年 11 月能确定的是:自托管 + 多频道 + 本机/服务器上的 agent 循环。
它依赖你接入的模型质量与密钥,不是自带基模。需要 Node 一类运行时和供应商 API key。一个 Gateway 可以给单人用,也可以配成互相信任的小团队——配置不同,进程同类。
不是 Anthropic / OpenAI 的官方运行时。不是 2025 年 11 月已经家喻户晓的现象级产品——仓库那一周远未到后来的数十万星。也还不是名叫 OpenClaw 的商标故事:2026 年 1 月因商标从 Clawdbot 改 Moltbot,再改 OpenClaw。
Claude Code 和 Codex 很强,但人要坐在 IDE 或 ChatGPT 前面。日常指令发生在手机聊天里;文件和浏览器在自己的电脑上。Clawdbot 把两边接起来:频道是表面,Gateway 在你控制的硬件上转循环。这是 自托管个人 Agent,不是 2025 年主线上「装一个官方 CLI」。按定义这 是 Agent:多步、调工具、看回执。权限面等于机器本身;密钥、文件、shell 的风险从第一天绑在形态上。
2025-11 只是仓库出现。八周后的 2026 年现象 才把「养龙虾」做成大众事件,并带出暴露实例、恶意 skill、企业禁用。时间线必须把出生和爆红分开:否则会把 2026-01 的星标写进 2025-11。和 Manus 的差别:Manus 是云端托管的通用演示;龙虾是开源、自托管、频道入口。和 Claude Code 的差别:一个是开发者终端运行时,一个是从口袋里的聊天软件指挥你的电脑。principal 仍是机主账号,不是组织级 Agent Identity。
AWS,2025-12-02(re:Invent)。AgentCore 新增的策略(Policy)在模型推理循环之外拦截 Gateway 的工具调用,按细粒度权限放行或拒绝;评估(Evaluations)按真实行为给正确性与有用性打分;记忆加了情景策略;运行时支持双向流式,用于语音 Agent。前两项当时是 Preview,2026 年 3 月才 GA。
当时公告:AgentCore adds quality evaluations and policy controls。
主要出处:AWS,2025-12-02,Amazon Bedrock AgentCore adds quality evaluations and policy controls;同日 Strands Agents SDK 见 TypeScript 预览公告(12-03)。本页不复制公告全文。
不是新模型,也不是新的 Agent 架构。AgentCore 不改循环怎么转,改的是循环之外那一圈:谁来判断一次工具调用该不该发出去、谁来给整段行为打分。这两件事此前默认由开发者自己写在应用里,或者干脆交给模型。
2023 以来,「Agent 不要做危险的事」一直靠三样东西:系统提示、工具白名单、人盯着。前两样都在模型或应用里,第三样不可扩展。AgentCore 的策略换了个位置——在推理循环之外拦截工具调用,用独立于模型的规则放行或拒绝。
这个位置很关键。模型被 prompt injection 说服、或者自己判断失误时,提示词层面的防护是同一套推理在自我审查;而循环外的裁决不是。公告把它写成「把 Agent 当作自主行动者」:不是不相信模型,是不把最终决定权交给它。
评估是另一半:正确定性、有用性这类维度按真实运行行为算,而不是靠离线基准。第二层(完成判据)第一次出现在平台侧,而不是只在论文和基准里。
这两项 2026 年 3 月 GA,比 2026 年的组织身份讨论早了三个月。把 Agent 的权限与审计从「借用户的 OAuth」里拆出来,是 Claude Tag 与 Agent identity 同一年的命题——只是那两家走的是身份与 scope,AWS 走的是策略拦截点。三条路指向同一件事:主体和裁决不能留在模型里。
对能力栈的影响是:平台侧开始出现独立的治理层,与循环、沙箱并列。这层在 2025 年属于首家,到 2026 年才会被当作标配讨论。
Anthropic,2025-12-08,beta 研究预览。在 Slack 里 @Claude,消息被判断为编码任务时自动创建一个 Claude Code 会话;上下文取自最近的频道与线程消息,仓库从已授权的 Claude Code on the web 仓库里自动选。进展回帖到线程,完成时给出会话链接与开 PR 的直链。
当时公告:Claude Code and Slack。
主要出处:Anthropic,2025-12-08,Claude Code and Slack。本页不复制公告全文。
需要在 Slack 工作区安装 Claude app(Slack App Marketplace)并用 Claude 账号认证;还需要有 Claude Code on the web 的访问权,任务路由到那里执行。这是既有 Claude app for Slack 的扩展,不是新的执行面。
不是无人值守的团队 Agent,也不是新的沙箱或权限模型——公告没有提到执行面、停止语义或权限的任何变化。委派从终端挪进聊天流,执行仍落在 Claude Code on the web 既有的沙箱与权限里。频道可见性、多人转向同一会话,要到 2026 Claude Tag 才成为产品主张。
2025 年的编码运行时都在开发者的终端或编辑器里启动:Claude Code、Codex CLI、Cursor。任务却常常从对话里冒出来——一段报错贴、一串复现步骤、一句「这个谁看一下」。这一步把触发面搬进 Slack:不用切窗口、不用复述上下文,@ 一下就有一个会话在跑,进展回到线程里。
按定义这 是 Agent:有目标、在仓库与 shell 上产生副作用、按执行回执继续。变化集中在两点。一是上下文来源:频道与线程历史自然成为任务描述,不再需要手写 prompt。二是委派可见性:同事看得见会话在跑、在哪个仓库上跑。
执行面没动。公告没有提新的沙箱、权限或停止语义,任务仍路由到 Claude Code on the web。所以这条不该写成「团队 Agent 就此成立」——它改的是控制面。
它的意义是提前摆好了 2026 要处理的接口:当同一个循环面对「谁在委派、谁看得见、以谁的名义」时,产品形态已经在这儿了。半年后的 Claude Tag 把 beta 收成组织级产品,并第一次正面处理主体(principal)与沙箱生命周期。
阿里云,2025-12-10。函数计算推出的一站式 Agent 基础设施平台:以 Serverless 为底座,运行时与沙箱可自动休眠、按需唤醒(厂商自报毫秒级),会话亲和让状态跨请求存活;内置 Code Interpreter、Browser Tool 等沙箱,MCP 标准化封装工具,并做全链路追踪。
主要出处:阿里云,2025-12-10,AgentRun 发布,一站式 Agent 基础设施平台。本页不复制公告全文。
这不是模型或协议事件,也不提供新的 Agent 循环语义——循环仍由框架或调用方决定。它回答的是执行位置问题:Agent 的运行时和沙箱在云上以什么形态存在、按什么计费、状态怎么跨请求活着。
「毫秒级唤醒」「降低多少 TCO」这类数字都是厂商自报,公告没有给出可复现的测量口径。写进时间线时按当时主张记,不作独立结论。
Serverless 的默认契约是无状态:请求来了起实例,请求走了销毁,状态外置到数据库或对象存储。Agent 的运行形态恰好相反——一次任务是一段长达几分钟到几小时的轨迹,中间有工作副本、进程、打开的连接、累积的观察。把它硬塞进无状态函数,每一步都要重新装载,代价全落在延迟上。
AgentRun 的两个设计正面回答这道矛盾:会话亲和让同一个会话持续路由到同一份运行时状态;休眠与唤醒让这份状态在空闲时不被销毁、需要时快速回来。这不是新循环,是给循环换了一个能活得更久的宿主。
它同时把沙箱做成平台内置项(代码解释器、浏览器),意味着「Agent 在哪执行」从开发者的选型变成云厂商的目录项。
这条与同期 AWS AgentCore、以及 2026 年上半年 Anthropic、OpenAI、Google 的动作连起来看,是同一个转折:云厂商开始把 Agent 运行时当作一种基础设施品类来提供。
对时间线的意义在于时间点——2025 年 12 月。此时 Aries、SpecBox 这类测量与调度论文还没出现(2026 年),但产品侧的答案已经先摆出来了。工程先于论文,这条线在 2026 年被倒过来写成「基础设施第一次成为 Agent 史主线」。
Anthropic,2025-12-18。10 月发布的 Agent Skills 格式(目录 + SKILL.md + 三级渐进披露)转成跨平台开放标准,规范与客户端登记表独立到 agentskills.io,仓库 Apache-2.0。公告称格式由 Anthropic 最初开发、已作为开放标准发布,并被越来越多的 Agent 产品采纳。
主要出处:Anthropic 工程博客,Equipping agents for the real world with Agent Skills(2025-10-16 原文,页内更新注明 2025-12-18 发布为开放标准);规范与客户端登记表:agentskills.io/specification、agentskills.io/clients.md;仓库 agentskills/agentskills(Apache-2.0,仓库建立于 2025-12-16)。本页不复制规范全文。
SKILL.md。SKILL.md 必须有 YAML front matter:name(必填,≤64 字符,小写字母、数字、连字符)、description(必填,≤1024 字符)。可选 license、compatibility、metadata、allowed-tools(标注为实验性)。这套结构与 2025-10 发布时一致,格式本体未变,变的是归属与可移植性。
规范附的客户端登记表列出数十家已支持或声明支持的产品,包括 OpenCode、Cursor、Amp、Letta、Goose、GitHub Copilot、VS Code、Gemini CLI、Kiro、Roo Code、OpenHands、JetBrains Junie、Tabnine、Qodo、Spring AI、Snowflake Cortex Code、Databricks Genie Code、Mistral Vibe、Factory、Pulumi Neo、OpenClaw、Nous Research Hermes、ChatGPT 与 Codex、Claude 与 Claude Code 等。
谁在维护标准,官方表述并不明确:公告只说「最初由 Anthropic 开发、作为开放标准发布、对更广泛生态开放贡献」,没有点名治理主体;仓库挂在 agentskills 组织下。规范页也没有标版本号或发布日期。写治理时要留这个空白,别替它补。
10 月的原始发布解决的是「通用核心怎么变专用」——把流程、脚本、领域知识装进文件夹,运行时按需读取,而不是再训练一次模型。但它当时是 Anthropic 自家产品的机制。
12 月这一步解决的是另一个问题:同一份 skill 能不能换个客户端继续用。规范把格式固定下来(目录、SKILL.md、必备字段、三级加载),客户端登记表把采纳情况摆到明面上。数十家客户端意味着写一次技能包可以跨产品复用。
判断要说准:这个标准不改执行语义。规范全文不涉及沙箱、权限、工具调用裁决、停止或中断——它规定的是能力包如何被打包、发现、激活。
它的历史位置更像 2025 年的 MCP 被追认:单个厂商的机制,被多方采纳后成为默认。区别在于 MCP 管的是「模型怎么接到工具与资源」,Skills 管的是「专长怎么随包走」。两条线都不是循环,但都在扩大运行时能装什么。
值得记的另一点是速度:从厂商机制(10-16)到开放标准(12-18)只隔两个月。同期协议线(MCP 2024-11 发布、2025 年才被追认)用了更久。这说明到 2025 年底,生态对「跟着一家走」的接受度已经不同了。
OpenAI,2025-12-18(system card 日期)。定位为「面向复杂真实软件工程的、当时最强的 agentic 编码模型」,是 GPT-5.2 针对 Codex 内 agentic coding 优化的版本。system card 写明三处变化:跨多个上下文窗口的上下文压缩、项目级重构与迁移、Windows 环境(含原生沙箱选项)。
System card:oai_5_2_Codex.pdf。安全页:Deployment Safety Hub。
主要出处:OpenAI,2025-12-18,GPT-5.2-Codex system card;Deployment Safety Hub。本页不复制原文全文。
system card 的原话是:这是当时最强的 agentic coding 模型,一个为 Codex 中 agentic coding 优化的 GPT-5.2 版本。公告页(openai.com)对本机不可访问,以下均取自 system card。
按 Preparedness Framework:网络安全领域「很有能力,但未达到 High」;生物学被列为 High capability;AI 自我改进未达 High。另注明该模型不面向通用聊天应用部署。
公开报道普遍转述为 SWE-bench Pro 56.4%、Terminal-Bench 2.0 64.0%,并给出前代对照。但 system card 全文不含 SWE-bench、Terminal-Bench 或这两个数字;数字只出现在被拦截的公告页上,评测口径(脚手架、推理档位、是否开压缩、样本数)均未核实。因此时间线不引用这两个数字,按「厂商自报、口径不明」处理。
不是新模型世代,也不是循环语义的变化。压缩与 Windows 沙箱改的分别是一次能做多久和在哪执行,工具调用与停止语义未见官方描述为改变。
编码 Agent 最硬的约束一直是窗口:轨迹一长、观察一多,工作集就满,只能截断或重启一轮。2024 年 o1 把「想」内化,2025 年 GPT-5 把快答与思考路由进同一个系统,但任务持续长度这条线靠的是窗口与上下文管理,不是推理能力。
上下文压缩把这条线往前推了一格:模型跨多个上下文窗口保持连贯,意味着任务的连续时间不再由单窗口大小直接截断。system card 把这条与长时间运行的评测挂钩,方向是清楚的。
Windows 原生沙箱是另一半:Codex 的默认执行面此前在 MacOS 与 Linux 上更自然,Windows 用户要么绕 WSL,要么自己解决隔离。原生沙箱把 Windows 变成一等公民的执行环境。这与沙箱怎么实现无关,只与 Agent 能在哪执行为准。
同一天发布的还有 Agent Skills 开放标准——一边是能力包跨客户端可移植,一边是编码核心跨窗口连续工作。两件事合起来说明 2025 年底的编码 Agent 竞争点已经不在单轮补全质量。
要克制的地方:这条是点版本,不是换世代;厂商自报的基准分数未能一手核实,不能拿来与 Verified / Pro 的历史分数连成曲线。它的可核对意义只有两条——压缩与 Windows 沙箱写在 system card 里。
一句话主线: 2026 年,个体编码 Agent 已经是开发者日常;新约束是 团队里那一个 Agent 用谁的权限、在谁的频道里执行、沙箱如何跟得上异步委派。1 月 OpenClaw 把自托管个人 Agent 送上舆论顶点;同月 Cowork 把 Claude Code 的循环做成非开发者桌面 Agent。4–5 月,Anthropic、OpenAI、Google 在同一季度把运行时拆成「控制面 + 执行面」——托管服务、库、自托管三条路同时出现同一个形状。Claude Tag 则把同一套云端沙箱引擎放进 Slack,用组织级 Agent Identity 而不是每人自建 Gateway。Aries / SpecBox 从云基础设施侧证明:执行路径和沙盒调度,已经和模型智力同样限制能做什么。
上一页:2025。深挖:Claude Tag、Aries、SpecBox。今天是 2026-09,这一页写的是上半年到初秋已经发生的事,不是全年闭合的编年。
模型仍在涨(Tag 默认 Opus 4.8 一类前沿核心),但 Agent 史的主矛盾外移了。决策核心够用之后,稀缺资源换成身份与供给。
每条一个分类,标签可多个(六类历史角色)。Tag 机制文档与 Slack 切换并进 Claude Tag,不另占行。
| 时间 | 事件 | 分类 | 标签 | 为什么记 |
|---|---|---|---|---|
| 2026-01-01 | 加州 AB 316 生效 | 监管 | 首证 | 被告不得以「AI 自主造成损害」抗辩。美国第一条规定自主行为后果归属的法条;不提 agent,也不要求审计 |
| 2026-01 | OpenClaw 爆红(Clawdbot → OpenClaw) | 产品 | 引爆、警示 | 自托管「龙虾」在改名周进入现象级。仓库出生在 2025-11;热度、养虾与暴露面是 2026 年 1 月的事。热度 ≠ 完成率;权限面等于机器本身 |
| 2026-01-12 | Claude Cowork | 产品 | — | 把 Claude Code 的循环做成桌面知识工作 Agent:指定本机文件夹,不进终端。当时研究预览,仅 Max + macOS。主体仍是使用者账号,不是频道共享的 Agent Identity |
| 2026-01-15 | Open Responses | 协议 | — | 模型接口层的开放规范:schema 源自 OpenAI 一方 API,但治理条款禁止任何厂商占多数席位。注意它与 MCP / A2A 不在同一层 |
| 2026-02-05 | Claude Opus 4.6 | 模型 | — | Opus 级首次给出 1M 上下文;Claude Code 增加 agent teams,API 增加 compaction。长程与并行从「应用自己拼」变成核心侧能力 |
| 2026-04-08 | Claude Managed Agents | 产品 | 范式更替 | 把 Agent 拆成 session / harness / sandbox 三个可替换接口:容器死亡降级为一次工具调用错误,凭证不进沙箱。「进程活着」不再是正确性前提;会话按 session-hour 计费 |
| 2026-04-15 | OpenAI Agents SDK 更新 | 框架 | — | harness 与 compute 显式分两层,沙箱供应商可插拔,快照让会话在新沙箱里续跑。编排库开始内置「环境」这个概念 |
| 2026-04-29 | Stripe 面向 Agent 的计量与支付 | 产品 | 工程化 | 按 token 实时结算;给 Agent 发一次性虚拟卡,真实支付信息不暴露、每笔由人批准。改的是经济语义,也是凭证设计 |
| 2026-05-20 | Google Agent Executor (AX) | 框架 | 工程化 | 自托管的分布式 harness 运行时:从可挂起/可恢复的镜像动态供给隔离环境。托管与库之外的第三种形态,三家在同一季度收敛到同一架构命题 |
| 2026-06-09 | Claude Fable 5 / Mythos 5 | 模型 | 范式更替 | 同一底层模型按安全护栏分成两个产品:公开版与受限版。产品分层维度从「能力多强」换成「允许做什么」 |
| 2026-06-12 | 出口管制暂停 Fable 5 / Mythos 5 | 监管 | 警示 | 美方指令要求对外国国民关闭这两个模型,厂商当日对全部客户停用;06-30 解除、07-01 恢复。已商用模型的访问权第一次被当场关掉 |
| 2026-06-23 | Introducing Claude Tag | 产品 | 范式更替 | Slack 里的共享 AI 队友:@Claude 委派,线程即 session,记忆跟频道走。内部产品团队约 65% 代码来自内部版 Tag(厂商自报,记作影响力信号而非独立审计)。8-03 旧 Slack 应用切到 Tag |
| 2026-06-24 | Agent identity 博文(Noah Zweben) | 文献 | 范式更替 | 写清为什么「act as the user」在异步、多驾驶员场景会崩:授权、审计、回放都不闭合。公开频道共享工作区身份,私有频道隔离;提到未来 JIT 凭证 |
| 2026-06-30 | Claude Sonnet 5 | 模型 | — | 「最 agentic 的 Sonnet」:会规划、会用浏览器与终端、能自主跑,且落在中档价位。改的是单位成本,不是上限 |
| 2026-07-09 | GPT-5.6 家族 | 模型 | — | Sol / Terra / Luna 三档,多 Agent 编排与 computer use 成为全家族标配,上下文约 105 万。能力下放而非上限推进 |
| 2026-07-24 | Claude Opus 5 | 模型 | — | 「驱动长时程 Agent 的台阶式改进」,重点写在自我验证与 computer use。竞争点转向「做完了怎么知道」 |
| 2026-07-31 | Aries(Rethinking AI Cloud Infrastructure) | 论文 | 首证、警示 | 测量向:Agent 云负载不是传统微服务。一次委派是轨迹(推理、工具、沙箱、KV),不是请求。问题重构先于新调度器——执行路径、存储、隔离被重新定义 |
| 2026-08-02 | 欧盟 AI Act 第 50 条 生效 | 监管 | 首证 | 官方指南明文点名 AI agent 与多 Agent 架构:设计上必须披露人工性质与所代表的人。第一个在生效规则里点名 Agent 的法域;同日加州透明度法也生效 |
| 2026-08 | SpecBox | 论文 | — | 沙箱就绪时间被量化为 Agent 服务成本:环境未就绪,Action 只能阻塞。供给第一次被当成系统问题来量 |
| 2026-08-07 | Snowflake Cortex Agents | 产品 | 工程化 | 三次 GA:跨应用 agent→agent 编排、服务端托管 agent loop、断连后继续的异步长任务。数据平台开始把循环收进服务端——它们本来就知道谁有权访问什么 |
| 2026-08-31 | CrowdStrike Agent 身份与管控 | 产品 | 工程化 | 每个 Agent 签发可验证身份、不给常设凭证、令牌按最小权限最短时间签发、动作绑定委托人;终端上清点并阻止影子 Agent。目前最完整的 Agent 身份模型 |
| 2026-09-03 | GPT-6 Astra | 模型 | — | 官方描述点出机制:边规划边验证、独立确认结果后才宣布完成。另有推理时安全指令注入,服务端在风险升高时改写输入 |
| 2026 全年 | 开源权重模型达到 Agent 可用 | 模型 | — | 1M 上下文、原生多模态、computer use、harness 兼容成为开源标配。与 6 月的出口管制是同一件事的两面:可替换性从优化项变成架构前提 |
刻意不升格的:所有「我们也有 Slack 机器人」的跟风稿;把 Tag 的 Beta 限制(Team/Enterprise、需 Owner、与 ZDR 不兼容)写成已经普及;国内「龙虾套壳 / 安装会」作为热度衍生品;以及任何尚未被第三方复现的 2026 下半年路线图。
前沿模型继续当决策核心,编码与长程工具使用足够支撑团队场景。新故事不在又一个基准涨 5 分,而在同一模型被套进不同身份和沙箱策略。频道 session 与私信 session 用不同身份,是产品规则,不是权重文件里的分层。
MCP / Skills 被 Tag 当组织级 connections 和 skills repo 来用:管理员按 scope 配 bundle,而不是每个成员在 claude.ai 上接自己的 connector。A2A 仍偏企业平台叙事,Tag 的「多人转向同一个 session」是产品层的多驾驶员,还不是 A2A 互操作。
身份模型本身接近一层新协议:Agent Identity + Agent Proxy + Access bundle + scope。词见 术语表。主体(principal)第一次从「借用用户 OAuth」里拆出来。
编码 Agent 从「我的终端」扩展到「我们的频道」。与此同时,三条个人/组织表面并排,不要合成一种产品:
客诉汇总、法务审材料、数仓问答、缺陷复现开 PR——Anthropic 内部案例写在 Tag 资料列表第五阶段。Cowork / Claude Code 仍管个人文件与本地仓库;Tag 管共享、异步、可旁观。最小循环没有换,换的是委派面和可见性。
2026 年第一次把执行基础设施写成主线:
评测仍在(SWE-bench 家族),但组织场景缺少等价于 SWE-bench 的「频道任务」谓词。审计日志、花费上限、RBAC 成为产品功能,而不只是安全附录。系统闭环了,治理闭环还没有。
截至 2026 年 9 月:
加利福尼亚州,2025-10-13 由州长签署(Chapter 672),2026-01-01 生效。新增民法典 § 1714.46:在指控 AI 造成损害的诉讼中,被告不得以「AI 自主造成了损害」作为抗辩。条文对 AI 的定义是泛化的(「一种自主程度可变的、工程化的或基于机器的系统」),通篇没有出现 agent 一词。
主要出处:加州立法信息网,AB 316 全文(Chapter 672,2025-10-13 签署)。本页不复制全文。
法案本身没有写生效日,也没有 urgency 条款。按加州宪法的默认规则(第四条第 8(c)(1) 款),无 urgency 的法案在次年 1 月 1 日生效——即 2026-01-01。注意这个日期不印在法案文本里。
§ 1714.46 (b) 的原文意思是:在针对开发、修改或使用了 AI 的被告提起的诉讼中,被告不得提出、也不得主张「是 AI 自主造成了原告的损害」这一抗辩。
定义((a) 款)用的是泛化表述:「一种自主程度可变的、工程化的或基于机器的系统」。全文没有出现 agent 或 agentic 字样。
(c) 款保留其他积极抗辩,以及关于因果关系、可预见性、比较过失的证据——即这条只堵住「自主」这一条路,不改变其他归责要件。
加州的 AI 透明度法(SB 942)不是 2026-01-01 生效——由 AB 853(Chapter 674)修订后的条文写明「本章自 2026 年 8 月 2 日起施行」。网上流传的「1 月 1 日生效」是错的。
自主系统带来一个归责难题:如果损害由模型自主做出,被告能不能说「这不是我决定的」?AB 316 的回答很干脆——不能。开发、修改、使用 AI 的人,不能拿自主性当挡箭牌。
这条对做 Agent 平台的人有直接含义:「模型自己选的」不是免责事由。工具调用的授权、沙箱的边界、动作的审批,都得由设计者负责——因为它们都是人定的。
把这条和同年 8 月的欧盟 AI Act 第 50 条指南并排看,两个法域走了两条路:欧盟要求「说清楚是谁在行动」,加州要求「别拿自主性推责」。一个管上游披露,一个管下游归责。
对平台设计,两条合起来给出的约束是:动作要能追溯到委托人,行为要能解释。审慎地说,目前法律只要求前者的一半(披露),后者(审计)仍是空白——2027 提纲里值得继续盯的正是这块。
2026 年 1 月:商标迫使 Clawdbot → Moltbot → OpenClaw;GitHub 星与实例数在数周内进入现象级。中文互联网称「养龙虾」。
2025 年仓库起点见 OpenClaw(龙虾)。项目:openclaw.ai、GitHub。
本页转述 2026 年 1 月现象级传播当时公开发生了什么。2025-11-24 仓库与产品形态见 2025 材料。
主要出处:项目 lore From Clawd to OpenClaw;报道如 少数派、BBC 中文。星标以 GitHub 当时快照为准,本页只写数量级,不假装精确到个位。
Anthropic 就名称与 Claude 过近发出礼貌但法律上必要的沟通。项目 1 月 27 日前后改为 Moltbot(蜕壳),1 月 30 日再改为 OpenClaw。GitHub、文档、npm、X 账号在短时间内迁移。骗子几乎立刻用旧美术发币——lore 自己写了这一笔。
仓库创建八周后进入主流视野。1 月底报道已写到约 10 万星、单周大量访问;此后数月星标与公开实例继续涨(2026 年春夏进入数十万星量级)。中文侧把安装、配模型、喂上下文叫「养龙虾」;卸载叫「卸龙虾」。腾讯、百度等随后有安装/套壳活动——那是跟风,不是 1 月的源代码本身。
自托管意味着 Gateway 能碰文件、shell、聊天历史。公开讨论很快包括:暴露在公网的实例、密钥泄漏、恶意 skill、误删文件。这不是 2026 年下半年才发明的批评。企业侧后来出现禁用办公网安装的通知,是热度的另一面。
不是厂商托管的企业 Agent 平台,没有中央 kill switch。也不是「已经安全的个人操作系统」。Foundation / 作者加入 OpenAI 是更晚的治理新闻,不写进 1 月爆红当天。
2025 年官方运行时教会开发者「在终端里委派」。还缺一种人人能传的形态:开源、自己的电脑、自己的聊天软件、一只龙虾表情。2026-01 的改名周把这个形态送上舆论顶点。仓库出生在 2025-11;热度、养虾与暴露面是这一月的事。按定义它 是 Agent,而且往往比 IDE 助手更少人盯着——正因为此,权限面等于机器本身。
记法对齐 2023 年 AutoGPT:引爆记热度,可靠性与安全另记。Aries 把 OpenClaw 写成开源 harness 样本,说明它不是纯 meme,已经成为可测的负载。Claude Tag 走的是组织配身份的反方向:不要把 shell 和密钥交给每人自建的 Gateway。两者会长期并排——个人自托管 vs 企业工作区——不要合成一句「Agent 已经住进每个人的电脑」。国内套壳、安装会、卸虾生意,是热度衍生品,不单独升格。principal 仍是机主,不是 Tag 那套 Agent Identity。
Anthropic,2026-01-12。口号是 Claude Code for the rest of your work:同一套 agent 架构,不进终端,对着本机文件夹干活。
当时报道:TechCrunch、The Verge。产品页:claude.com/product/cowork。中文入门:开始使用 Claude Cowork。
本页转述 2026-01-12 研究预览当时公开说了什么。现网产品页已演进出网页/移动端、定时任务、内置浏览器和更多套餐,那些不写进「当天」。
主要出处:Anthropic / Claude 当日公告(口号 Introducing Cowork: Claude Code for the rest of your work);同期报道 TechCrunch、The Verge。中文说明(后出,只作对照):开始使用 Claude Cowork、什么是 Claude Cowork。
Claude Code 原为终端里的软件工程循环。内部和外部用户很快拿它做几乎所有事,不只写代码。Cowork 被写成同一条能力的简化入口:不必开终端,给 Claude 本机上的一个文件夹,它就可以在该文件夹里读、改、新建文件。任务用日常语言交代;Claude 做计划、逐步执行,重大动作前询问。已有 connectors 可接外部信息;需要浏览时,可与 Claude in Chrome 配对。
公告自己举的例子:整理下载目录、从一堆截图做出费用表、从零散笔记写出初稿。架构上与 Claude Code 共用 agent 循环(报道写 Claude Agent SDK),差别在表面和任务域:知识工作,不是仓库。
研究预览。当时可立刻用的是 Claude Max + macOS 桌面应用;侧栏点 Cowork。其他套餐走等待名单。公告写明计划扩到 Windows 与跨设备同步,那是路线,不是 1 月 12 日已交付。
风险写进发布说明本身:指令含糊时可能误删文件;提示注入不是新问题,但「第一次用会动文件的工具」会把风险送到非开发者面前。建议权限收在单个文件夹,并自己留备份。
不是 Slack 里的团队员工(那是半年后的 Claude Tag)。不是自托管 Gateway(同月爆红的是 OpenClaw)。不是网页版 Chat 里新建一个附件按钮——权限模型是指定本地文件夹。当天也不是全套餐、全平台可用。
Claude Code 证明:终端里的多步循环能收工。大量人却拿它整理文件、做表、写稿——任务不是软件工程,工具却是开发者的。Cowork 去掉终端,把同一套「计划 → 动文件 → 看结果」接到桌面文件夹上。循环没有新发明;换的是动作对象(目录树而非 git 工作副本)和操作表面。
按定义这 是 Agent:多步、对环境行动(文件系统与已连接工具)、按回执再决策。人在环路仍在:重大动作要问。权限由用户划文件夹——principal 是使用者账号,不是频道共享的服务身份。
2026-01 同时出现两条「Agent 住进日常」的表面,不要合成一种产品:
半年后的 Claude Tag 再换一层:共享频道、组织身份。Tag 博文自己拿 Cowork / Claude Code 当熟悉感参照——个人文件与本地仓库仍归这两条,频道协作归 Tag。模型可以共用,权限模型不能混写。
2026-01-15 发布,Apache-2.0。厂商中立的 LLM API 规范(客户端 ↔ 模型提供方),schema 源自 OpenAI 的一方 API。核心维护者来自 OpenAI、Databricks、Amazon、Hugging Face、Ollama、OpenRouter 等;治理条款写明任何单一厂商不得占据多数核心维护者席位,且所有治理角色由个人而非组织担任。
主要出处:openresponses/openresponses(Apache-2.0,仓库创建于 2026-01-15)、其 CHANGELOG 与 CONTRIBUTING、以及 openresponses.org 的治理页。
schema/ 下的 OpenAPI 源文件复制自 OpenAI 的一方 API。但要分清:找不到 OpenAI 的官方公告页。OpenAI 官方新闻源里没有这条,站内也只有 Responses API 的功能页。所以正确表述是——由 OpenAI 员工主导维护、schema 源自 OpenAI 一方 API 的开源规范,不是「OpenAI 官方发布的标准」。
原文两条值得记:
后续 2026-04-24 的版本加入 WebSocket 传输、/v1/responses/compact 与 phase 字段。
它不是 Agent 通信协议。它管的是客户端与模型提供方之间的接口形状,与 MCP(模型↔工具与资源)、A2A(Agent↔Agent)不在同一层。放进时间线时按「模型接口层的标准化尝试」记,不要与工具总线并列。
2024–2025 年,Agent 的接线分三层:模型↔工具(MCP)、Agent↔Agent(A2A)、以及客户端↔模型提供方。前两层有公开协议,第三层一直是一方 API 的形状——换供应商就要改代码。
Open Responses 处理的是第三层:把「一个能发工具调用、收结果、继续」的循环写成规范,并保留语义化的流式事件(而不是让调用方自己去解析文本增量)。
发起方是一家厂商的员工,schema 也来自一家的 API——这本来很像「事实标准的单方面输出」。但治理条款写了两条反向约束:任何单一厂商不得占多数维护者席位、治理角色由个人而非组织担任。
这与 A2A 由 Google 发起、MCP 由 Anthropic 发起的路径不同:这一次从一开始就把「不被一家控制」写进了规则。是否奏效要看后续,但作为设计选择,它是 2026 年协议治理的一个新样本。
对时间线的意义在于分层:不要把这条和 MCP / A2A 混成一类。它们各管一层接线,调研方法 里说的「协议」是这一层的统称。
也需要克制:截至 2026 年 9 月,它的采纳仍集中在模型供应商与推理服务侧,没有出现跨厂商的强制采用。按「标准」标签的门槛(多方默认)看,它还没到。它同样不满足「工程化」的门槛(把某项此前只被演示、未被交付的能力第一次交到他人手上),因此本条不带标签。
Anthropic,2026-02-05。厂商称其「规划更谨慎、能维持更长的 agentic 任务」,并在 Opus 级首次提供 1M token 上下文(beta)。同日 Claude Code 增加 agent teams(多智能体组队),API 侧增加 compaction(自主压缩上下文以跑更长任务)、adaptive thinking 与 effort 控制。
当时公告:Claude Opus 4.6。
主要出处:Anthropic,2026-02-05,Claude Opus 4.6。本页不复制公告全文。
公告声称在 Terminal-Bench 2.0 上取得最高分,HLE 领先,GDPval-AA 上超出 GPT-5.2 约 144 Elo。这些均为厂商自报,评测口径随公告一并给出,时间线按主张记,不作独立结论。
不是新世代模型名称的换代,也不是循环语义的变化。它改的是核心能维持多久、能同时开几条线——这两件事此前主要靠应用层的上下文管理与多进程编排来解决。
2025 年解决「跑得久」的办法基本都在核心之外:外部记忆、截断、重启一轮、把任务切碎交给多个进程。GPT-5.2-Codex 第一次把上下文压缩写进模型侧,Opus 4.6 把同一件事做成 API 能力,并且同时给了两个东西:1M 上下文(装得下)和 compaction(装不下时自己压)。
另一半是并行。此前多智能体是应用层的拓扑设计——谁跟谁说话、谁汇总,都要开发者自己写。Building effective agents 当时还专门劝过不要动不动上多 Agent。agent teams 把这件事收进产品:组队成为运行时提供的能力,而不是应用要发明的架构。
这两条决定了 2026 年后半年的运行时形态。当核心能自己压缩、自己组队,运行时要管的就只剩环境——环境活多久、凭证放在哪、谁批准动作。这正是 Managed Agents 与 Agent Tag 那一串事件要处理的问题。
边界要说清:这是核心的能力,不是 Agent。压缩与组队都发生在模型与运行时之间,按定义第四条(反馈后再决策)看,它改善的是循环的续航,不是循环的存在。
Anthropic,2026-04-08。托管的长时程 Agent 服务,把 Agent 虚拟化成三个接口:session(发生过什么的可追加日志)、harness(调用模型并把工具调用路由到基础设施的循环)、sandbox(跑代码与改文件的执行环境)。三者可各自替换。会话按 session-hour 计费;沙箱可托管也可自托管。
工程博客:Scaling Managed Agents: Decoupling the brain from the hands。定价:claude.com/pricing。
主要出处:Anthropic 工程博客,2026-04-08,Scaling Managed Agents: Decoupling the brain from the hands;官方文档(Managed Agents overview 等)与定价页。本页不复制原文。
工程博客的说法是把 Agent 虚拟化成三个接口:
三者可以各自替换实现而互不干扰。博客写得很直白:对接口的形状有主张,对接口后面跑什么没有主张。
最初三样装在一个容器里。好处是「文件编辑就是直接的系统调用,没有服务边界要设计」。但这就养了一只 pet:容器挂了,session 就没了;容器不响应,只能护理它。而排查只有 WebSocket 事件流一个窗口——harness 的 bug、事件流丢包、容器离线,三者长得一模一样,工程师没法定位。
还有一个假设被写死在 harness 里:Claude 要处理的东西就在容器旁边。客户要把 Claude 接到自己的 VPC,就只能对等网络,或者在客户环境里跑 Anthropic 的 harness。
解耦之后:harness 像调任何工具一样调容器,容器死了就当作一次工具调用错误交回给 Claude;Claude 决定重试就重建一个。harness 自己也变成 cattle,可以从最后一条事件续跑。
博客的原话是:结构性的修法是保证 token 永远不可能从跑模型生成代码的沙箱里被够到。Git 场景在沙箱初始化时克隆仓库并把 token 接进本地 remote;自定义工具走 MCP 加 vault。harness 始终不知道任何凭证的存在。
官方文档把它定义为「预置的、可配置的 agent harness,跑在托管基础设施上;适合长时程任务与异步工作」,核心概念是 Agent / Environment / Session / Events。当时是 Beta。
定价页写明:标准 token 费率照收,外加 $0.08 per session-hour 的 active runtime;运行时按毫秒计,只在会话状态为 running 时累加——空闲等消息、等工具确认、重排、终止都不计费。文档另说明:session runtime 取代了原来的容器小时计费模型,不再单独收容器费用。
权限策略有三档:always_allow / always_ask / auto;文档写明 agent 自带工具默认 always_allow,MCP 工具默认 always_ask。
不是新模型,也不是新循环——循环形状没变。它改的是循环住在哪、活多久、以什么身份:可以有自托管沙箱(编排留在 Anthropic 侧,工具执行留在你自己的基础设施里),可以把记忆挂在沙箱的 /mnt/memory/ 下并保留不可变版本,可以按 session 设预算。这些在 2026 年 4 月都还是 Beta。
2025 年的运行时——Claude Code、云端 Codex——把循环装进一个「装上即委派」的产品里,但循环与执行环境是长在一起的:容器死了,会话就没了。对单次开发会话够用;对要跑几小时的异步任务就是硬约束。
这一步把 Agent 拆成三个可替换的接口:session(日志)、harness(循环)、sandbox(执行环境)。拆开之后,容器死亡降级成一次工具调用错误,harness 崩溃可以从事件日志续跑。「进程一直活着」从正确性前提变成了实现细节——这是这条线的关键变化。
第二个变化是凭证边界:token 不进沙箱、harness 不知道凭证存在。这让「模型生成代码跑在哪儿」与「密钥放在哪儿」第一次成为两个可以分别回答的问题。
第三个变化容易被忽略:计费单位。$0.08/session-hour 按 running 状态毫秒计费,是「Agent 运行时按会话时长计价」的首个一手定义——前面 阿里云 AgentRun 是产品侧的同类主张,但没有给出这么明确的计价语义。
把它和同期两家放在一起看,2026 年上半年的架构命题是同一个:
| 厂商 | 措辞 | 共同点 |
|---|---|---|
| Anthropic | session / harness / sandbox 三接口 | 控制面与执行面分开 |
| OpenAI | harness / compute separation | 凭证与编排不进模型代码环境 |
| distributed harness runtime | 从可挂起/恢复的镜像供给执行环境 |
三家独立收敛到同一形状,说明这不是某家的产品选择,而是长时程 Agent 对执行层的必然要求。这也解释了为什么 Claude Tag 后来能直接把同一套短寿沙箱引擎搬进 Slack——引擎与委派面已经解耦了。
要注意边界:本条讲的是运行时怎么组织,不涉及沙箱内部怎么隔离。后者属于另一条线。
OpenAI,2026-04-15(v0.14.0)。2025 年的 Agents SDK 是编排库;这一版把 harness(指令、工具、审批、追踪、交接、续跑记账)与 sandbox(文件、命令、包、产物、隔离)显式拆成两层,并让沙箱供应商可插拔。Python 先行。
Release notes:v0.14.0。
主要出处:OpenAI,2026-04-15,openai-agents-python v0.14.0 release notes;同日 OpenAI 官方论坛的公告帖(标题即「The next evolution of the Agents SDK」)。官方博客页 openai.com/index/the-next-evolution-of-the-agents-sdk/ 对本机不可访问,本页按上述两处转述。
公告的措辞是:演进后的 SDK 给模型一个强 harness——指令、工具、审批、追踪、交接、续跑记账,以及 Codex 式 agent 使用的那种模型行为;sandbox 提供 compute——文件、命令、包、产物与隔离。两层可以跑在同一台机器上,也可以分开跑,以获得更好的隔离、持久性与安全性。
公告给出的安全理由值得记:这种分离让凭证与编排留在模型生成代码运行的环境之外。
新增 Manifest 抽象,用来描述 Agent 的工作区——暂存本地文件、克隆仓库、创建输出目录、挂载对象存储、挂 Git 仓库。官方说它让同一套流程更容易跨供应商与环境迁移。
文档写明:可以定义 sandbox 用户、把文件权限附着到 Manifest 条目上、让面向模型的工具以指定用户运行;底层映射到标准 Unix 文件权限。给出的例子是:模型对 dataroom/ 只读,同时保留对 output/ 的写权限。
内置快照与再水化(snapshotting and rehydration):SDK 可以在一个全新的沙箱里恢复会话,从上次保存的状态继续,而不是从头开始。
release notes 列出:本地与容器的 UnixLocalSandboxClient、DockerSandboxClient;托管侧为 Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel,另有 bring-your-own 选项。
2025 年的 Agents SDK 是一套编排积木:单/多 Agent、内置工具、tracing,进程是调用方的,跑在哪由开发者自己决定。到 2026 年,长时程任务把「跑在哪」变成了库必须回答的问题——一个跑几小时的 Agent 需要一份能存活的工作区、一套权限、以及容器没了之后能接着来的办法。
这一版的答案是把环境收进库的抽象里:Manifest 描述工作区长什么样,沙箱供应商是可换的实现,快照负责续跑。
三点值得单独记:
这条与 Managed Agents、Google AX 构成 2026 年上半年的同一件事:执行环境从开发者的选型变成运行时的抽象。
区别在于形态:Managed Agents 是托管服务,AX 是自托管运行时,Agents SDK 是库——托管、自托管、库三条路同时存在,且都收敛到「控制面与执行面分开」。这个三分布局本身就是 2026 年供给侧的实况,不该写成某一家的胜利。
Stripe,2026-04-29(Sessions 2026,一次发布 288 项)。与 Agent 相关的三件:按 token 实时结算的流式支付(用计量引擎精确到每次 token 使用)、Link wallets for agents(每个任务发一张一次性虚拟卡,真实支付信息不暴露给 Agent,每笔支付由人批准)、以及针对 token 盗用的风控。此前 2026-01-14 Stripe 完成对计量引擎 Metronome 的收购。
主要出处:Stripe 新闻室,2026-01-14 Stripe completes Metronome acquisition、2026-04-29 Sessions 2026、2026-08-19 Stripe agrees to acquire OpenRouter;文档 Token billing。本页不复制原文。
2026-01-14:完成对 Metronome 的收购。 官方称其计量引擎「已经在为一些最有雄心的 AI 公司提供支持,包括 OpenAI、Anthropic 与 NVIDIA」;公告把「向按用量计费的转变」称为下一个十年的决定性特征。
2026-04-29:Sessions 2026(288 项发布)。 与 Agent 直接相关的两条:
2026-08-19:协议收购 OpenRouter(token 路由与优化)。原文提到 Stripe 自去年起已在做 token 成本优化,并推出了 Token Billing 一类产品。
docs.stripe.com/billing/token-billing(当时为公开预览)按模型与 token 类型(输入、输出、缓存读、缓存写)计量并支持配置加价,会同步 OpenAI / Anthropic / Google 的价格。文档末尾提到可计量的对象包括 token 用量、API 调用、计算时间。
流传的「Stripe 于 2026-08-10 推出跟踪 token、tool call 与 agent session 分钟数的计费表」没有一手来源——它只出现在一个已知的 AI 生成 SEO 站点上。Stripe 官方文档里是通用的用量计量,没有「按工具调用」「按 agent 会话分钟」这类专项计量。时间线不采用该说法。
Agent 开始真的花钱:调模型、租沙箱、买数据。此前这笔账落在开发者身上——预充值、配额、事后对账。麻烦出在两头:成本产生的速度和收款的速度不匹配(Agent 以机器速度烧 token),以及授权不可追溯(一次会话里谁批了哪笔)。
Stripe 给的两件东西正对这两头:按 token 实时结算解决速度差,一次性虚拟卡 + 逐笔批准解决授权。
「真实支付信息不暴露给 Agent,每任务一张一次性卡,每笔支付由人批准」——这是凭证设计,与同期 Managed Agents「凭证不进沙箱」、Agents SDK「凭证与编排不进模型代码环境」是同一个思路的第三种实现:
| 场景 | 凭证处理 |
|---|---|
| 代码执行 | token 不进沙箱,harness 不知道凭证 |
| 文件与时序 | 权限映射到 Unix 文件权限 |
| 支付 | 一次性虚拟卡,逐笔人批准 |
三条合起来看,2026 年的一个共同答案浮现了:Agent 可以行动,但凭证不由它持有。
按定义,这不是 Agent,也不是执行语义的变化——循环没变,动作接口没变。它改的是经济语义:Agent 成为可以独立计量、独立结算的经济参与者,而授权链仍回到人。
对做平台的人有一条实际含义:成本与权限正在合并成同一个控制面。谁是 principal、它花了多少、哪一步花的,在 2026 年之后是同一套账。
Google,仓库建于 2026-03-30,首个版本 v0.1.0 于 2026-05-20。定位是分布式 harness 运行时:从可挂起、可恢复的镜像动态供给隔离环境来跑 harness 与 Agent;明确说自己不是托管服务,是自托管运行时,框架无关。配套的 Agent Substrate 负责在 Kubernetes 上大规模调度这些执行环境。
主要出处:google/ax 仓库(README 与源码,仓库创建于 2026-03-30,v0.1.0 发布于 2026-05-20);agent-substrate/substrate(仓库创建于 2026-05-13);项目官站 agentexecutor.io。Google 官方博客对本机不可访问,「2026-05-21 发布」只有二手来源。
README 原话:AX 是一个分布式 harness 运行时。它从可挂起、可恢复的镜像动态供给隔离环境来执行 harness 与 Agent;为可靠性设计,即使分布式部署也原生支持恢复与执行续跑。
「AX 不是什么」一节写了两条边界:不是托管服务(AX 是自托管的);不是 agentic 框架(对用什么框架构建 Agent 不做假设)。
用例上看,客户端发起的交互如果 conversation_id 已存在,就表示恢复一个已有会话而不是新建。
AX 在 Kubernetes 上的 Agent Substrate 上有原生支持,这是推荐的生产部署方式。反过来,Substrate 把自己描述为「默认安全的 agent 执行运行时」,用 actor 到 worker 的映射来做高密度调度,支持 microVM 与 gVisor 一类隔离载体,并明说不是 Google 官方支持的产品。
项目官站声称原生支持 MCP、A2A 等协议。代码里的实际情况不同:主分支源码中检索 a2a / agent-to-agent 为零命中,也没有 AgentService;MCP 则有代码证据。所以按「官站声称支持 A2A,代码未见」记录,不要写成已经支持。LangChain / ADK 的兼容性声明出现在 Substrate 的 README 里,属于 Substrate 的集成面,不是 AX 的能力。
不是托管产品,不是新协议,也不是新的 Agent 框架。它回答的是运行时那一层的问题:执行环境怎么被供给、怎么被挂起、怎么在崩溃后续跑。
Managed Agents 和 Agents SDK 2026 各自给出了托管服务与库两种答案。AX 补上第三种:自托管运行时——你把它跑在自己的基础设施上,它负责从镜像供给执行环境、维持会话状态、在崩溃后恢复。
它的措辞把这条线的共同点讲得最清楚:从可挂起、可恢复的镜像动态供给隔离环境。注意这里的主体不是沙箱技术,而是执行环境成了一个可以被调度、挂起、恢复的对象——这正是 2026 年供给侧的命题。
对做运行时的人来说还有一处值得记:AX 明确划清「不是托管服务」「不是 agentic 框架」两条边界。它只做运行时那一层,这与 2023 年框架什么都包的做法相反。
三家(Anthropic 托管、OpenAI 库、Google 自托管)在同一季度收敛到「控制面与执行面分开」,说明这是长时程 Agent 的结构性要求,不是产品口味。
要注意可信度分层:AX 当时是早期开发状态(仓库自己标注核心与恢复协议还会大改,并暂停接受外部 PR),官站对 A2A 的支持声称在代码里找不到对应实现。写进时间线时按「自托管运行时的出现」记,不按「又一套生态」记。
配套的 Agent Substrate 自己声明不是 Google 官方支持的产品,这条在引用时不要省略。
Anthropic,2026-06-09。Fable 5 与 Mythos 5 是同一个底层模型,唯一区别是安全护栏:Fable 5 公开发布(部分查询会回退到 Opus 4.8),Mythos 5 解除部分护栏、只提供给网络安全防御方与关键基础设施方。厂商称其能力层级高于 Opus,是第一个「Mythos 级」的正式发布。
主要出处:Anthropic,2026-06-09,Claude Fable 5 and Mythos 5。本页不复制公告全文。
公告的脚注给出定义:Mythos 级是能力位于 Opus 级之上的一档 Claude 模型。第一个是 4 月通过 Project Glasswing 发布的 Claude Mythos Preview,接着是本次的 Fable 5 与 Mythos 5。名字取自拉丁语 fabula(被讲述者),与希腊语 mythos 同源。公告明说:区分这两个模型的是安全护栏。
同一底层模型,两条分发路径:
定价 $10/$50 per Mtok。要求 30 天数据保留,公告登出后引发客户反弹——这一点在三个月后的 Enterprise Frontier Safeguards 里被正面回应。
公告称这两个模型「能比此前任何 Claude 自主工作更久」。护栏触发率厂商自报平均低于 5% 的会话,超过 95% 的会话不触发回退。这些是厂商自报。
不是新架构,也不是新的 Agent 能力类别。它第一次把安全护栏等级而不是权重规模当作产品分层的维度——同一个模型,公开版与受限版的差别不在能力,在允许做什么。
前沿模型此前只有两条分发路径:全量发布,或者不发布。但 2026 年的能力分布不再是一根轴——最强的模型既能被用来找漏洞,也能被用来补漏洞。把它们一起锁起来,防御方也拿不到;一起放出去,攻击方也拿得到。
Fable 5 / Mythos 5 给出的是第三条路:同一个底层模型,按护栏分层,按受众分发。公开版在某些查询上回退到次一级模型,受限版解禁后只给受信任的机构。
这条选择有代价,而且公告自己承认了:要让护栏可判定,就得能查出绕过——于是有了 30 天数据保留要求。企业客户对此反弹,三个月后 Enterprise Frontier Safeguards 用客户自控云基础设施 + 零保留的方式给了另一个答案。
这是治理结构的变化,不是模型升级。它把「模型能不能用」从二元问题变成能力等级 × 受众 × 护栏的三维问题。三天后发生的事证明了这不是纸上设计——美国出口管制 直接按这条分层关掉了两个模型的访问权。
对做平台的人的意义:模型的可获得性不再只由厂商决定。这是 2026 年之后设计 Agent 系统时必须假设的前提。
Anthropic,2026-06-12 与 06-30 两篇官方声明。美国政府援引国家安全权限发出出口管制指令,禁止任何外国国民访问 Fable 5 与 Mythos 5——包括境外的、以及美国境内具外国国籍的 Anthropic 员工。指令于当日 17:21 ET 收到,Anthropic 于当天对全部客户停用这两个模型。6 月 26 日 Mythos 5 先恢复对美国机构的访问;6 月 30 日管制解除,7 月 1 日 Fable 5 全球恢复。
暂停声明:Statement on the US government directive。恢复声明:Redeploying Fable 5。
主要出处:Anthropic,2026-06-12,Statement on the US government directive to suspend access to Fable 5 and Mythos 5;2026-06-30,Redeploying Fable 5。本页不复制原文全文。
美国政府援引国家安全权限发出出口管制指令,禁止任何外国国民访问 Fable 5 与 Mythos 5——范围包括境外的用户,以及在美国境内、具外国国籍的 Anthropic 员工。
声明的原话是:「这道指令的实际效果是,我们必须对全部客户立即停用 Fable 5 与 Mythos 5。」指令于当日 17:21 ET 收到。其他模型不受影响。
厂商同时给出反驳:政府方面认为已掌握绕过 Fable 5 护栏的方法;Anthropic 称该手法对应的只是少量已知的次要漏洞,并且其他公开模型同样能发现。
Anthropic 与 Project Glasswing 的伙伴(含 Amazon、Microsoft、Google)开始制定跨行业的 jailbreak 严重性评估框架,并加强与美国政府的发布前测试协作。同期公告说明的安全方向见 Enterprise Frontier Safeguards。
暂停与恢复两端都有官方专文,是一手。但触发它的政府指令本身不是公开文件——没有可引用的政府原始文本。二手报道中的官员引语不要采信为事实。
前沿模型的访问权此前由厂商单方面决定:上线、下线、限流、涨价。2026-06-12 出现了第三种情况——政府要求厂商关掉一个已经在售的模型,而且管辖口径是按人(外国国民)而不是按地区或用途。
注意指令的实际效果:因为无法逐用户判定国籍、也无法隔离境内持外国国籍的员工,厂商只能对全部客户停用。这是「按国籍管辖」在一家全球服务上的直接后果。
三天前刚发布的 Fable 5 / Mythos 5 正是这次的对象——把能力分层发布,反而让「关掉最高一档」变成一个可执行的选项。
这是 2026 年最重要的事件之一,原因是它确立了一个先例:模型访问权是可被政府当场开关的。
对做 Agent 平台的人,它改写的是假设而不是能力:
你的 2027 观察提纲 里写「监管与合规若开始决定能不能部署,那是主线,不是附录」——这件事在 2026 年 6 月就发生了,写 2027 时应当把它从「待观察」改成「已发生」。
时间线记法上要克制:触发指令的政府文件不公开,只有厂商两端声明是一手。事件成立,细节不可考。
Anthropic,2026-06-23。Claude Tag 先在 Slack 上线:Claude 以团队成员加入频道。8 月 3 日旧 Claude in Slack 切到 Tag。
当时公告:Introducing Claude Tag。本站资料:Claude Tag。
本页转述 2026-06-23 发布博文当时公开说了什么。身份模型细节见次日 Agent identity;机制深挖见本站 Claude Tag 资料,本页不整页复制。
主要出处:Anthropic,2026-06-23,Introducing Claude Tag。中英对照:发布博文。
Claude Tag 是团队与 Claude 协作的新方式。先从 Slack 开始:Claude 可以像团队成员一样加入。向选定频道授权,并连接到所选工具、数据乃至代码库。频道里任何人可 @Claude 委派任务,自己去忙别的。Claude 记住频道里的相关信息,并能规划将来要做的任务。
Anthropic 把它写成 Claude Code 演化的开端:更主动,也更适合整个团队。内部叙事:@Claude 已成为推进工作的主要方式之一;产品团队约 65% 的代码由内部版 Tag 产出(厂商自报,不是独立审计)。同一模式超出工程:追指标、处理支持工单、帮定位缺陷。
即日起 Claude Enterprise 与 Team 可以 beta 使用。目标是扩展到团队工作的其他表面,当时交付的是 Slack。
用过 Claude Code 或 Cowork 会有熟悉感:用简单的话提出请求,它拆成阶段,用已有工具推进,完成后在 Slack 线程里回复产物。相对个人聊天,博文强调三点:
管理员侧:配对 Slack、给工具、设组织月度花费上限、先在私有频道测试。Tag 取代现有 Claude in Slack 应用;管理员可在 30 天内选择迁移。旧应用退役时间在帮助文档里写成 2026-08-03。符合条件的 Enterprise / Team 有上线积分(仅限 Tag 在 Slack 中的用量等限制,以当时说明为准)。
Beta,不是所有套餐、不是 Slack 之外的默认表面。65% 是内部产品团队自报。ZDR 等限制写在后续文档,不在这篇发布博文的中心,但产品当时明确不是「已经普及的虚拟员工」。
2025 年的 Claude Code 很强,但是「一个开发者的终端」。团队协作发生在 Slack:任务从对话里冒出来,上下文在频道里,责任不在某一次私人聊天。Tag 把与 Claude Code on the web 相同的短暂沙箱引擎放到频道线程上:委派可见、可旁观、可交接。控制协议没有新发明;生命周期和权限模型有。ambient 把循环从「被叫才动」扩到「跟进未决事项」——主动度上升,误报与越权风险也上升,所以要管理员划频道和工具。
按定义这 是 Agent:决策、在沙箱与已连接工具里行动、按线程反馈再决策。人在环路变成多人在环路。MCP / Skills 在这里变成管理员按 scope 配的 bundle,而不是每人自己的 connector。
主矛盾从「会不会写代码」外移到:用谁的权限、记忆跟谁走、沙箱闲了怎么办。次日的 Agent identity 把「不要 act as the user」写成公开设计。8 月 3 日旧 Slack 应用切走,是治理事件:身份从每人自己的账号变成组织配的那一个。不要把 Team/Enterprise Beta 写成已经普及;个人计划与第三方部署当时不在范围内。ZDR 与频道记忆互斥,文档已写。A2A 仍偏企业平台叙事;Tag 的多驾驶员是产品层,不是跨厂商互操作。
Noah Zweben(Claude Code 团队),2026-06-24。概念博文:频道共享工作区身份;私信仍走个人账号。
当时原文:Agent identity: a new access model。对照:身份模型博文、How agent identity works。
本页转述 2026-06-24 概念博文当时写了什么,不把文中的未来项(JIT 凭证、身份叠加)写成已经交付。
主要出处:Noah Zweben,2026-06-24,Agent identity: a new access model for autonomous, team-wide AI。中英对照:身份模型博文。机制文档:How agent identity works。
单人 AI(一个人对一个助手)可以连自己的 Google Drive / GitHub,让模型代表你行事。多人体验如 Claude Tag:Claude 同时坐在共享频道里,调用的是工作区的工具与上下文,而不是某一个人的。因此 Claude 需要由管理员配置、绑到工作区的自己的账号。这套访问模型叫 agent identity。
博文解释:为何「act as the user」在异步、多驾驶员场景会垮——任务可能在用户已经离开后还在跑;频道里下一条指令可能来自另一个人;权限跟「最后说话的那个人」走会错乱、不可审计。公开频道应共享工作区身份;范围按频道划,而不是按人。例如为法务配的 Claude 不应把记忆种进工程频道。
文档补充(与博文同一产品):频道里 Claude 用自己的服务账号(Slack 应用、GitHub App、其他已连接工具里的服务账号);动作记在这些账号上。用户与 @Claude 的 DM 不适用这套身份,改跑在该个人的 claude.ai 与个人 connectors 上(GitHub PR 署名仍可能是 Claude GitHub App)。Owner 可禁用 DM。
JIT(单次敏感动作当场批)、以及「频道 profile ∩ 用户权限」的身份叠加,博文当作未来方向。不要读成 6 月 24 日已经上线。自托管 runner 上 Access bundle 的限度见机制文档,不是这篇博文的中心声明。
2025 年运行时默认「用你的 GitHub、你的浏览器、你的 OAuth」。这对个人副驾驶成立:委派者、凭证持有者、审计对象是同一个人。频道里一旦多人转向同一个正在跑的任务,借用某人的 token 会变成:走了的人仍在担责,后来的人越权,回放对不上当时权限。act-as-user 在同步、单驾驶员、短会话里勉强可过;在异步多驾驶员下,授权、审计、回放三条都不闭合。
博文把规则写成产品:共享工作区用服务账号;私信仍是个人助手。身份与「怎么表现」(指令、plugins、记忆)分开配置。按定义身份模型 不是 Agent。它是循环能在组织里转的前提。没有它,Tag 只能是又一个 Slack 机器人。
词接近一层新协议:Agent Identity、Agent Proxy、Access bundle、scope。MCP / Skills 在 Tag 里变成管理员按 scope 配的 bundle。Cowork 的文件夹 principal 仍是用户,不要回填成已经切换到这套模型。A2A 仍偏企业平台;Tag 的多驾驶员是产品层,还不是跨厂商 agent 互操作。JIT 与权限交集(频道 profile ∩ 用户权限)在 2026-09 仍不要当已交付事实。
Anthropic,2026-06-30。官方定位是「最 agentic 的 Sonnet 模型」:能制定计划、使用浏览器与终端一类工具、以几个月前还需要更大更贵模型才能达到的水平自主运行。定价 $2/$10(介绍价转为常态价)。
当时公告:Claude Sonnet 5。
主要出处:Anthropic,2026-06-30,Claude Sonnet 5。本页不复制公告全文。
不是能力上限的推进——上限属于同期的 Opus 4.8 与 Mythos 级。它推的是自主运行的单位成本:把「会规划、会用浏览器和终端、能自己跑」从高档位下放到中档位。
厂商自报数字(降价幅度、曲线覆盖)按主张记,不作独立结论。
2025 年能自主跑长程任务的模型都在最高档:价格决定了「敢于让 Agent 跑多久」。编码 Agent 的成本模型很直接——一次委派烧的 token 乘单价。单价不降,长任务就只能留给少数场景。
Sonnet 5 的公告没有讲新的能力类别,讲的是同一类能力换到了中档价位:会规划、会用浏览器与终端、能自主运行。配合 effort 维度的成本曲线,同等成本点上能覆盖此前 Opus 档的区间。
对做平台的人,这条的意义是单位经济性:同一笔预算能开的并发数、能容忍的重试次数、能放的沙箱存活时长,都由这个价格决定。
把它与 Opus 5(一个月后,同一条线的高档位)连起来读:2026 年年中,Anthropic 在高低两端同时推进自主能力——一端推上限,一端推价格。GPT-5.6 家族的 Sol / Terra / Luna 三档(见下)是同一思路的另一家版本。
决策核心的价格曲线开始决定 Agent 的产品形态,这件事在 2026 年才变得明显。在此之前的叙事里,成本只是运维指标,不是能力边界。
OpenAI,2026-07-09(公开可用)。家族分三档:Sol(最高推理上限,面向大型代码库推理与长时程 agentic 工作)、Terra(均衡默认)、Luna(最低成本轻量)。平台侧能力表显示三个模型全部支持推理、Responses API、多 Agent 编排(预览)、并行工具调用与 computer use,上下文窗口约 105 万 token。
第三方一手: GitHub Changelog。
主要出处:GitHub Changelog,2026-07-09,OpenAI’s GPT-5.6 Sol, Terra and Luna are now available in GitHub Copilot;平台模型文档(Azure AI Foundry)标注 gpt-5.6-sol / terra / luna (2026-07-09)。OpenAI 官网对本机不可访问,本页按上述两处一手替代来源转述。
平台模型文档的能力表显示,三个档位全部支持:推理、Responses API、多 Agent 编排(预览)、函数与并行工具调用、computer use,以及推理强度与详细度控制。上下文窗口 1,050,000(输入 922,000 / 输出 128,000)。
需要更正一条二手流传:多个来源称上下文约 150 万 token,平台文档与第三方模型索引均为 1,050,000。
公开可用日是 2026-07-09。另有二手报道称该模型在 2026-06-26 先做了受政府限制的限量预览,但这一条没有一手来源,写时间线时须标注为「据媒体报道」。二手还提到 Sol 有协调内部子 Agent 的模式,同样未能核实。
不是单一模型发布,而是一次档位划分:把「多 Agent 编排 + computer use + 百万级上下文」从旗舰专属变成家族标配。这是能力下放,不是能力上限的推进——上限由两周后的 GPT-6 Astra 接续。
2025 年的能力分布是「旗舰有、低档没有」:computer use 只有在最贵的模型上才可用,多 Agent 编排要靠框架自己搭。产品因此要在「能力」和「成本」之间做取舍——想要 computer use,整个产品线的单价就被顶上去。
GPT-5.6 把这两项拉平到全家族:最低成本的 Luna 也支持多 Agent 编排与 computer use,且三档共享约 105 万 token 的上下文。取舍点从有没有变成用哪一档。
对做平台的意义很直接:Agent 的默认能力集合被重画了。如果 computer use 与编排在各档都有,那么运行时要解决的就不是「能不能做」,而是「做得对不对、花了多少、谁批准的」。
两周后的 GPT-6 Astra 把重点转向「怎么确认自己做完了」,再往后一个月的 Opus 5 也强调自我验证。2026 年年中之后,前沿模型的竞争点从「能做什么」转向「做完了怎么知道」——这正是定义第四条(完成判据)在核心侧的对应物。
边界:这是核心能力的下放,不是 Agent 形态的变化。编排是核心提供的原语,循环仍由运行时驱动。
Anthropic,2026-07-24。官方表述是「Opus 档的台阶式改进,驱动长时程 Agent」,接近 Fable 5 的前沿水平但价格约一半。公告强调它更善于验证自己的工作、并持续迭代到成功;在 computer use 的 OSWorld 2.0 上于各成本点均优于其他模型。
当时公告:Claude Opus 5。
主要出处:Anthropic,2026-07-24,Claude Opus 5。本页不复制公告全文。
上述分数均为厂商自报,且 OSWorld 2.0 是 2026 年的新版电脑操作基准,与 2024 年的 OSWorld 原版分数不可横比。写时间线时不把两者连成曲线。
不是能力类别的扩张,也不是 Agent 架构的变化。它的重点是验证:做完了要能自己确认做对了——这是长时程自主里最难的一块,此前主要靠外部的测试与人工检查。
长时程 Agent 一直卡在同一个地方:做得久不等于做得对,而判断对不对在 2024–2025 年一直外包给执行环境——跑测试、看 CI、人审 diff。决策核心自己不做这个判断。
Opus 5 的公告把「更善于验证自己的工作、持续迭代到成功」写成了主要能力,并配了 computer use 与端到端业务任务的分数。方向很清楚:把验证从外部谓词部分收进核心。
这与定义第四条是同一件事的两侧。外部完成判据(SWE-bench 一族)回答「整段轨迹交付了没有」;核心侧自我验证回答「我在中途怎么知道这一步是对的」。后者不能替代前者——自查失败而宣布成功的失败模式,正是外部谓词存在的理由。
Sonnet 5 推价格、Opus 5 推验证、GPT-6 Astra 在同一时期强调「独立确认结果后才宣布完成」——三家在 2026 年年中同时转向完成判据的核心侧内化。
对做运行时的人,这意味着外部谓词不能被省掉:核心越自信,越需要独立于核心的检查。第二层不是被替代,而是被需要得更清楚。
Rethinking AI Cloud Infrastructure for Agentic Serving Systems。Aries:把智能体轨迹当一等观测单元的实验框架。
原文与本站译本:Aries 资料栏。
Rethinking AI Cloud Infrastructure for Agentic Serving Systems(Aries)。约 2026-07-31 公开。本站中文译本:中文。HTML/PDF 以 资料介绍 为准。
自主 agent 把重复推理与持久上下文、沙箱化工具执行结合在一起,对传统 LLM 服务构成新挑战。论文提出 Aries:全栈实验框架——把任务语义与执行配置分离;用关联的系统遥测重建跨组件智能体轨迹;在异构沙箱基底上用一致接口暴露有状态工具执行。实验用开源平台与基准,并补上商业平台的生产轨迹(匿名)。主要发现写成:
安全分析强调缩小沙箱攻击面。愿景:轨迹级指标、自适应上下文管理、弹性沙箱、攻击面最小化。
传统 LLM 服务优化单次模型调用(TTFT、每 token 时间)。Agent 服务里,一次用户请求跨许多相互依赖的模型步与工具步。论文把 智能体轨迹 定义为:服务该请求过程中 LLM 调用、工具调用、工具结果、harness 决策的有序序列。测量必须把任务进度和跨层运行时行为连起来;既有能力基准与系统基准都只覆盖一半。
Aries 用任务规格 vs 执行规格分离、跨层事件 ID、与基底无关的工具接口,来做受控对比和失败归因。
这是测量框架与问题定义,不是已经换完的新云底盘。生产数字来自匿名轨迹与受控复现,不要读成某一家公开 SLA。
2025 年运行时把循环做成产品,公开讨论仍停在 SWE-bench 和演示。Aries 指出:GPU 解码变快,任务仍可能卡在 harness、工具和闲置沙箱。用请求级 LLM 指标管 Agent 服务,会看错关键路径——一次委派跨多次推理、工具调用、沙箱生命周期和 KV 状态,观测单元必须是轨迹,不是 QPS。把轨迹当一等公民,才能问「这一步为什么没推进」。
按定义论文研究的是 已经在转的 Agent 如何被云基础设施拖住或放大,不是新的决策算法。编排库解决不了存储、隔离和上下文税。
Tag 文档里的短暂沙箱(建、干、闲、释放)与这篇的「空闲但突发」互相印证:产品已经撞上论文写的负载。SpecBox 走调度优化;Aries 走测量与问题重构。两者都说明 2026 年主矛盾外移:不是再涨 5 分基准,而是执行路径是否跟得上异步委派。文中用 SWE-Bench Pro、OpenClaw 一类 harness 当负载,不是偶然。愿景项(弹性沙箱、最小攻击面)不要当成业界已经换完的底盘。
欧盟委员会,2026-07-20 发布第 50 条透明度指南(C(2026) 5054 final,51 页),透明度义务自 2026-08-02 起适用。指南第 31 段明文点名 AI agent 与复杂多 Agent 架构:具备与人交互能力的 Agent 被第 50(1) 条覆盖,且设计上就必须披露其人工性质与所代表的人——理由写明是「代理与授权的透明度,以及对行动后果的问责」。同日生效的还有加州 AI 透明度法。
主要出处:欧盟委员会,2026-07-20,Article 50 透明度指南(C(2026) 5054 final,51 页);AI Act Service Desk FAQ;以及 Digital Omnibus on AI(Regulation (EU) 2026/1744)。
指南写:AI agent 属第 50(1) 条覆盖范围,只要它在执行任务过程中具备与指令它的人或其他自然人交互的能力(例子包括预订、处理通信、谈判或订立合同、执行购买等)。
要求是:AI agent 的设计与开发方式,必须让它同时披露自己的人工性质、以及它代表谁行动——理由是「代理与授权的透明度,以及对行动后果的问责」。指南还提到复杂多 Agent 架构,并要求在授权、报告、验证等关键节点向指令方披露。
第 50(2) 条要求标注可感知的合成内容,但指南明确不包括中间处理步骤,例如推理与思维链,也不包括一次网页请求或浏览器动作。
委员会的《AI 生成内容透明度行为准则》全文没有出现 agent——规则覆盖了 Agent,但行业合规路径还没跟上。
Agent 在对外交互时的核心身份问题是:对面那个人知不知道自己在跟机器说话,以及这台机器代表谁。此前的产品实践全是自选动作——有的在 UI 上标注,有的靠用户自己推断。
第 50 条把它变成义务,而且明确写进了 Agent 与多 Agent 架构:设计上就要披露人工性质与委托人。指南的措辞值得注意——它把这条的理由写成「代理与授权的透明度,以及对行动后果的问责」,关注点是授权链,不是内容真假。
把两个法域并排看,路径差异很清楚:
| 欧盟第 50 条 | 加州 AB 316 | |
|---|---|---|
| 管什么 | 上游:披露是谁在行动 | 下游:别拿自主性推责 |
| 生效 | 2026-08-02 | 2026-01-01 |
| 要求 | 设计上披露人工性质与委托人 | 不得以「AI 自主」抗辩 |
两条合起来给平台设计的约束是:动作要能追溯到委托人。但两条都没有要求审计留痕——「查得清出了什么事」这件事,截至 2026 年 9 月仍是法律空白。这是 2027 提纲最值得继续盯的点之一。
SpecBox: Speculative Sandbox Scheduling for Efficient LLM Agent Serving。主张沙箱准备时间可以从关键路径上拿掉;机制不在此展开。
原文与本站译本:SpecBox 资料栏。
SpecBox: Speculative Sandbox Scheduling for Efficient LLM Agent Serving。约 2026-08 公开(资料栏介绍写 8 月 5 日)。本站中文译本:中文。HTML/PDF 以 资料介绍 为准。
LLM agent 越来越多经 MCP 调用隔离沙盒。长生命周期预留内存太贵,按需实例化又带来冷启动——在多租户、多轮场景下,这段准备时间落在尾延迟上。论文的主张是:这段等待属于调度问题,可以不等模型变得更聪明就能缓解。
沙盒内部的隔离与调度机制不在本页展开,见资料栏。
沙箱准备时间是可测量的 Agent 服务成本,不是实现细节。 作者给出原型与相对基线的对比,把「环境还没就绪」从工程抱怨变成可以放进容量与延迟模型的一项。
对 Agent 史的意义在这一条:2026 年,执行供给第一次被当作系统问题来量。
这是一条系统路线与原型数字,不是业界默认调度器。预热猜错会浪费 CPU/内存——论文把阈值当成设计张力,没有宣布已经免费。
Aries 测量到工具与沙箱不是边角。SpecBox 选其中一个可优化点:反应式「先说完再启动」把秒级冷启动串进每一步。MCP 把工具变成远程沙盒之后,这个问题更硬——协议标准化了调用,没有标准化「环境已经热着」。论文的方向是把这段等待从关键路径上拿掉,而不是靠核心再聪明一点。具体机制不在本条展开,见资料栏。
按定义 SpecBox 不是 Agent,是给 Agent 服务的运行时调度。环境未就绪,Action 只能阻塞——这是执行层,不是模型层。
产品上的短暂沙箱(用完释放)正好撞上冷启动。Tag 一类异步委派对尾延迟敏感:人 @ 完去开会,回来还在等环境。论文自报的改善幅度是它自己设置下的报告,不是可以写进所有 SLA 的常数。和 Aries 一起读:2026 年把执行基础设施写成主线,但「把沙箱调度问题做完」仍是研究与工程,不是已经换完的新底盘。
Snowflake,2026 年 8 月连续三次一般可用:08-07 原生应用中的 Cortex Agents 与 MCP server 可用(跨应用 agent→agent 编排,各应用数据与逻辑保持私有,只能通过提供方暴露、消费方批准的工具互相调用);08-26 编码 Agent 可用(工具执行由 Snowflake 承担,使用方不再自己搭 agent loop);08-30 异步 API 可用(后台长任务在客户端断开后继续,上限 6 小时)。
发布说明:2026-08-07、2026-08-26、2026-08-30。
主要出处:Snowflake 官方文档发布说明,2026-08-07 / 08-26 / 08-30 三条。本页不复制原文。
Cortex Agents 与 MCP server 在 Snowflake 原生应用中一般可用。要点是一个应用里的 agent 可以调用另一个应用里的 agent 或 MCP server,而每个应用保持自己的数据与逻辑私有——「agent 只能通过提供方暴露、消费方批准的工具跨应用访问」。权限模型包含调用方授权、功能策略与角色委派。
编码 Agent 一般可用。官方原文写:「Snowflake 执行工具并把结果流回你的应用,因此你不必自己构建或托管一个 agent loop。」
异步 API 一般可用。把请求的 background 字段设为真即可:长任务在客户端断开后继续运行,超时上限 6 小时。
跨应用编排 + 服务端托管的循环 + 断连可续的长任务——这三样此前都是开发者自己拼的:自己写编排、自己托管循环、自己做断线重连。这一轮把它们收进了平台。
流传的「Cortex Agents 于 2026-08-09 GA(跨库工具访问)」是编造的日期。Snowflake 官方 8 月的新闻稿只有另外两条,本条日期以官方发布说明为准。
企业数据平台上的 Agent 一直有个尴尬:数据在平台里,循环却跑在外面。开发者要自己接鉴权、自己写编排、自己处理长任务的断线——而这些恰恰是平台已经解决过的问题(权限、调度、事务)。
三条 GA 各补一块:跨应用编排解决「别人的数据怎么合规地用」,服务端 loop 解决「谁托管循环」,异步 API 解决「任务比连接活得久」。
权限那条值得单独看:跨应用调用需要提供方暴露工具 + 消费方批准,配合角色委派。这是数据侧的最小权限模型,与 CrowdStrike 在安全侧的短时令牌、Managed Agents 在运行时侧的 scope bundle 是同一个方向的三种实现。
这条的意义不在于 Snowflake 做了什么新东西,而在于做这件事的是数据平台:
对做 Agent 平台的人,这是竞争面的变化:对手不只是其他运行时,还包括已经持有凭证与数据的既有平台。它们的优势不在沙箱,而在它已经知道谁有权访问什么。
CrowdStrike,Fal.Con 2026。三件与 Agent 直接相关:Falcon Guardian(在 Windows / macOS 终端发现已知与影子 Agent,给出实时清单,阻止未授权 Agent,把治理策略变成可执行的运行时控制);Agentic Identity Provider(每个 Agent 签发可加密验证、不可冒用或共享的身份;Agent 从不持有常设凭证,访问由令牌代理,按每个任务所需的最小权限与最短时间签发;每个动作都绑定到它代表的人或工作负载);以及 agentic SOC(跨 Agent 的持久记忆、按工作流配置自治等级)。
主要出处:CrowdStrike 官方新闻稿(Fal.Con 2026),2026-08-31 至 09-02 四条。本页不复制原文。
2026-08-31 — Falcon IQ / Project Quiltworks:官方称用超过 50 个 Agent 自动化最耗时的安全工作流。
2026-09-01 — Falcon Guardian(AI Agent 安全):官方原文写,传感器在 Windows 与 macOS 上发现已知与影子 AI Agent,给出每个运行中与休眠 Agent 的实时清单;定义哪些 Agent 允许在受管终端上运行,阻止未授权的,并「把治理策略翻译成可执行的运行时控制」。
2026-09-02 — Agentic Identity Provider:这是本批里最值得记的一条,官方给了三条规则:
2026-09-02 — agentic SOC:跨每个 Agent、每次调查、每个租户的持久记忆(「一个 Agent 学到的,它们都知道」);客户可以为每个工作流设置自治等级,从人在环路批准到完全自主执行;支持双向 MCP。
官方文本自带「未发布服务」免责声明,部分能力仍写作「将提供」。写时间线时按「已公布的能力设计」记,不要写成已经全面可用。
这套模型与运行时侧的 scope bundle、数据侧的跨应用授权是同一个方向的三种落地:身份从「借用用户凭证」里拆出来,动作绑定到委托人,凭证短时且最小。
2026 年之前,Agent 的身份基本是借用的:用你的 OAuth、用你团队的服务账号、或者一把长期 API key。这带来三个问题——审计追不到人、权限只能一次给足、凭证一旦泄露影响面等于整个账号。
CrowdStrike 给的三条规则逐一对应:
| 问题 | 规则 |
|---|---|
| 追不到人 | 每个动作绑定到它代表的人或工作负载 |
| 权限给太足 | 无常设凭证,令牌按最小权限、最短时间签发 |
| 冒用与共享 | 身份可加密验证,不可冒用、不可共享 |
注意这是安全厂商给出的答案,不是模型厂商——这本身是信号:Agent 身份问题先被当作终端与凭证安全问题来处理。
三条合起来才是完整的 2026 答案:主体独立于用户,凭证不落执行环境,动作可归因。
最有价值的一处是 Falcon Guardian 的「影子 Agent」概念:终端上会出现没人批准过的 Agent。这在 2026 年是真实问题——OpenClaw 一类自托管 Agent 让每个人都能在自己机器上跑一个,企业需要先发现再谈治理。
对做平台的人:发现与清点是治理的前提。在能管住之前,先得知道有多少在跑。这条和 2026 年 Tag 的组织级身份是同一命题的两端——一个从组织往终端看,一个从终端往频道看。
OpenAI,2026-09-03(版本日)/09-04(GitHub Copilot 一般可用)。平台能力表显示其支持推理、Responses API、多 Agent 编排(预览)、并行工具调用与 computer use,上下文约 105 万 token,训练数据截至 2026 年 4 月。
第三方一手: GitHub Changelog。
主要出处:GitHub Changelog,2026-09-04,GPT-6 Astra is generally available in GitHub Copilot;平台模型文档(Azure AI Foundry)标注 gpt-6-astra (2026-09-03)。OpenAI 官网对本机不可访问。
GitHub 的公告没有只列分数,而是写了它怎么工作——原文:
「GPT-6 Astra stood out for how it works, not just what it produces: it plans and validates as it goes, batches diagnosis with verification, and independently confirms its results before declaring a task done.」
并称在长时程编码任务上比此前 OpenAI 模型用更少步骤取得更好表现。这段出自第三方(GitHub),比厂商自报更有分量,但仍属合作方口径。
平台文档显示支持:推理、Responses API、多 Agent 编排(预览)、函数与并行工具调用、computer use、推理强度与详细度控制。上下文 1,050,000,训练数据截至 2026 年 4 月。
平台文档写明,当安全系统判定风险升高时,该模型可能施加加强的安全控制:在推理时修改分类器阈值,并用系统生成的安全指令补充客户提示。
这不是模型能力,也不在循环里——是服务端在推理时改写输入。对做平台的人,这类机制会影响可复现性与调试路径,值得单独跟踪。
不是 Agent 产品,也不是协议事件。它的可核对意义集中在两条:验证行为被写进官方能力描述,以及推理时安全指令注入这一服务端机制的公开化。
长时程 Agent 的失败模式里,最贵的不是「做错」,是做错了还宣布成功——人已经走了,错误在收工之后才暴露。前面几代模型的应对方式是把检查留给外部:测试、CI、人审。
GPT-6 Astra 的官方描述第一次把顺序写反过来了:先独立确认结果,再宣布完成。配合 Opus 5 一个月前的「更强的自我验证」,这条线在 2026 年年中已经稳定:核心开始承担一部分完成判据。
两点值得记。
一是验证变成默认叙事。 从 2024 年的 o1「把想藏进内部计算」,到 2026 年的「边做边验、确认后收工」,核心被要求承担的部分从推理扩展到正确性判断。
二是推理时安全注入。 平台文档写明服务端会在风险升高时修改分类器阈值、并用系统指令补充客户提示。这意味着同一段提示在不同风险判定下可能得到不同行为——对调试、评测复现、以及「Agent 为什么这么做」的归因,都是一个新变量。
边界:核心侧自我确认不能替代外部谓词。判断做完了和判断交付了是两件事,前者越强,后者越重要。
2026 年,多家实验室把「面向 agent」的能力打成开源权重标配:Qwen3.5 → 3.8(2 月 → 8 月)、GLM-5.1 → 5.3(4 → 8 月)、MiniMax M2.5 / M3(2 月 / 6 月)、DeepSeek V4(4 月开源预览,8 月 Pro GA)、Kimi K3(7 月)、Thinking Machines 的 Inkling(7 月)。共同点是百万级上下文、原生多模态、computer use 与 agent harness 兼容。
主要出处:各家官方公告与仓库(QwenLM、docs.z.ai、minimax.io、deepseek.com、moonshot.ai、thinkingmachines.ai),以及 ModelScope / GitHub API 的仓库元数据。本页只做汇总,不复制原文。
| 模型 | 日期 | 与 agent 相关的能力 |
|---|---|---|
| Qwen3.5(阿里) | 2026-02-16 | 开源系列起点;年内迭代到 Qwen3.6 / 3.7 / Qwen3.8(8 月)。官方称 3.8 是「首次把 Qwen-Max 级模型开源」,强调长时程 agentic 任务、更强的自主规划与对环境的响应 |
| MiniMax M2.5 / M3 | 02-12 / 06-01 | M3 的官方定位是「第一个也是唯一一个把三样凑齐的开源权重模型」:前沿编码 + 1M 上下文 + 原生多模态(可操作桌面) |
| GLM-5.1 / 5.2 / 5.3(智谱) | 04-07 / 06-16 / 08-18 | 5.2 的发布说明写「支持 1M 无损上下文,显著改善长时程任务能力,减少上下文漂移与目标遗忘」;5.1 称可单次独立工作约 8 小时 |
| DeepSeek V4 / V4-Pro | 04-24 开源预览 / 08-13 Pro GA | 官方写明「针对 agent 能力的专门优化」,点名与 Claude Code、OpenClaw、OpenCode 集成,并放出 DeepSeek Harness(agent harness 开发者预览);1M 上下文为官方服务默认 |
| Kimi K3(月之暗面) | 07-16(权重 07-27) | 2.8T 总参 / 896 专家;1M 上下文;官方定位「为长时程编码、知识工作与深度推理构建」 |
| Inkling(Thinking Machines) | 07-15 | 975B 总参 / 41B 激活、1M 上下文、原生多模态。官方自我评价很克制:「Inkling 不是今天最强的模型,无论开源还是闭源」,定位是可定制的开源基座 |
Kimi 的 K2.7-code(06-12)可在第三方模型索引中看到,但没有找到对应的开源权重仓库——「K2.7 开源」未能核实,本页不列为开源权重。
1M 上下文、原生多模态、computer use、与主流 agent harness 兼容——这四项在 2026 年从「旗舰闭源专属」变成「开源权重标配」。厂商自我定位也从「追平上一代」改成「面向 agent 工作负载设计」。
2023–2025 年,「用开源权重跑 Agent」意味着接受明显的能力折扣:上下文更短、工具调用更脆、多模态缺失。自托管是数据主权与成本的选择,代价是能力。
2026 年这个等式变了。百万级上下文、原生多模态、computer use、以及与主流 harness 的兼容性,在中国实验室的开源权重里成了标配,且迭代节奏以月计。自托管从「打折的选择」变成「同档可选项」。
DeepSeek 那条尤其直白:官方文档点名与 Claude Code、OpenClaw、OpenCode 集成,并放出自己的 harness——开源方开始主动适配闭源运行时,方向与两年前相反。
把这条和 6 月的出口管制事件放在一起读,才是完整的:
两件事发生在同一年,不是巧合——它们共同改写了「依赖单一模型」这件事的风险定价。对做 Agent 平台的人,可替换性(模型、沙箱、协议)从优化项变成架构前提。
口径要克制:本页是汇总条目,各家的能力主张多为厂商自报,第三方实测尚未成体系。写结论时按「可用替代已经存在」记,不按「已追平」记——这两句话在工程上的含义差别很大。
一句话主线: 现在是 2026 年 9 月。这一页不是年表,是观察提纲——顺着 2024–2026 已经露出的缺口,列出值得盯的方向。厂商路线图、未交付的 JIT 凭证、未铺开的 Slack 之外表面,一律当假设,不当事实。有了一手来源(论文、官方公告、可复现仓库)再升格进里程碑表。
2026 已经把矛盾推到模型之外。2027 仍可能被模型层再改写一次,但只有改写了 Agent 能做什么的前提 才值得记进主线,例如:
这些在没有分数、没有复现、没有持续产品行为之前,只是问题,不是里程碑。
按本站六类,预先分类「如果发生,它算哪一种」,避免到时候被通稿带着走。
2026 年已经有三件事落地,这一条不再是「若」:
下一步盯什么:
页脚可以随学习往下加「已确认事件」小节。在那之前,这一页保持为提纲。