跳到正文
动手理解 · CONCEPT LAB

推动一次受控 Agent 闭环,区分提案、执行与验收

Agent 的稳定接口是“状态—动作—观察—验收”。模型选择候选下一步,程序负责授权和副作用,真实结果写回 workflow state;连续输出思维并不会自动变成可靠 Agent。

已经发生 正在观察 接下来
01 / 04

状态传导图

GOAL 目标与验收
STATE 版本化状态
EVID 证据与来源
TOOLS 工具 Schema
PACK 本轮上下文

全部历史原样塞入通常更贵也更乱,关键 ID、确认凭证和收据要另存结构化状态。

观察点 01

从真实状态重建本轮最小可信工作集

Host 从目标与验收条件、版本化 workflow state、带来源证据、工具 Schema 和预算中选出 context packet。给模型的权限提示只是投影,真正授权仍由执行平面强制检查。

上下文相关性主动筛选
历史原样堆积被压缩
此刻要记住

上下文工程决定模型看到什么;它不能替代状态存储或权限系统。

应用 · Agent / 智能体

Agent:模型选择下一步,程序守住状态与权限

Agent(智能体)不是一颗会自动驾驶的“大脑”,而是一套运行时系统:模型提出回答、工具调用或子任务,程序校验权限并执行,把真实结果写回状态,再决定继续还是验收。自主性来自可选择下一步,可靠性来自模型之外的控制面。

一条可审计的 Agent 闭环:模型提案程序执行分离;“模型说完成”不等于环境终态已满足,拒绝与失败也必须成为下一轮可见状态。
01 · 是什么

Agent 不是模型,而是模型嵌入受控闭环

模型本身产生输出;宿主程序把结构化工具调用转换成真实操作,再把结果交回模型。Agent 指的是这套模型 + 工具 + 状态 + 控制循环系统:模型可在授权范围内选择下一步,但每个外部副作用仍由程序执行与约束。

无外部工具的模型调用
问「下周去北京最便宜的高铁票多少钱」→ 它可以基于当前上下文与参数知识回答或说明不确定,但无法验证实时余票与价格,也不会产生订单
Agent(受限的办事助手)
给目标「找下周去北京的低价高铁」→ 它可查车次 → 比价 → 提出候选;涉及日期变更、付款或下单时,应展示关键参数并等用户确认,服务端再校验权限。
Agent 的系统级类比:普通模型调用像给路线建议的问路人,Agent 运行时像受道路规则、驾驶权限和控制程序约束的行程系统
这是系统级类比,不是说模型本身握着方向盘:模型提议路线,程序按工具契约、权限和确认结果执行,并用真实路况更新状态。
别把自主性和权限混为一谈
自主性是模型能否根据观察选择下一步;权限是系统允许它读什么、写什么、花多少钱。一个 Agent 可以自主搜索 20 次,却没有任何下单权限;也可以只走固定两步,却拥有高风险写权限。可靠设计通常让读操作较自动,让付款、删除、发布等写操作进入确认与审计流程。
02 · 核心循环

稳定接口不是“思维链”,而是状态 → 动作 → 观察 → 验收

许多工具型 Agent 都可抽象成一个循环:根据状态提出下一步、执行获批动作、读取真实观察,再判断继续或停止。经典 ReAct(Reasoning and Acting,推理与行动交错)论文用显式文字推理轨迹与动作/观察交错;现代系统不必暴露完整思维链,固定 workflow、planner-executor 和隐藏推理模型也能实现同一运行时接口。

运行时循环 (ReAct 是它的一种经典实现;红色虚线=未完成则带着观察继续)

目标Goal 🧠 决策Reason / plan 🔧 行动Act · 调工具 👁 观察Observe · 看反馈 未完成:观察写回状态,再选择下一步 提议完成 ✅ 验收 · 候选结果
假设例子目标「今天北京天气适合跑步吗」→ 决定需要实时数据 → 行动调天气 API → 观察假设返回「26℃、空气良、下午阵风」→ 判断证据已足够 → 完成给出带时间与来源的建议。26℃只是演示值,不是本页声称的实时天气。

六份运行时契约,缺一份就容易把“会说”误当“会做”

