这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

四要素看发展历程

按四要素拆开:决策核心、控制循环、环境动作、观察与校验各自如何到位,以及何时同时成立。

定义把 AI Agent 收成四个必须同时成立的条件:大语言模型选择下一步、多步循环、对环境产生副作用、把观察写回后再决策。按年读时间线,容易把同一季度的模型发布、接口变更、产品演示和基准分数叠成一次「诞生」。按要素读,是把系统拆成四条可独立演进的轴线:

  1. 决策程序是什么(权重里的策略,还是上下文里的语言模型)
  2. 控制流归谁(代码写死的图,还是模型逐步选边)
  3. 副作用出不去(文本,还是工具 / 文件系统 / 进程 / GUI)
  4. 闭环如何闭合(有没有观察通道,以及有没有独立于演示的完成判据)

四篇只沿各自轴线写机制变迁。一条到位不等于 Agent;Agent 是四条在同一运行时里同时接通。材料与年份表仍以时间线为准。

1 - 决策核心:下一步由谁计算

策略是上下文中的大语言模型,不是规则、符号规划器或纯强化学习。本条解决「选什么」,不解决「转几步、改哪里、如何停」。

系统里真正在选下一步的那一段程序,才是决策核心。符号规划器、BDI 解释器、强化学习策略都能构成教材意义上的 Agent,决策对象却不是开放文本。那些系统放在前传。主线要的是:给定目标、工具 schema、上一步回执,不更新权重也能改写行为的语言模型。

一次前向只是条件语言建模。能补全、能对话,都还没有把「选择」接到环境。本条沿这条能力往下看:表示 → 上下文适应 → 指令契约 → 显式多步计算 → 工作集(窗口)与感知(视觉)→ 测试时计算。它解释 Agent 为什么在 2022 年之后才可能出现,不解释循环如何实现。

2017–2021:可条件化的生成器,还不是规划器

Transformer(2017)用自注意力去掉序列模型对逐步隐状态的依赖,训练可并行、模型可做大。没有可扩展的条件生成器,后面没有可讨论的 LLM 核心。它不包含工具、不包含终止条件。

GPT-3(2020)测到 in-context learning:任务说明和示例写进提示,行为即可偏移。Agent 把 Observation 当作工作记忆,用的就是同一机制——环境状态必须能被序列化进上下文。当时窗口约 2k–4k,指令服从差,工具调用只能赌模型吐出可解析字符串。

Codex(2021)把同一类模型接到可执行代码上。HumanEval 用测试衡量函数级正确性。编码 Agent 的前提是决策核心能产出「可运行、可判定」的文本;Codex 给模型,HumanEval 给尺子。GitHub Copilot 把能力做成 IDE 补全:有副作用,无目标循环,不是 Agent,但是 Copilot → Agent 这条产品线的起点。

2022:服从指令、引出中间计算、成为人机接口

预训练目标是网页续写。Agent 的输入却是祈使句、约束和 schema。InstructGPT(RLHF,API 默认换到 2022-01)把核心拧成「按意图答」。没有这一步,系统提示和工具说明都会被当成又一段网页。它仍是单次生成。

Chain-of-Thought 把中间步骤写进 token 序列,等于在解码过程里展开一层可被梯度(或提示)塑造的串行计算。这不是环境循环:没有 Action,没有 Observation。PaLM 540B 表明同一套提示在小模型上接近无效——当时「会分解」首先是容量问题,其次才是模板问题。Zero-shot CoT 把触发成本降到一句话,协议可复制,环境仍未接入。

ChatGPT(2022-11-30)把 RLHF 后的对话模型做成默认界面。观察 = 用户下一句,行动 = 再生成。按定义排除。后续所有运行时都假定操作者会用这种接口;它改变的是分发,不是执行语义。

2023–2024:工具链稳定性、工作集、感知、测试时计算

长链工具使用对决策核心的要求是:在多轮 schema、错误回执、部分文件之间保持目标,而不是每一轮重新聊天。GPT-4(2023-03)把这条门槛第一次推到可产品化。核心仍是一次(或多次独立的)补全,循环在宿主。