契约必须明确什么
Task 任务目标、输入、允许的范围,以及失败时怎样退出
State 状态步骤、版本、pending/done、确认凭证与已产生的收据;不是一段模糊聊天摘要
Action 动作工具名、JSON Schema、风险级别与可重试语义;模型输出只是候选动作
Observation 观察真实结果、错误、来源、时间和执行收据;不可信工具内容仍按数据处理
Control 控制授权、确认、预算、超时、取消、幂等与人工接管
Completion 验收用环境终态和证据判断完成;不能只看 Agent 是否输出“已完成”
03 · 组件

四类常见功能组件

下面的“大脑、工具、记忆、规划”是便于入门的功能拆分,不是所有框架都采用的标准四层架构;生产系统还会单列状态机、权限、预算、观测与评测。

🧠 决策模型 LLM · Large Language Model 大语言模型

根据当前状态提出下一步、工具参数或最终回答。端到端能力不只取决于模型,还取决于工具质量、上下文、控制器和验证。

🔧 工具契约 Tools / Function Calling

搜索、代码、数据库、API(Application Programming Interface,应用程序接口)与 RAG 等能力通过名称、参数 Schema 和返回结构暴露。function calling(函数调用)只让模型按格式提出调用,执行仍在模型之外。

🧠 状态与记忆 State / Memory

workflow state保存当前步骤和副作用收据;对话历史保存交互;可选的持久记忆保存获准跨会话使用的偏好、事实或案例。三者生命周期与一致性要求不同。

🗺️ 规划 Planning

把目标拆成带依赖、前置条件和验收标准的可修改假设。每次观察都可能让旧计划失效,因此生产系统还要支持重规划、取消和人工接管。

模型的 tool_call 是提案,不是授权。幂等键必须在副作用之前生效:同键同意图/参数返回首次收据和结果,同键不同意图/参数才报冲突。网络超时后用同一键查询或安全重试,不能让模型猜“成功还是失败”;审计可回查,但不代表可以重放副作用。
上下文工程
每一步都要选择哪些系统指令、工具说明、检索资料、历史消息和长期记忆进入有限上下文。它与 prompt 工程互补:前者管理“给模型看什么”,后者管理“如何表达任务”。但给模型看的权限说明只是投影,真正授权必须由执行平面在调用时强制校验。
03.5 · 记忆 & 上下文

记忆与上下文工程:长任务撑不撑得住的关键

长任务的失败可能来自决策模型,也可能来自状态丢失、上下文噪声、错误记忆或工具结果未校验。把全部历史塞回去并不等于“记得好”;关键是保存可验证状态,并在需要时选回正确版本的信息。

Write、Select、Compress、Isolate 围绕可信 workflow state 循环。订单号、幂等键、确认收据和未完成项应保存为结构化状态,不能只藏在有损摘要里;恢复 checkpoint 也不能盲目重放已产生副作用的步骤。
🧠

一种常见类比:语义、情景、程序

Memory Typology
短期状态通常放在当前上下文或 workflow state;持久记忆放在数据库、文档或图中,再按需检索。研究与工程文章常借用认知心理学术语做下面的类比,但实现边界并不统一:
语义记忆 Semantic · 事实

记住「是什么」:经用户同意保存的偏好、组织事实、实体关系。
例:profile 记录「用户是素食者」,并附来源与更新时间。

情景记忆 Episodic · 经历

记住「过去怎么做的」:成功/失败的任务轨迹、案例。
例:「上次修这个 repo 先跑 pytest 再改」。

程序性知识 Procedural · 规则

描述「该怎么办事」:系统提示、工具规范、规则文件或学到的策略。配置文件本身更准确地说是外部指令,不等同于模型权重里学会了技能。

📰 情景记忆仍是研究问题
ICLR 2026 正式论文 REMem 把经历构造成带时间信息的 hybrid memory graph,并在 4 个情景记忆 benchmark 上评估。作者报告,相对所选现有系统,情景回忆绝对提高 3.4 个百分点、情景推理提高 13.4 个百分点。这是该论文设置内的结果,不证明所有 Agent 都应改用图记忆。

🗂️ 四种工程实现,不必先选“记忆产品”

实现适合保存什么 · 关键风险
Workflow state / checkpoint订单号、当前步骤、执行收据、幂等键;强调事务一致性与可恢复,但恢复时不能把已完成副作用当作普通文本重新播放
结构化 profile用户明确同意保存的偏好与属性;字段要有来源、更新时间、删除与覆盖规则
向量/全文检索从长历史或案例库找相关片段;召回可能遗漏,也可能取回旧事实,需保留时间与 provenance
时间图 / 事件日志表达“谁在何时做了什么”及事实有效期;适合跨事件推理,但构建、纠错和权限管理更复杂

论文例子:MemGPT 把有限上下文与外部存储类比为分层内存;Mem0 的 arXiv 论文在 LOCOMO 的特定 full-context 基线对比中报告 p95(第 95 百分位)延迟低 91%、token 成本省逾 90%。这些数字取决于其基线、模型与实现,不是“接入记忆层”必然得到的收益。

🎛️

上下文工程的「四板斧」

Context Engineering
context engineering(上下文工程):在 Agent 每一步选择足够且可信的信息进入有限上下文。下面用 Write / Select / Compress / Isolate 做一套实用检查表;这是工程分类,不是唯一标准。

✍️ Write 写出去 + 🔍 Select 选进来

  • Write:把状态存到上下文之外(scratchpad、文件、外部记忆),别全堆在对话里
  • Select:每一步只检索注入这步真正需要的(工具、资料、记忆)

🗜️ Compress 压缩 + 🧩 Isolate 隔离

  • Compress:对较早历史做总结或结构化提取;摘要会有损,关键 ID、约束与未完成项应另存状态
  • Isolate:把可独立子任务交给独立上下文,再以结构化结果回传;依赖密集任务不一定适合拆分
为什么「上下文窗口大」≠「记忆好」
Lost in the Middle 论文显示,模型利用长输入中信息的位置会影响表现,相关信息放在中间时常更差。更长上下文也可能混入旧的、矛盾或无关内容。因此要通过检索、状态表、压缩与隔离主动管理;具体退化幅度随模型和任务变化,不能用一个百分比概括。
手算一个上下文预算
假设本轮上限预算 16k token:系统指令 2k + 工具定义 4k + 当前问题 1k + 原始历史 12k = 19k,超出 3k。不能只从末尾硬截,因为可能删掉订单号;可把旧历史压成 5k 摘要,并把订单号/确认状态另存 0.5k 结构化 state,总计 2+4+1+5+0.5=12.5k,还留 3.5k 给工具结果和输出。
缓存不是记忆,也不会减少上下文本身
Prompt/prefix cache 可以复用相同前缀的计算,从而降低重复 prefill 的延迟或价格,但相同 token 仍在上下文窗口里;tool search 是少加载无关工具定义,context editing 是移除旧结果,解决的是不同压力。缓存不会替你选择正确事实,也不等同于跨会话记忆。价格、前缀门槛与有效期按供应商和模型变化,部署时查当前文档。这正好接上 推理部署 里的 KV Cache。
时间冲突例子记忆库里同时有「2025-01:用户是素食者」和「2026-06:用户现在吃鱼,但仍不吃其他肉」。系统若只按语义相似度取第一条,就会给错菜单;应按来源、有效时间与用户最新确认合并为“鱼素”,并允许用户查看和删除记忆。
04 · 进阶范式

没有一种编排范式适合所有任务

范式选择取决于任务依赖、可验证性、并行度与预算。能用确定性 workflow 解决时通常更容易测试;开放任务才值得付出动态 Agent 的额外延迟、成本与不确定性。

范式核心思路
ReActReasoning and Acting原论文让显式文字推理轨迹与动作、观察交错;工程上可保留状态/动作/观察接口,而不要求展示完整思维链
Plan-and-Execute先规划后执行先产生可修改计划,再逐步执行和重规划;适合依赖关系较清楚的任务,但初始计划可能错,额外规划调用也增加成本
Reflexion自我反思失败后反思「哪错了」并写进记忆,下次重试时改进(只写进记忆提示,不更新模型权重)
ToTTree of Thoughts 思维树显式探索、评估并回溯多个中间候选;原论文在特定难题上展示收益,代价是更多采样与评估,并非所有 Agent 都需要树搜索
Multi-Agent多智能体协作把可并行方向交给多个独立上下文。Anthropic 报告其 Claude Opus 4 主 Agent + Claude Sonnet 4 子 Agent研究系统在内部 research eval 比单 Agent Opus 4 高 90.2%,而多 Agent 相对普通 chat 约用 15× token;依赖密集的编码任务不一定适合,数字也不能外推到任意架构
工具标准化MCP · Model Context Protocol 模型上下文协议MCP 标准化 client/server 间对 tools、resources、prompts 等能力的发现与调用;它减少接口适配,不自动解决授权、安全或业务编排
怎么变强Agentic Reinforcement Learning更强 Agent = 模型侧(推理/工具使用训练,含 Agentic RL) + 系统侧(工具/记忆/规划/上下文工程/评测/安全),不是只靠 RL
05 · 评测