上下文长度是轨迹的工作集上限。约 4k → gpt-3.5-turbo-16k → GPT-4 Turbo 128k → Gemini 1.5 百万 token 量级。窗口不够,只能检索、截断、外挂记忆,每一步都丢状态;窗口够,仍不产生副作用。

Claude 3 / 3.5 Sonnet 提高编码与工具使用的默认水平,许多编码运行时换核心。GPT-4o 把视觉放进同一模型:Computer Use 的输入是像素,不是 DOM API。能看 ≠ 已点击。

o1-preview 把搜索式推理训练成测试时计算:延迟和费用换正确率,「想」不必写在明文 Thought 里。停机、工具、沙箱仍在宿主。把内部 CoT 当成已经实现 ReAct,会漏掉执行层。

2025–2026:核心足够之后,稀缺资源换位

o3 在思维链中选择工具,决策与「该不该调用」开始并进,副作用仍发生在运行时一侧。GPT-5 做路由:快路径 / 思考路径。编码专用权重与 Claude Code、云端 Codex 绑定——产品要的是能在沙箱里收工的决策核心,不是通用聊天模型。

2026 的主约束已不在「会不会选」:循环可跨小时、可开 PR。卡住的是凭证是否进沙箱、出站白名单、session 空闲后工作区是否还在。这些是身份与执行路径,不是再加一层思维链能消掉的。基准再涨几个点,不改变这条外移。

本条的边界

ChatGPT、GPT-4、o1、GPT-5 都是决策核心,不是 Agent。缺本条,其余三条无论多完整,对象仍是前传。只有本条,得到的是对话、补全或单次函数调用。核心就绪的意义只有一句:控制循环、工具层和观察通道终于有了可挂载的策略网络。

多步循环 写控制流何时从代码交到这个核心上。

2 - 多步循环:控制流的归属

下一步由模型选择且必须迭代至终止条件。区别于单轮补全、单次工具调用,以及路径在部署前写死的 workflow。

循环回答三个工程问题:谁决定下一步、状态保存在哪、何时停止。单轮问答、一次 Function Call、行级补全都不迭代,没有终止于目标的语义。多轮聊天也不是:状态是对话缓冲,观察是用户,行动是文本。

定义里的最小循环是:选动作 → 执行 → 写回观察 → 再选,直到完成、失败或人工介入。后来称作 ReAct,是因为 2022-10 的论文把这三元组写成可抄的文本协议。需要分开的另一条线是 Anthropic 2024-12 的划分:workflow 的边在代码里,agent 的边在模型输出里。多步流水线即使每步都调用 LLM,控制流仍不属于本要素。

提示词里的串行计算 ≠ 作用在环境上的循环

Chain-of-Thought 在 token 序列里展开中间计算,没有环境。ReAct 的 Thought 从这里接出,再接 Action / Observation。任务型对话(前传)也有多步,图在上线前闭合,槽位与 API 表固定。开放目标、未注册工具、失败后改计划,不在那张图里。

2022–2023:文本协议 → 进程内编排 → 无校验的自主循环

ReAct(Yao et al.)在 HotpotQA / ALFWorld / WebShop 上比较「只想 / 只做 / 交错」。交错更好,说明观察必须进入下一步,不能只靠内部 CoT。实现是字符串约定:模型吐 Action:,宿主正则或 JSON 解析,失败即掉步。没有 schema、没有事务、没有外部完成判据。ChatGPT 尚未发布;引用爬升发生在 2023,工程化滞后于 arXiv。

LangChain(2022-10 库,2023 成为默认胶水)把提示模板、工具包装、AgentExecutor 收成包。循环可复制,状态在进程内存和提示里。后来的批评针对抽象层过厚,不否定「当时必须有人把循环跑起来」。

AutoGPT、BabyAGI 把终止条件交给模型自己写的任务队列。四要素在形态上接通。缺的是:可靠解析、工作集管理、对「已完成」的外部检验。空转、重复失败、不可逆副作用,是无界循环的预期行为,不是意外。star 数度量传播,不度量完成率。