评 Agent,要看环境终态,也要看它怎么到达

一次评测至少包含 task(任务)trial(一次试验)agent harness(运行时封装)environment(环境)grader(判分器)。模型、提示、工具和控制循环共同构成被测系统;只公布模型名,结果通常不可复现。

“我已经订好”不等于成功
Agent 输出「预订成功」,但数据库里没有 reservation:outcome(环境终态)失败。判分器应读取真实数据库或执行收据,而不是相信自然语言自报。
结果对,也可能不合规
数据库状态正确,但 Agent 读取了无权访问的资料或绕过确认:结果通过,策略轨迹失败。效用与安全必须分别计分,不能相互抵消。

五层评测面板

看什么一个可执行指标
Outcome 终态环境是否真的满足验收条件,证据和收据是否一致任务成功率、字段级状态差异、测试通过率
Trajectory 轨迹工具、参数、顺序、来源与策略是否合规;是否出现越权尝试禁止动作数、参数准确率、证据覆盖率
Reliability 可靠性同一任务多次运行是否稳定,而非只挑一次成功样本多次 trial 的均值、区间,以及连续成功率
Recovery 恢复超时、限流、工具报错、过期确认和中断后能否安全继续恢复成功率、重复副作用数、人工接管率
Resources 资源为了成功花了多少模型、工具、时间与人工预算token、工具调用数、p50/p95 延迟、单次成功成本
为什么要多次试验
假设单次成功率是 80%,并暂时假设各次独立,那么连续 4 次都成功的概率是 0.8⁴=40.96%。这只是说明稳定性压力的手算例子,真实试验会受任务相关性影响;τ-bench 因此使用 pass^k 看 k 次试验全部成功的比例,而不是只报“至少成功一次”。

常见 benchmark 测的是不同切面

基准主要环境与判分边界
SWE-bench来自 12 个 Python 仓库的 2,294 个真实 GitHub issue;在代码仓库中修复问题,以测试执行判分
τ-bench动态模拟用户、领域 API 与策略约束;比较最终数据库状态,并用 pass^k 衡量一致性
GAIA通用助手问题,要求组合推理、多模态、网页浏览与工具使用;不等于业务写操作评测
OSWorld369 个真实计算机环境任务,以执行后的应用状态判分;不等于开放世界所有桌面工作
AgentDojo97 个现实任务与 629 个安全测试用例,把工具数据中的提示注入与正常任务效用一起测试
METR 的“时间跨度”别读反
截至本页核查,METR Time Horizon 1.1 的 50% time horizon是:按人类专家完成任务所需时长排序后,拟合模型预测 Agent 有 50% 成功率的任务时长;它不是 Agent 实际运行了多久。当前任务主要是软件、机器学习与网络安全,METR 还明确提醒现有套件对人类耗时超过 16 小时的估计不可靠。
06 · 现实的骨感

Agent 落地的 6 个坑

Agent 的可靠性来自模型与系统共同设计。下面这些风险会随任务、权限和工具而变化,不能只靠“换更强模型”解决。

累积误差 Error Compounding

长程任务一步错、步步错——粗略假设每步独立、95% 对且任一步错即失败,10 步成功率≈0.95¹⁰≈60%。越长越脆(真实中有重试/校验会偏离这个简化)。

缓解:缩短链路、加校验/反思、关键步人工确认。

工具调用出错 Tool-Use Errors

参数填错、调用不存在的工具、误解返回值。

缓解:清晰的工具说明、参数校验、错误重试。

成本与延迟 Cost & Latency

每步都调一次大模型,多轮下来又慢又贵。

缓解:小模型分流、缓存、限制步数。

上下文爆炸 Context Bloat

长任务把历史全堆进上下文,又长又贵还「读不准」。

缓解:上下文压缩、长期记忆(检索)、分段总结。

安全风险 Safety / Prompt Injection

Agent 能产生真实副作用,网页、邮件或文档中的间接提示注入可能诱导其泄露数据或误用工具。CVE-2025-32711(EchoLeak)的 CVE(Common Vulnerabilities and Exposures,通用漏洞披露)与 NVD(National Vulnerability Database,美国国家漏洞数据库)记录确认了 M365 Copilot 中可经网络导致信息泄露的 AI command injection,且不需用户交互。