AutoGen 把多角色做成消息总线。控制流变成「谁对谁说话」。若所有角色只产文本,仍是对话;至少一方执行代码或外部调用,才有作用在环境上的循环。MemGPT 用操作系统式分页对抗窗口上限,延长的是循环能走的步数,不引入新动作。Assistants API 把 thread 当作托管状态机,循环上云,锁在一家 API。

SWE-bench(2023-10)给出仓库级完成判据,公开分数接近零。循环能转,与循环能交工,从此必须分开写。

2024–2025:人在环路的产品形态,然后是运行时吞掉编排

Cursor 等 IDE 助手把决策核心塞进编辑器。早期以短编辑为主,长循环后加。人批准每一步,控制流仍是循环,自主度低。定义允许弱自主;这是留存先起来的形态。Devin 路线把循环放到云端 VM,叙事是全自主,当时全量考卷与独立复现不足。

Building effective agents 把「图」和「模型选边」写开,用来抑制「一切上多 Agent」的架构通胀。多 Agent 是一种拓扑,不是更强的循环原语。

2025 年控制流的实现位置换了。Claude Code、云端 Codex、IDE / CLI Agent 模式内置 think–act–observe,应用方不再自写 AgentExecutor。Agents SDK 仍是库:编排、内置工具、tracing,进程仍是调用方的。A2A 把另一 Agent 当作可寻址端点,扩展的是循环的边界(MCP 管工具,A2A 管对端 Agent),生产互操作尚未成为默认。

2026:循环足够长之后,状态机露出基础设施语义

个体编码循环成为日常之后,时长进入小时级。Aries 把一次委派看成轨迹:多次推理、工具、沙箱、KV 状态,而不是微服务式请求。编排库解决不了存储、隔离和上下文税。Claude Tag 用频道线程当 session:同一套沙箱循环,换了委派面和可见性。控制协议没有新发明,生命周期和权限模型有。

本条的边界

循环是控制平面。只有循环,可以得到角色扮演或空转。观察若不是环境回执,循环在和用户聊天;若没有测试、屏幕或终端状态,循环没有停机条件,只能靠步数上限或账单熔断。协议写于 2022-10,可运行无界循环出现于 2023,可日常委派的运行时出现于 2025。Agent 不由本条单独宣布。

对环境行动 写副作用如何从「解析一段文本」变成可执行接口。

3 - 对环境行动:副作用的接口与执行边界

工具、文件、进程、GUI、网络请求。协议描述如何调用;沙箱描述在哪执行;身份描述以谁的名义执行。三者都不是循环本身。

对话只写 token。本条要求决策结果变成环境状态变化:调 API、改树、跑测试、点像素、发 HTTP。没有副作用,观察无从产生,第四条也没有输入。

有副作用仍可能不是 Agent。Copilot 改缓冲区,没有目标循环。单次 Function Call 有一次 I/O,没有「根据返回值再选」。Function Calling、MCP、Skills 是接线与装载,运行时才跑循环。分类上它们进协议,判定上它们不是 Agent。

工程上要盯三条边界:解析(模型输出如何变成合法调用)、执行(代码跑在谁的地址空间)、主体(凭证是用户的、服务账号的,还是 Agent 自己的)。

2020–2022:检索、解释器、提示词演戏

RAG 把文档读进上下文,流水线单次,无二次决策。WebGPT 在受控文本浏览器里 search / click / quote,有动作也有页面观察,终止于答题。MRKL 给出模块图:语言模型必须外挂知识与离散计算;实现私有。PAL 把推理编译成程序,副作用关在解释器里,任务是解题不是改仓库。Sparrow 带规则的网页问答。Copilot GA 让补全成为付费路径。

工具调用的主流实现是 prompt 约束:模型在自然语言里嵌 JSON 或伪 DSL,宿主 eval 或正则抽取。失败模式是幻觉字段、截断、注入。ReAct 同期仍走文本 Action。可解析的函数选择要到下一阶段。

2023:schema 化调用,以及「代码必须进沙箱」

Function Calling(2023-06-13)把 name + arguments 收进 Chat Completions。宿主校验类型、执行、把结果当 role=tool 写回。循环仍由调用方写。这是模型↔工具的第一种稳定方言;各家随后的 tool use 沿这条形状走。公告已写明:工具输出不可信,存在注入。接口不等于安全。