缓解:最小权限、数据流限制、沙箱、写操作确认、参数校验、allowlist 与审计;尽量不要让同一执行体同时拥有“读私密数据、读不可信内容、无约束对外通信”。

评测错对象 Evaluation Blind Spots

只看最后一句或只跑一次,会漏掉环境未生效、轨迹越权和偶发失败;只换模型却改变 harness、工具或环境版本,也无法公平归因。

缓解:按五层评测面板固定任务、环境、运行时和判分器版本,保存轨迹与收据并重复试验。

速查表

一张表回顾 Agent

问题答案
Agent 是什么模型在程序控制的循环中选择下一步、调用获批工具、读取结果并更新状态的系统
和普通模型调用的区别宿主程序会把结构化调用变成外部行动,并在预算、权限和停止条件内继续多步执行
核心循环状态 → 候选动作 → 受控执行 → 观察 → 验收/继续;ReAct 是经典实现之一,现代系统也可用固定 workflow 或 planner-executor
常见功能组件决策模型 · 工具 · 状态/记忆 · 规划;生产系统还需权限、预算、观测和评测
进阶范式Plan-and-Execute、Reflexion、ToT、Multi-Agent
和别的主题MCP 可标准化能力接口 · RAG 可作为检索组件 · Agentic RL 是训练工具使用/决策能力的一类方法,不是唯一来源
怎样判断完成核对环境终态和证据,再单独检查轨迹合规;模型输出“完成”只是一项提案
最大的坑累积误差、状态过期、重复副作用、成本延迟、提示注入和只看最终文本的错误评测
来源与核查

论文、官方工程报告与安全记录

本页于 2026-07-14 核查。Agent 产品、模型和榜单变化很快,因此正文优先引用可迁移的运行时机制;厂商内部 eval、论文实验与动态能力趋势都只按明确的模型、基线、任务和更新时间引用。

主题一手来源本页如何使用
Agent / workflowAnthropic: Building effective agentsTrustworthy agents in practice(2026-04-09)区分预定义 workflow 与模型动态决定过程的 agent;自主性不等于权限或可靠性
ReActYao et al., ICLR 2023原论文交错显式文字推理轨迹与动作/观察;本页不把暴露完整思维链说成现代 Agent 的必要条件
工具执行契约Claude Platform: How tool use worksOpenAI Agents SDK: Human-in-the-loop模型发出结构化请求而不自行执行;敏感调用可按 call ID 暂停、批准/拒绝和恢复
幂等与安全重试AWS Builders’ LibraryStripe: Idempotent requests幂等键在副作用前绑定同一意图;网络结果未知时用同一键查询或重试,而不是生成新请求
规划与反思ReflexionTree of Thoughts说明 Reflexion 的语言反馈写入上下文记忆而非更新权重;ToT 是带搜索预算的实验方法
记忆系统MemGPTMem0(arXiv)REMem(ICLR 2026)分层内存是类比;延迟、token 与情景记忆增益都限定在各论文的基线和任务内
上下文工程Anthropic: Effective context engineeringClaude Platform: Manage tool contextOpenAI Agents SDK: Sessions每轮重建最小高信号工作集;tool search、缓存、context editing 解决不同 token 压力;对话历史与业务 state 不是同一层
长上下文Lost in the Middle, TACL 2024在论文测试的多文档问答和键值检索中,相关信息位置会影响利用效果;不外推统一跌幅
多智能体Anthropic 工程报告限定 Opus 4 主 Agent、Sonnet 4 子 Agent、内部 research eval 与相对普通 chat token 口径
安全NVD: CVE-2025-32711Microsoft 安全公告OWASP LLM06:2025 Excessive AgencyAgentDojo, NeurIPS 2024用已登记漏洞说明网络信息泄露;按最少功能、最小权限和完整授权中介缓解过度代理,并用 AgentDojo 同测正常效用与提示注入
Agent 评测方法Anthropic: Demystifying evals for AI agents(2026-01-09)采用 task/trial/grader/trace/outcome/harness 定义,多次试验,并把模型与 agent harness 作为整体评估
能力基准SWE-benchτ-benchGAIAOSWorld分别限定为代码修复、策略约束业务交互、通用助手和真实计算机环境,不引用快速变化的榜首分数
任务时长趋势METR Time Horizon 1.1截至 2026-05-08,解释 50% horizon 的人类任务时长口径、任务领域范围,以及当前 >16h 测量不可靠