ChatGPT plugins 把同一模式做到终端用户,清单与鉴权私有。Code Interpreter 把 Python 放到云端隔离 VM:文件系统、包、图像是真环境。只要允许模型写代码,沙箱就从可选项变成执行边界——主机进程不能再直接 exec。

2024–2025:为循环设计的动作集,工具总线,专长装载

人用的 IDE 对 Agent 过宽(任意快捷键)又过窄(没有「运行测试并返回失败切片」这种原语)。SWE-agent 的 Agent-Computer Interface 按循环裁剪编辑 / 导航 / 测试。动作空间是设计物。

Computer Use(2024-10)把观察换成截屏,动作换成鼠标键盘。副作用在 GUI 进程,错误不可逆、难回滚。OSWorld 量的就是这类。Operator 给 Agent 独立浏览器,把预览收成产品;可靠度仍是预览级。视觉核心(GPT-4o)是输入前提,点击策略是另一层。

MCP(2024-11)把「每个模型厂商一份 JSON tool 表」换成模型↔资源的开放协议。它不管循环、不管停机。2024 年 server 少、热度低;2025 年多家接入 后才成为默认插槽。对照前传 FIPA ACL:先写标准再等生态可以空转;MCP 是产品已存在、再收成事实协议。

Agent Skills 用目录装脚本、约定和领域步骤,运行时按需加载。通用核心不变,动作清单晚绑定。它不是 RPC,是可版本化的专长包。

云端 Codex:一任务一沙箱,可并行、可开 PR。Claude Code:本机仓库 + shell。副作用的默认对象变成「一份可测的工作副本」,而不是聊天附件。

2026:主体与供给

动作接口够用之后,问题是名义和就绪。Cowork 把循环接到文件夹,主体仍是用户。OpenClaw 经自托管网关操作本机,权限面等于机器本身,暴露面进入主线。

Claude Tag 在频道里跑与 Claude Code on the web 同类的短寿沙箱。Agent identity 的命题是:异步多驾驶员下 act as the user 在授权、审计、回放上都不闭合,需要 Agent 主体、proxy 与 bundle。SpecBox 把沙箱冷启动放进循环的关键路径:意图预热、预取、缓存。环境未就绪,Action 只能阻塞——这是执行层,不是模型层。

本条的边界

本条区分 Agent 与聊天。schema、沙箱、GUI、MCP、Skills、身份,都在扩大合法副作用集合或收紧执行边界。任一接口单独存在,只是 I/O。动作由核心选择,嵌入循环,回执成为下一步条件。2023 解决可解析调用与代码隔离;2024–2025 解决开放工具总线和屏幕;2026 解决「以谁的名义、在是否已就绪的沙箱里」。Agent 在这些接口被同一运行时驱动之后成立,不在协议发布日成立。

反馈后再决策 写回执如何成为下一条件,以及完成如何被独立测量。

4 - 反馈后再决策:观察通道与完成判据

回执必须写回上下文再参与选择。另需独立于演示的任务基准,否则无法区分循环在转和目标已达成。

开环生成:解码结束即停。单次工具调用:把返回值转述给用户即停。本条要求闭环:Action 的结果成为下一步的条件,直到目标谓词为真、失败,或人打断。

两层不要并成一层。

层 在系统内的位置 回答的问题
观察通道 宿主把 stdout、HTTP body、截屏、测试日志写入下一轮提示 模型是否根据真实世界改主意
完成判据 基准、CI、环境断言,独立于模型自述 整段轨迹是否交付

ReAct 的 Observation 是第一层。SWE-bench 一类是第二层。没有第一层,循环在自言自语;没有第二层,星标和 demo 会代替完成率。

通道先于仓库级尺子

CoT 无环境通道。ReAct 把检索片段、仿真器状态、页面文本标成 Observation,下一步 Thought 以它为条件。解析仍脆弱,环境是论文集,但闭环语义已经写全。PAL 的通道是解释器返回值。WebGPT / Sparrow 的通道是页面,谓词是「给出带引用的答案」。

HumanEval(2021)把执行引入评价:pass@k 看测试,不看流畅度。对象是函数,不是 issue。它给第四条提供「用副作用结果打分」的早期形态,覆盖面不够支撑编码 Agent 叙事。

2023:通道进入产品;仓库谓词打到接近零

Code Interpreter 消费真实执行:图、表、异常栈进入下一轮。任务偏分析,环境是单沙箱,不是任意 monorepo。

SWE-bench(2023-10)的谓词是:在真实 issue 对应的测试上通过。公开系统接近零分。AutoGPT 类在第一层上转,在第二层上失败。从此「会转」和「能交」分列。忽略第二层,传播指标会系统性高估。

2024–2025:尺子收紧,通道按模态分叉

原版 SWE-bench 含不可解与含混题。Verified(500 道经确认可解)成为默认集。与 2023 分数不可横比:分母变了。刷 Verified 也不等于生产交付——分布、污染、脚手架都不同。

OSWorld 的谓词在桌面状态。Computer Use 的观察是像素,错误是点错按钮。测试失败可局部重跑;GUI 副作用回滚成本高。两条通道的信噪比不可互换。厂家自报 OSWorld 截图分处于低区间,与编码线后来的 Verified 分数不在同一数量级。

Terminal-Bench 断言最终容器状态,针对 CLI 运行时。SWE-bench Pro 加长、抗污染。GPT-5 在 Verified 上厂商自报 74.9%,在 Pro 统一脚手架上约 23%。同一决策核心,谓词变硬,完成率塌缩。用单一榜读「已可无人值守」不成立。

编码运行时(Claude Code、云端 Codex)把第一层做成默认:跑测试、读失败、再 patch。计算机使用线的第一层(屏)已通,第二层分数仍低。Deep Research 的通道是检索文档,谓词是带引用的成稿,不是仓库绿。

2026:观察的可见性与轨迹成本

循环跨小时之后,观察还有消费者:同事、审计、调度器。Claude Tag 以线程为 session,旁观是产品能力,不是日志边车。Aries 把轨迹(推理、工具、沙箱、KV)当成计费与容量单位:回执膨胀工作集,存储和隔离成为约束。组织侧缺少等价于 SWE-bench 的「频道任务」谓词——系统闭环了,治理闭环还没有。

四条同时接通的节点

按要素拆,是为了避免把发布会写成诞生。可核对的重合如下。

2022-10 协议层重合。 ReAct 在文本协议里同时写出核心、循环、动作、观察。执行靠解析,环境是基准,无产品级沙箱,无仓库谓词。同年 ChatGPT 只接通核心与对话,按定义排除。

2023 形态重合,谓词失败。 AutoGPT 接通四条;SWE-bench 显示完成率不可用。Function Calling 稳定动作解析,Code Interpreter 把执行观察引进消费级沙箱。路径存在,交付不存在。

2024 出现可引用谓词,以及两类环境。 长窗口 / 视觉加强核心;ACI 与 Computer Use 给出专用动作集;Verified / OSWorld 给出尺子。Devin、SWE-agent 四条成立;全量复现与子集营销必须分开记。MCP 当年只接通工具总线,不接通循环。

2025 编码运行时把最小循环做成日用原语。 读树、改文件、跑测试、再决策,弱自主(人可打断)仍满足定义。检索型、浏览器型产品同年接通四条,第二层弱于编码。框架(自建循环)和运行时(内置循环)在这一年必须分列,否则会把 LangChain 和 Claude Code 写成同类。

2026 个体任务上四条是默认配置;延伸发生在主体与供给。 Cowork / Tag / OpenClaw 换环境,不换最小循环。身份、bundle、沙箱调度是第三、四条在组织尺度的约束:以谁的名义产生副作用,谁消费观察。不是第五要素。

核心(2022 对话接口之后可分发)、循环(协议 2022-10,运行时 2025)、动作(schema 2023,总线与 GUI 2024–2025)、观察(协议内 2022-10,仓库谓词 2023-10)不同步。AI Agent 是四条在同一软件系统中同时为真的配置,不是其中一条的发布日期。年份表与原文见时间线。