智能体AI与智能体工程
智能体AI不是给大模型换一个“自主”名称,而是把感知、状态、目标、计划、工具、记忆、权限与反馈接成能够在环境中连续运行的系统;智能体工程则追问这条系统链怎样被设计、测试、监控、撤销和追责。2006年前后,BDI程序、机器人中间件与统一环境接口先把“代理”从哲学角色变成可执行软件;DQN、A3C和AlphaGo又证明策略能够从交互中学习。2022年后的ReAct、工具学习、长期记忆、多智能体编排和代码代理,把自然语言模型推入真实软件与数据环境,也把错误从一句答错升级为一串有权限的错误动作。下面二十条按工程接口的变化排列:每条都同时核对能力读数、运行边界和失控条件。
第一幕完成的是“代理可执行化”。信念与意图被写成程序状态,消息协议和机器人节点成为可复用部件,模拟环境开始提供统一的观测、动作与奖励接口。深度强化学习随后把从像素到动作的策略学习做成共同基线。此时的代理通常只在封闭任务中行动,但状态、接口、复现实验和并行训练这些后来被称为智能体工程的问题,已经逐一出现。
甲、BDI与AgentSpeak:意图第一次成为可调度程序状态BDI and AgentSpeak: Intentions Become Schedulable Program State
早期“智能代理”常以理性、自治和目标导向来定义,但这些词并不告诉程序员某个新感知到来时该执行哪段代码、旧计划何时中止、两个目标冲突怎样排序。BDI路线把代理内部状态拆为信念、愿望和意图;AgentSpeak进一步用事件、上下文条件与计划体描述反应,使抽象的“我要做什么”落到解释器可以逐步调度的对象。Jason把这套语义做成可运行平台。
这条转向锁定的命题是:决定目标型软件是否真正成为代理的只有承诺状态能否被程序读取、推进与撤销,而不是界面是否像人说话。意图不是一句自然语言愿望,而是一份带触发条件、候选计划、优先级和失败分支的运行账。BDI把“已经决定做”与“仍然希望做”分开,使系统可以解释为什么此刻继续某一计划,也能在前提失效时放弃它。由此,代理工程第一次拥有介于业务规则与底层动作之间的中层控制结构。
Jason的执行周期会选取感知或消息产生的事件,寻找上下文成立的相关计划,再把被选方案加入意图并逐步执行;多个意图可交错推进。这个结构比单纯条件—动作表多出承诺管理,也比全局规划器更适合持续变化的环境。Bordini等2007年的专著系统给出AgentSpeak语义、环境接口与多代理通信,成为教学和工程实现的共同参照。可核对的重点不是某个竞赛分数,而是程序轨迹能够回答“哪一条信念触发哪一项计划、哪次失败改变哪一项意图”。
BDI的边界在于世界必须先被符号化。信念库收不到的传感变化、计划库没有的例外、上下文条件误写的隐含假设,都不会因解释器严谨而消失。若计划优先级只追求短期完成率,系统越忠实维护意图,越可能坚持一个已不合时宜的目标;若多个代理各自合理,却没有共享规范,局部承诺还可能制造全局冲突。可执行语义证明的是“程序按规则走”,不是“规则代表了正确世界”。
现代语言模型代理重新遇到同一问题:提示中的“你是一个研究助手”并不等于系统具有稳定状态。工程上应把目标、待办、已完成、工具回执、撤销条件和权限分别保存,并让每一步输出引用当前状态版本。若只把整段对话当记忆,模型会把愿望、事实和旧计划混在同一上下文中。一个最低验收法是故意让外部前提在执行中途失效,检查代理能否定位受影响的计划、停止后续动作并留下可重放记录,而不是继续用流畅语言完成错误任务(Jason 2007)。
它与第357号多智能体系统第三条“可执行规范:协议与承诺应成为代理可检查状态”是同一接口的两面:该条强调代理之间的承诺,本条强调单个代理内部的意图。二者合并时,内部状态与外部承诺必须能相互核对;代理若取消意图,却没有向协作者撤销承诺,系统层仍会把旧任务当真。Jason 2007年的事件—计划—意图轨迹可作为复查锚点,也提醒今天的代理框架:自然语言计划若没有显式状态机,无法单靠叙述获得承诺语义。
乙、面向代理的软件工程:从聪明算法转向生命周期Agent-Oriented Software Engineering: From Clever Algorithms to a Lifecycle
多代理研究早期常从协商算法或通信语言开始,论文能证明策略在一个模型中成立,却很少说明几十个代理由谁定义、如何发现服务、协议版本怎样升级、消息超时后谁负责。Prometheus方法把系统规格、体系结构与细节设计串成开发流程,用场景、目标、角色、感知、动作和协议等工件连接需求与代码;JADE则依照FIPA风格提供代理容器、目录服务和消息传输。代理由此不再只是算法实验,而成为需要安装、集成、测试和维护的软件系统。
这一转向的强命题是:决定代理方案能否进入真实组织的只有生命周期工件是否闭合,而不是单个策略在模拟中有多高回报。角色模型说明谁承担哪项能力,交互协议说明消息次序与异常分支,部署图说明代理落在哪台机器,测试用例则核对系统目标能否由局部行为实现。只要其中一层缺失,研究原型就可能在演示时有效、换环境后无法诊断。智能体工程因此天然跨越需求工程、分布式系统和人机协作(Prometheus 2004)。
JADE把每个代理放进容器,通过Agent Management System与Directory Facilitator完成身份和服务登记,并以ACL消息交换内容;Prometheus Design Tool则让设计工件可追踪到代码骨架。这里没有一个可炫耀的“准确率”,但有更硬的工程读数:协议消息能否追到发送者、会话和本体,角色变更能否定位受影响计划,异常是否在设计阶段就有处理路径。这些机制把原先散在研究者头脑中的组织假设写入可检查制品。
方法学也会制造形式主义。设计图画得完整,并不保证运行中的代理遵守;FIPA兼容的消息格式也不保证双方理解同一语义。若团队把所有场景都冻结在前期,环境变化越快,文档越完整反而越可能成为过期权威。代理之间的涌现行为还可能绕开角色图,尤其当学习组件在部署后改变策略。传统面向代理方法较少处理模型漂移、概率输出和不可复现的语言生成,这正是今天重建该学科时必须补上的层。
现代工程可保留Prometheus的追踪思想,但把工件改为可执行合同:工具采用模式约束输入输出,消息携带会话与权限,策略版本进入轨迹,失败可在沙箱重放。需求不应写成“代理自动完成采购”,而应拆成可观察状态、允许动作、不可越界规则、需要人工确认的阈值和终止条件。上线前还要用故障注入测试超时、重复消息、工具返回矛盾和协作者退出;系统若只能在顺利路径上运行,仍未完成代理工程。
它与第255号软件工程第十八条“从创造到验证的转移”形成直接接口:代理能生成更多计划和代码后,稀缺资源转为验证、集成与责任判断。区别在于普通软件的控制流主要由程序写定,代理会在运行时选择路径并调用外部工具,所以测试对象必须从最终输出扩大到整条轨迹。一次成功演示不能替代协议覆盖、回滚演练与权限审计;Padgham与Winikoff 2004年的工件链可作为历史基线,再由现代轨迹日志补上学习系统的动态部分。
丙、ROS:智能从单体程序拆成可替换节点ROS: Intelligence Decomposed into Replaceable Nodes
机器人软件曾紧贴单台机器:相机驱动、坐标变换、定位、路径规划和控制器由同一团队写进一个进程,换传感器或机械臂就要重接整条链。ROS没有把自己定义为传统操作系统,而是异构计算集群之上的结构化通信层。节点、主题、服务、参数和包让不同进程以约定消息连接;机器人“智能”因此从一块不可分的程序变成可以观察、替换与复用的组件网络。
这条转向的命题是:决定实体代理能否扩展的只有感知—规划—动作部件是否通过版本化接口解耦,而不是单个控制算法多聪明。节点边界允许团队分别开发定位、地图、导航和抓取,也允许把真实传感器替换为仿真器进行测试。消息图同时成为一种运行结构:故障可以定位到发布者、订阅者或坐标系,而不必把全部异常归为“机器人表现不好”(ROS 2009)。
Quigley等2009年的论文明确说明ROS提供的是宿主操作系统之上的通信层,并展示工具、库与应用软件如何共享。它的历史读数不是某个任务成功率,而是生态规模和接口复用:一个导航包可服务不同底盘,一套bag记录可重复播放给新版算法,一张计算图可在运行中检查消息流。rosbag、tf与包管理把数据、坐标和依赖变成一等对象,为后来的具身代理、仿真到现实迁移和远程诊断提供了共同底座。
接口也带来新的错觉。节点都在运行不等于时间同步正确;消息送达不等于坐标系一致;复用包不等于它适合当前安全等级。ROS 1对实时性、安全和多机器人网络的支持有限,分布式节点越多,时延、丢包、版本漂移和依赖供应链的故障面越大。若团队只监控每个节点是否存活,系统可能在所有绿灯下持续发布互相矛盾的世界状态。
ROS 2引入DDS、服务质量策略、改进安全与生命周期节点,正是把“能通信”推进到“通信属性可配置”。面向智能体工程,应为每条关键消息定义频率、截止期、持久性、可信来源和过期处理;动作接口应支持取消、幂等与安全停机。语言模型若通过ROS调用实体设备,还必须经过权限网关与参数边界,禁止把未经验证的自然语言直接翻成电机命令。故障演练需同时注入传感器延迟、坐标跳变和重复动作,观察系统是否进入可控降级。
它与第051号机器人学第一幕丁“开源生态与仿真器”同名相邻,但本条把ROS视为智能体工程的组件边界,而不只是机器人开源史。与第251号操作系统与体系结构第十二条“加速器的虚拟化与调度”对接时,还可看见代理计算从设备管理到模型服务的共同问题:资源必须隔离、调度和计量。ROS 2009的节点图提供历史锚点;今天的代理若没有同等清晰的工具图、状态图和取消语义,就仍比成熟机器人中间件更难维护。
丁、ALE与统一环境接口:代理开始在同一世界受测ALE and Unified Environment APIs: Testing Agents in the Same World
强化学习结果曾散落在各研究组自建任务中:不同模拟器、动作定义、计分、训练预算和终止规则,使两个“最先进代理”无法放在同一张表上。Arcade Learning Environment把Atari 2600模拟器包装成统一接口,让代理从屏幕帧接收观测、在最多18个离散摇杆动作中选择,并由游戏得分获得奖励。2013年论文报告超过55款游戏的基线,意图不是证明Atari代表世界,而是提供一个多任务、可复现的共同试验场。
这条转向的单因命题是:决定代理算法能否积累公共证据的只有环境与评测协议是否可重复,而不是单篇论文中最高分有多高。统一API把reset、step、observation、reward和done固定下来,研究者才能替换算法而保持任务接口。环境因此不再是论文背景,而成为决定结果含义的实验仪器;版本、随机性、动作重复和训练帧数都必须像试剂批号一样记录。
ALE以60帧每秒模拟原游戏,完整动作空间有18个离散动作,模拟可加速到约每秒6000帧。它向数百个Atari环境提供接口,并在55款以上游戏上报告基线。OpenAI Gym在2016年把同一思想推广到控制、Atari和其他任务,以统一环境类降低算法切换成本。这些读数说明“通用代理”第一次可以在一篮子不同任务上使用相同代码受测,而不是每换游戏就重写感知与动作管道。
共同接口也会把社区锁进共同盲点。Atari奖励由游戏设计者给定,动作离散、观测无真实成本、失败可无限重启;它不能代表开放世界中的权限、不可逆后果和含混目标。早期评测还受确定性模拟器、起始状态和无操作动作影响,代理可能记住可重复轨迹。若所有团队围绕同一排行榜优化,分数越高,研究问题反而越容易收缩为对基准漏洞的适配。
Machado等2018年推动sticky actions等随机性与更严格协议,表明环境本身也必须版本化和审计。今天设计语言模型代理基准,应固定工具模拟器、初始数据库、网络快照、权限与评分器,同时保留隐藏任务和时间外测试。还要分别报告成功率、步骤、成本、重试、违规动作与恢复能力;一个代理若用十倍调用换来高一分,工程上未必更好。对于会修改真实状态的任务,评测环境必须提供事务回滚或一次性沙箱。
它与第046号强化学习第一幕丁“模拟器与基准”共享主题,但本条强调环境接口是一项工程标准;又与第357号多智能体系统第十二条“基准生态:一个地图高分不代表一般协调能力”形成反向约束。共同环境使比较成为可能,也会把未被环境表示的能力从分母中删除。因此每次宣布代理“通用”时,都应列出环境支持的观测、动作和失败类型,并做跨接口迁移;ALE 2013的55款游戏是统一化锚点,不是现实充分性的证明。
戊、DQN:像素、经验与动作被接成一个训练回路DQN: Connecting Pixels, Experience and Action in One Training Loop
在DQN之前,强化学习能处理离散状态或人工特征,但直接从游戏像素学习长期动作价值极不稳定。连续帧高度相关,代理的策略又会随参数改变,导致训练数据分布和回归目标同时移动。DQN用卷积网络读取堆叠画面,以经验回放打散时间相关,并用较慢更新的目标网络冻结一段时间的学习目标。代理因此不再依赖研究者为每款游戏手写状态特征,而把视觉表示和动作价值放进同一优化回路。
这条转向的单因命题是:决定端到端策略学习能否稳定的只有交互经验能否被重新组织成近似平稳的更新目标,而不是网络层数本身。回放缓冲区改变样本顺序,目标网络减慢自举目标漂移;两者都属于训练系统而非“智能”模块,却决定了算法能否工作。DQN因此显示,代理能力常由数据管道、采样与更新节奏共同生成,不能只用模型架构解释。
2015年《自然》论文用同一算法和网络架构测试49款Atari游戏;DQN在43款上超过此前最佳学习方法,并在超过一半游戏上达到职业人类玩家75%以上的水平。它从原始像素和得分学习,在Breakout等任务中形成远期策略。这个结果建立了“从感知到行动”的共同基线,但每款游戏仍单独训练,所谓通用性是同一程序跨任务可用,不是一个代理在49个世界间持续迁移。
价值自举会系统性高估动作,回放数据也被代理早期策略主导;Double DQN正是把动作选择与价值评估部分分离以减少过估计。更深的边界是奖励已被游戏精确定义,代理不需理解失败的真实代价。若缓冲区只保留高奖励或近期轨迹,学习速度越快,少见危险状态反而越容易被遗忘。分数还对帧跳、终止生命处理、随机种子和训练帧数敏感,缺一项就可能使排行榜不可比较。
工程上应把回放视为受治理的数据资产:记录生成策略版本、环境版本、奖励变换、采样概率和删除规则;训练报告应同时给出多种子分布、墙钟时间、能耗和最坏游戏,而非只给平均人类归一化分数。用于现实代理时,还必须分开离线日志与在线探索权限,先在仿真或历史回放中验证再放开动作。若系统会执行不可逆操作,不能把Atari式无限重启当作默认学习条件。
它与第046号强化学习第一幕甲“从像素到操作”完全同源,但本条把经验回放、目标网络和版本谱系视为智能体工程对象;与第258号数据科学的数据分布问题相撞时,还要承认数据由当前策略主动制造。代理一旦改变,训练集就随之改变,这与静态监督学习不同。DQN 2015的49游戏、43项领先可作能力锚点;复核时必须同时检查每个游戏是否独立训练,以及回放和评测协议是否一致。
己、A3C:并行行动者把学习系统变成数据工厂A3C: Parallel Actors Turn Learning into a Data Factory
DQN依赖回放缓冲打散相关样本,也需要GPU集中训练。A3C改用多个CPU线程,每个行动者在独立环境副本中按本地策略收集短轨迹,计算策略梯度和值函数误差,再异步更新共享参数。不同副本处在不同状态,使数据天然去相关;actor与critic共同学习动作分布和状态价值。代理研究由单条轨迹的算法问题,转为多个数据生产者与一个参数中心之间的系统协调。
这一转向的单因命题是:决定交互学习吞吐能否扩展的只有行动者生成经验与学习器更新参数能否并行解耦,而不是给单个网络增加算力。异步行动者在模型更新期间继续采样,减少设备空闲,也用环境多样性替代大回放库。它揭示“更强代理”可能来自更快、更广的经验生产,而非新的决策理论;因此报告算法时必须同时报告行动者数量、采样速率和参数滞后(A3C 2016)。
Mnih等2016年使用16个异步CPU线程,在Atari 57款游戏、连续控制与三维迷宫等任务上验证A3C;论文强调在一台多核CPU上数天即可取得与当时GPU方法竞争的结果。这个读数把通用训练架构从单环境扩到多副本,并使策略梯度成为大规模代理学习主线。优势来自并行、on-policy更新和熵正则的组合,不能把全部收益归给“异步”一个词。
异步也制造陈旧策略:某个行动者产生轨迹时使用的参数,梯度写回时共享模型已改变;行动者越多,数据吞吐越高,策略错位可能越大。线程调度与随机性使结果难完全复现,小样本平均还会把极端失败隐藏。若只用每秒帧数衡量,系统可能通过更激进并行提高吞吐,却降低每条经验的信息价值或增加能耗。后来IMPALA专门用V-trace校正行动者与学习器策略差异。
今天的智能体平台同样需要把执行和学习解耦。轨迹事件应带代理版本、工具版本、环境快照、时间戳和奖励来源;学习器只能消费满足质量与权限条件的记录。并行任务还需设置全局预算和停止条件,防止多个代理重复购买、发送或修改同一对象。验收应同时报告任务成功/小时、成功/成本、策略滞后分布和失败聚类;只看吞吐会鼓励把错误更快生产(A3C 2016)。
它与第351号高性能与并行计算第一幕丁“任务图运行时:并行次序应由依赖关系生成”形成接口:A3C的线程不是越多越好,参数依赖和更新冲突决定可用并行度。又与第360号系统性能与能效第十四条“生产轨迹基准:合成负载会遗漏相关性与突发”相撞,说明训练环境副本的多样性必须接近部署负载。A3C 2016的16线程与57游戏是系统读数,不应被省略成一个算法缩写。
庚、DAgger:模仿数据必须跟着代理的错误移动DAgger: Imitation Data Must Follow the Agent's Own Mistakes
行为克隆把专家的状态—动作对当监督数据,但训练状态来自专家,部署状态来自学习者。一个微小动作误差会把代理带到专家演示从未覆盖的位置,下一步再错,长轨迹中的偏差便逐层累积。DAgger让当前策略实际运行,在它自己访问的状态上请求专家动作,再把这些样本聚合回训练集。数据不再是一次采集完的教材,而是随着代理暴露的新错误不断改写。
这条转向的命题是:决定模仿策略能否长程稳定的只有训练分布是否覆盖代理自身诱发的状态,而不是专家演示数量本身。专家轨迹再多,若都落在理想路径上,也不会教代理如何从偏航、遮挡或错误工具返回中恢复。DAgger把在线无遗憾学习与序列决策连接,使误差增长可从随时间平方放大改善为更受控的线性量级;关键动作是让学习者的数据生成机制进入训练。
Ross等2011年在超级马里奥、超级Tux赛车和手写识别等任务中展示数据聚合,并给出序列损失界。赛车例子尤其说明,专家驾驶产生的画面几乎都在道路中央,而学习者部署后会看到偏向路边的画面;只有让专家为这些偏离状态补动作,策略才学会回正。这个案例把“更多示范”改写成“在正确的状态上获得示范”,也把人在环内的工作从整段表演改为针对失败分布的标注。
DAgger默认专家能安全、及时地为学习者访问的状态给出答案。现实医疗、金融或机器人中,错误状态可能危险、不可逆,专家也可能无法在毫秒内接管。若为发现边界而主动让代理犯错,数据覆盖越广,试错成本反而越高。专家标签还不是无误真值,不同操作者可能选择不同恢复路线;把分歧压成一个动作,会使策略在临界状态产生平均但不可执行的行为。
现代代理可把DAgger原则用于工具轨迹:先在沙箱运行,让审阅者只标注首次偏航点、正确恢复动作和应触发的人工接管,而不是仅给最终答案。聚合时应保留产生轨迹的代理版本、专家身份、分歧与风险等级;高风险状态可以通过仿真、反事实回放或合成故障获得,禁止在生产中故意制造。还应设停止规则:当新错误簇不再下降时,继续收集相似轨迹不会自动提高鲁棒性。
它与第051号机器人学第一幕戊“从示教到学习的第一批尝试”共享来源,但本条把分布偏移看成智能体工程的核心;与第255号软件工程第十条“代码评审的真实功能”相撞时,可把专家标注理解为对首次错误决策的审查。最终成功率不能替代错误状态覆盖率。DAgger 2011的赛车偏航是复查锚点:若训练集没有代理自己造成的坏状态,再多完美演示也可能只提高正常路径上的模仿。
辛、AlphaGo:学习与搜索第一次组成可审计的行动系统AlphaGo: Learning and Search Become One Auditable Action System
围棋长期被视为搜索爆炸的代表:分支数巨大,传统评估函数又难手写。AlphaGo没有在“纯学习”和“纯搜索”之间二选一,而用策略网络提出有希望的落子、价值网络估计局面结果,再让蒙特卡洛树搜索把计算集中到关键分支。监督学习先吸收人类棋谱,强化学习自我对弈再提高策略。代理的行动因此由表示、经验、模拟与在线计算共同生成。
这一转向的单因命题是:决定复杂行动能否越过组合爆炸的只有学习到的先验与显式前瞻搜索是否闭环,而不是扩大暴力枚举。策略网络负责“往哪里看”,价值网络负责“尚未走完时如何估”,搜索统计负责“看过以后怎样改”。三者留下可检查的访问次数、价值和候选分布,使最终落子虽然仍复杂,却比一次黑箱分类多出决策轨迹(AlphaGo 2016)。
2015年10月,论文版本AlphaGo以5比0击败欧洲冠军樊麾,2016年《自然》论文公布这是计算机首次在标准19路棋盘、无让子条件下战胜职业棋手。系统的分布式版本使用大规模计算,但关键证据不是硬件数字,而是同一组合在策略预测、价值估计和树搜索消融中各有贡献。结果证明学习可以为搜索提供结构,搜索又能在行动时纠正单次网络判断。
围棋规则完整、目标单一、模拟器精确,搜索节点不会改变现实世界。把这套成功直接外推到网页、科研或企业代理,会忽略工具返回不确定、行动有权限、目标可能冲突、模拟与现实不一致。树搜索越深,若世界模型或奖励错了,代理反而会更系统地找到错误目标的高回报路径。计算预算还会改变行动质量,不能把一次昂贵搜索的表现当成固定模型能力(AlphaGo 2016)。
工程上应保留“学习提出—模拟检验—执行回写”的分层,但每一层需要不同信任边界。候选计划可由模型生成,高风险动作必须在可验证模拟器、规则检查器或人类审批中展开;搜索节点应记录工具版本、成本与不确定性,终止条件要防止无限思考。对于无法精确模拟的环境,应以小步、可撤销和信息增益优先,而不是伪造一个看似完整的树。评测还要固定测试时计算量,避免用更多搜索掩盖模型差异(AlphaGo 2016)。
它与第046号强化学习第一幕丙“树搜索与自我博弈”同源,也与第248号算法与计算复杂性第六条“学习增强算法”相接:预测负责给算法建议,算法结构仍承担正确性或资源边界。AlphaGo 2016的5比0是能力锚点,不是开放世界自治证明。若一个现代代理只有语言模型连续采样而没有状态分支、验证和回写,就不应借用AlphaGo的“规划”声誉;真正相似处必须能指出哪一步是候选、哪一步是搜索、哪一步是独立裁决。
第二幕把代理从封闭游戏推入多主体、语言、网页、代码库和工具生态。训练时可见的信息与部署时权限开始分账;推理与行动交替,记忆成为外部系统,多代理对话成为控制平面。能力越接近真实工作流,可靠性的对象也越从“最终答案”移到完整轨迹:谁调用了什么、依据哪份状态、花费多少、能否恢复、是否越权,开始决定智能体工程是否成立。
一、集中训练、分散执行:代理可以在训练时共享秘密Centralized Training, Decentralized Execution: Share Information Only While Learning
多个学习者同时行动时,一个代理看到的环境会因其他代理更新策略而不断变化;对它而言,转移规律不再平稳,单代理强化学习的经验回放和价值估计会失真。MADDPG让每个代理保留自己的actor,却在训练时使用能看到联合观测与动作的集中critic。部署时actor只读取本地信息。训练和执行拥有不同信息集,第一次被明确写成多代理学习的体系结构。
这条转向的单因命题是:决定多代理学习能否稳定的只有训练期全局信息与部署期局部信息被制度化分账,而不是把所有代理塞进更大的网络。集中critic在评估某一行动时知道其他代理做了什么,因而能把环境变化与伙伴动作区分;分散actor则满足通信受限、隐私或独立执行要求。信息不对称不再是噪声,而成为架构的核心约束(MADDPG 2017)。
Lowe等2017年在合作、竞争与混合的粒子环境中比较独立学习和多代理actor-critic,展示集中critic对协作通信和竞争任务的优势。随后COMA用反事实基线回答团队回报中“若某代理改做别的会怎样”,QMIX则用单调混合网络让局部贪心动作对应联合价值最大。三者共同把团队成功率拆为信息结构、信用分配与价值分解三个工程问题。
训练期特权信息会制造迁移断层。critic若依赖部署时不存在的精确全局状态,actor可能在训练环境中学到只在隐含相关性成立时有效的行为;伙伴数量、策略或通信延迟变化后,局部策略会突然失灵。集中器还可能成为数据汇聚和隐私风险。若为了稳定训练不断增加全局可见变量,离线成绩越好,部署时的信息缺口反而越大(MADDPG 2017)。
实际系统应为每个字段标注“训练可见、部署可见、审计可见”三种权限,并进行信息删减测试:逐步遮掉训练特权变量,观察策略在哪些状态崩溃。多代理日志需同时保存联合轨迹与局部视角,才能复现单个代理为何做出选择。上线前还要替换伙伴策略、改变代理数量、注入消息延迟,检查合作是否来自可迁移规则而非固定同伴指纹。必要时应训练显式的通信协议和拒绝机制(MADDPG 2017)。
它与第357号多智能体系统第九条“集中训练、分散执行:训练信息与部署信息可以不同”同名;本条进一步把信息权限当作智能体工程合同。与第172号数据与隐私法等治理面板对接时,还需问集中训练是否有权汇集所有代理数据。MADDPG 2017的粒子环境是方法锚点,不是复杂组织的充分证明;复核应列出critic比actor多看了哪些字段,并量化删除这些字段后的性能下降。
二、IMPALA:行动者与学习器被正式拆开IMPALA: Actors and Learners Become Separate Services
A3C让每个线程既行动又计算梯度,扩展到机器集群时,慢环境与快学习器会互相等待。IMPALA把大量actor变成纯经验生产者,把轨迹通过队列发送给集中learner;learner批量使用加速器更新网络,再周期性把参数发回actor。数据采集、队列、训练和模型发布形成清晰服务边界,强化学习第一次呈现出接近生产数据平台的形态。
这一转向的单因命题是:决定大规模代理训练吞吐的只有行动执行与参数学习是否异步服务化,并对策略滞后作统计校正。actor生成轨迹时使用旧策略,learner更新的却是新策略;V-trace用截断重要性权重修正这种off-policy差异。若没有校正,扩展越成功,训练数据越陈旧,吞吐增长会直接转成偏差增长(IMPALA 2018)。
IMPALA论文报告最高约每秒250,000帧,超过单机A3C三十倍,并在DMLab-30与Atari-57上验证同一架构。它还能用一个代理在DMLab的30个任务上学习,而非逐任务独立训练。数字显示系统设计本身改变了研究迭代速度:行动者可跨许多CPU扩展,学习器集中使用GPU。但比较必须同时看数据效率,因为每秒更多帧不等于每条经验更有价值。
队列会隐藏故障。某些actor卡死、环境版本落后或奖励异常,learner仍可能持续收到足够数据而不报警;平均吞吐越高,少量坏轨迹越难从总量中看见。V-trace也只能校正可计算的策略比率,无法纠正模拟器偏差、权限错误或奖励定义变化。若模型发布过快,actor不断切换版本,轨迹内部还可能不再来自单一策略(V-trace 2018)。
现代智能体平台可沿用actor—learner分离,但每条轨迹必须携带模型哈希、提示版本、工具清单、环境版本和奖励判定器。队列要按新鲜度、风险和任务族监控,过旧数据应降权或隔离;模型发布应支持金丝雀、回滚和版本粘性,使一个长任务不在中途静默换脑。验收需同时报告帧/秒、成功/百万步、成本/成功、策略年龄分布与坏轨迹比例,防止吞吐遮蔽质量。还应按actor分组画出成功率与错误率,防止少数高速节点把大量重复经验伪装成群体覆盖;若某一环境持续异常,系统要能暂停其数据进入训练,而不是等待总损失报警,并记录被丢弃轨迹的原因(IMPALA 2018)。
它与第351号高性能与并行计算第一幕丁“任务图运行时:并行次序应由依赖关系生成”相接,也与第360号系统性能与能效第五条“规模尾延迟:罕见慢请求会在扇出后变成常态”共享系统风险。IMPALA的250,000帧/秒与DMLab-30、Atari-57是复核锚点;若新平台只宣称“多代理并行”,却不报告策略滞后与队列尾延迟,就遗漏了这项工作的核心工程贡献。
三、AlphaStar联盟训练:对手分布本身成为课程AlphaStar League Training: The Opponent Distribution Becomes the Curriculum
简单自我博弈让代理不断与当前或历史版本对战,但复杂游戏中策略可能循环:新版本击败旧版本,却被更早的某种风格克制。AlphaStar把训练组织为联盟,主代理追求整体实力,main exploiter和league exploiter寻找当前策略或整个联盟的漏洞,历史快照维持对手多样性。对手不再只是环境中的固定噪声,而成为主动设计的训练课程。
这条转向的单因命题是:决定竞争代理能否获得稳健策略的只有对手分布持续暴露可利用弱点,而不是单一自我博弈胜率。联盟通过策略人口和配对机制维持多样性,使“赢当前冠军”与“对多类历史策略不被剥削”分开。训练对象从一个参数向量扩大为相互塑形的策略生态,代理能力因对手构成而发生(AlphaStar 2019)。
2019年《自然》报告AlphaStar在完整StarCraft II线上环境中以三个种族均达到Grandmaster等级,排名超过99.8%的正式排位玩家。系统结合人类录像模仿、多代理强化学习和持续适应的策略—反策略联盟。论文还公开线上对局回放和部分训练细节,使社区能核对能力不是来自简化地图或超人动作速度。这个读数证明人口训练可以处理长时程、部分可观测与大动作空间。
联盟并不自动代表现实多样性。配对器决定哪些对手获得训练预算,历史快照来自同一算法家族,策略人口可能共享共同盲点。若评价只看排位分,代理可以专门适配游戏人口而不会与陌生人协作。训练规模和计算也极高;策略越多,复现实验和贡献归因越困难。一个联盟内部的多样性指标上升,仍可能只是表面动作差异而非真正不同的决策原则(AlphaStar 2019)。
工程上应记录每个代理的血缘、训练对手、胜负矩阵和被谁剥削,并用未参与训练的外部策略做时间外测试。多代理业务系统同样要引入红队代理、异常用户和旧版本,而非让所有代理共享同一基础模型互相确认。上线前需测试同源模型相关失败:如果一个错误提示能同时操纵全部角色,角色数量只会放大风险。还应设置人口预算,淘汰冗余策略但保留能揭示独特漏洞的少数对手(AlphaStar 2019)。
它与第357号多智能体系统第十四条“群体多样性:一个最优策略会制造脆弱同质化”同源,也与第203号网络安全与对抗的红队思想相接。AlphaStar超过99.8%玩家是能力锚点;工程复核还必须问,三个种族、历史快照和剥削者各自贡献多少,以及对未见策略是否保持稳定。若多代理产品只是把同一模型复制成多个名字,不具备独立目标、数据或对抗角色,就没有形成联盟训练意义上的多样性。
四、MuZero:世界模型只学规划需要的部分MuZero: Learn Only What Planning Needs from the World
模型式强化学习通常要求学习环境转移,再在模型里规划;若重建画面不准,误差会沿想象轨迹累积。MuZero不显式学习完整规则或下一帧像素,而把观测编码成潜在状态,由动力网络在给定动作后预测下一潜在状态与即时奖励,预测网络再给出策略和价值。搜索只需要这些与决策相关的量,世界模型由“像真的”改成“对规划有用”。
这一转向的单因命题是:决定学习模型能否服务行动的只有它保留了奖励与价值所需的可控结构,而不是观测重建误差最低。表示、动力与预测网络围绕搜索损失共同训练,蒙特卡洛树搜索在潜空间展开。代理无需预先知道围棋、国际象棋、将棋或Atari的转移规则,也能形成用于前瞻的内部模型。
MuZero在围棋、国际象棋和将棋上达到AlphaZero水平,并在Atari 57款游戏上取得当时领先表现;论文强调它不接收环境规则,只从交互学习奖励、策略、价值与动力表示。这个范围将同一规划框架从精确棋盘扩到视觉控制。读数的关键是四类任务共享算法,却仍分别训练;潜在模型的成功由最终决策检验,不等于它恢复了人可以理解的世界规律。
任务相关表示可能主动丢弃短期不影响奖励、长期却关乎安全的信息。奖励若缺项,模型会把相应风险压出潜空间;搜索越有效,越会沿错误表示优化。潜在状态难直接审计,模型在训练分布外如何想象也不透明。若环境发生结构变化,过去“与价值无关”的细节可能突然重要,代理却没有重建入口。没有像素预测不代表没有模型偏差,只是偏差更难目视发现(MuZero 2020)。
现实智能体的世界模型应同时接受任务损失和安全保真约束。对关键变量要设置可读探针、反事实干预和外部模拟器对照;高风险计划必须在执行前检查资源、权限与不可逆性,而不能只信潜在价值。还要用目标变化测试表示:临时改变奖励或新增约束,观察历史状态是否包含重新规划所需信息。若没有,就应保留更丰富事件日志,而不是只缓存模型认为“有用”的摘要(MuZero 2020)。
它与第319号计算物理与多尺度模拟第二幕六“可微分物理把模拟器变成控制器”相邻,但本条允许模型只学习决策相关动力;与第044号基础模型关于表示的讨论相撞时,则提出一条更硬的审计:表示删掉了什么。MuZero 2020的棋类与57款Atari是跨域锚点。迁移到业务代理时,必须证明潜在模型保留了目标变更、安全约束和异常恢复所需状态,否则“规划”只是对当前奖励的高效压缩。
五、ReAct:推理与行动改成观察驱动的交替循环ReAct: Interleaving Reasoning, Action and Observation
大模型最初常被要求先写完整推理或完整行动计划,再一次执行。计划一旦基于错误事实,后续步骤会沿同一假设展开;纯动作策略又缺少显式的状态整理。ReAct让模型交替产生Thought、Action和Observation:推理提出下一步,动作查询知识库或操作环境,返回观察再修正后续计划。自然语言从最终答案扩展为运行时控制界面。
这条转向的单因命题是:决定语言代理能否适应动态任务的只有外部观察能否逐步回写并改变下一行动,而不是首次计划看起来多完整。思考帮助维护子目标和例外,行动给模型引入新证据,观察则阻断无依据的连锁推演。代理由“一次生成器”变成闭环系统,轨迹也首次让审阅者看到工具调用与计划修改的相邻关系(ReAct 2023)。
ReAct在ALFWorld与WebShop上只用一到两个上下文示例,相对当时模仿学习和强化学习基线分别取得34和10个百分点的绝对成功率提升;在HotpotQA与FEVER中通过Wikipedia接口减少部分幻觉和错误传播。论文中的PaLM-540B配置在ALFWorld约71%、WebShop约40%成功。数字显示工具观察能显著帮助互动任务,也显示仍有大量任务失败。
可读思考不等于真实因果。模型可能在行动后编造合理解释,或把工具中的恶意文字当成高优先级指令。循环越长,上下文污染、成本和小错误累积越严重;一个错误观察会被后续推理反复引用。公开链式思考还可能泄露敏感信息或被用户误当作忠实内部机制。把每一步都交给同一模型自评,会形成“行动者兼裁判”的闭环(ReAct 2023)。
工程实现应把私有推理、可审计计划和工具参数分层。工具返回只能作为不可信数据进入,结构化字段需验证来源、时间和模式;关键动作由独立策略层检查权限、金额和撤销条件。轨迹记录应保存观察原文与摘要,允许审阅者核对摘要是否扭曲证据。还要设置最大步数、预算、重复动作检测和无进展终止,并用同一任务多次运行测稳定性,而非只展示一条成功轨迹。对同一观察还应测试改写、缺失和相互矛盾三种条件,确认代理确实依据证据转向,而非只按固定语言模式继续(ReAct 2023)。
它与第253号人机交互第九条“自然语言作为界面”直接相接,但ReAct把语言放进控制回路而非只放在输入端;又与第357号多智能体系统第十九条“语言型代理编排:对话可以成为可编程控制平面”共享接口。ReAct的34与10个百分点是复查锚点。若系统没有保存Action、Observation和状态更新,只留下最终回答,就无法验证它是否真正闭环,还是一次生成后补写了过程。
六、Toolformer:工具调用从手写路由变成可学习动作Toolformer: Tool Calls Become Learned Actions Rather than Hand-Written Routes
早期工具增强系统通常由程序员写规则:遇到算术调用计算器,遇到事实查询搜索引擎。路由器掌握任务分类,语言模型只填参数或整合结果。Toolformer让模型在普通文本中自行提出API调用,执行后比较工具结果是否降低后续词元的困惑度,只保留有帮助的调用,再用这些自标注数据继续训练。何时调用、调用什么、传什么参数与如何吸收返回值成为同一语言建模问题。
这条转向的单因命题是:决定模型能否获得可扩展工具能力的只有工具调用能否作为动作进入自监督训练,而不是为每项任务手写路由。少量人工示例只定义API格式,大量候选调用由模型生成并经损失筛选。工具由外挂插件变成词元序列中的可学习接口,模型可以在没有任务专用标注的条件下选择计算器、问答、搜索、翻译与日历。
Toolformer以6.7B参数GPT-J为基础,使用计算器、问答系统、两类搜索、翻译和日历等工具,在多种零样本任务上显著提升,部分结果可与更大模型竞争,同时尽量保持一般语言建模能力。ToolAlpaca随后自动构造3,938个工具使用实例,覆盖400多个真实API和50类工具,训练7B与13B模型测试未见工具。读数表明工具能力可以由数据与接口扩展,不必全靠模型规模。
困惑度筛选只回答返回值是否帮助预测文本,不回答动作是否有权执行、是否重复收费、是否把隐私送给第三方。Toolformer主要使用近乎无状态、可重复调用的工具;预订、付款、发信和数据库写入需要会话、事务与撤销。模型若在训练中学会“有用就调用”,工具越多,潜在权限组合和供应链攻击面反而呈乘法增长。API说明自身还可能过时或含恶意描述。
成熟工具层应采用类型化模式、最小权限、幂等键、模拟模式和分级审批。每次调用记录工具身份、版本、参数、数据去向、返回摘要与副作用;读操作和写操作分开授权,高风险工具不得由模型仅凭自然语言发现后立即执行。工具注册表要支持弃用、签名和健康检查,失败返回必须区分重试、参数错、权限拒绝与业务冲突。训练指标也应从调用准确率扩展为任务效用、成本、违规率和事务一致性(Toolformer 2023)。
它与第248号算法与计算复杂性第六条“学习增强算法”相接:学习器给出工具选择,接口与传统程序仍承担可检查边界;与第354号软件安全与隐私工程第十三条“供应链谱系:签名必须覆盖从源码到制品的每一步”相撞时,工具描述、服务器和返回数据都应有谱系。Toolformer的6.7B模型与六类工具是能力锚点,但不能用无状态API成功替代写操作安全证明。
七、记忆与反思:上下文窗口不再假装是一生Memory and Reflection: A Context Window Is No Longer Treated as a Lifetime
语言模型的上下文窗口把最近对话、工具回执和指令放在同一序列里,短任务尚可,长期运行便出现容量、检索和身份连续性问题。Generative Agents为每个代理维护按时间记录的memory stream,按新近性、重要性与相关性检索,再由累积记忆生成反思和计划;MemGPT借操作系统的虚拟内存比喻,把有限上下文与外部存储分层。记忆从“把全部历史塞进提示”变成有写入、检索、压缩和换页规则的系统。
这条转向的单因命题是:决定长期代理能否保持连续性的只有记忆类型、检索规则与摘要谱系被显式管理,而不是上下文窗口继续扩大。事件记录回答发生了什么,语义摘要提取稳定关系,工作记忆维持当前子目标,计划则面向将来;四者若混在一起,旧猜测会被当事实、过期目标会重新复活。反思只有能追到支持它的原始事件,才是可修正状态而非新权威(MemGPT 2023)。
Park等在名为Smallville的沙盒中构造25个生成式代理,连续模拟两天的人际与日常行为;一个代理发起情人节聚会,邀请和信息通过代理互动传播。消融与人类评价表明观察、计划和反思共同影响行为可信度。Reflexion则把失败反馈写成自然语言经验,在后续尝试中调用。可核对的进步是代理能跨多轮利用过去事件,而非仅在单次提示中模仿记忆语气。
记忆系统会把错误永久化。模型生成的摘要可能遗漏限定条件,相关性检索会偏爱语义相似而忽略反证,新近性又会压过长期规则。若反思由同一模型依据自己的失败叙述生成,它可能把错误原因归错,却在以后以更高权重重复。存储越大,隐私、删除和提示注入持久化风险越高;一段恶意网页内容若进入长期记忆,可能在原页面早已离开后继续影响动作(Generative Agents 2023)。
工程上应给记忆对象设置类型、来源、时间、置信、权限、保留期与删除理由。原始事件只追加,摘要可版本化并保留引用;模型生成、工具返回和人工确认必须视觉分色。检索评测不能只测“找回了什么”,还要测是否漏掉冲突证据、是否在用户要求删除后彻底消失。敏感记忆加密并按任务最小化读取,外部内容不得直接写入高信任规则区。定期重放一组事实变更和撤销用例,可检验旧记忆会不会幽灵般复活(MemGPT 2023)。
它与第193号图书情报与知识组织关于来源与组织的主线相接,也与第194号档案与数字保存的版本责任相邻;在现有可点击面板中,还可对照第496号开放科学第七条“数据引用原则:数据集成为一等研究对象”。代理记忆也应成为可引用、可纠错的数据对象。25个代理和两天Smallville是能力锚点,不是长期人格证明;若系统无法显示一条反思由哪些事件支持,就不能把“记得”与“重新生成了一个故事”区分。
八、Voyager:技能以可执行代码积累,而不是只留聊天记录Voyager: Capabilities Accumulate as Executable Code, Not Just Conversation
语言代理在开放环境里常每次从头计划,成功步骤留在长对话中,下一任务难精确复用。Voyager在Minecraft中设置自动课程,让代理选择能扩展能力的目标;执行失败时依据环境反馈和错误信息修改代码;通过验证的程序片段进入不断增长的技能库。技能由自然语言经验变成有名称、说明和可执行体的模块,后续任务可检索并组合。
这一转向的单因命题是:决定部署经验能否累积的只有成功行为被编译成可重放、可组合的技能工件,而不是代理保留了多少对话。代码把长动作序列压成调用接口,执行错误提供机器可读反馈,技能库减少灾难性遗忘。代理不调整基础模型参数,也能通过外部课程与技能资产表现出在情境中的终身学习(Voyager 2023)。
Voyager相对当时方法获得3.3倍更多独特物品、行进距离延长2.3倍,并以最高15.3倍速度解锁关键科技树里程碑;技能库还能带到新的Minecraft世界处理新任务。论文公开代码与提示,使这些读数能沿课程、技能和执行轨迹复查。能力来自自动课程、技能库和迭代提示三部分,不能只归功于GPT-4。
程序技能会过期、冲突或携带隐藏前提。某技能在一版世界和一组物品条件下通过,不保证环境更新、资源短缺或权限变化后仍安全。生成代码还可能调用未声明资源、陷入循环或破坏未来任务所需状态。技能越多,检索相似性越可能选到“名字合适、前提错误”的模块;若只保留成功版本,失败边界和适用范围会从库中消失(Voyager 2023)。
智能体工程应给每项技能配输入、输出、前置条件、后置条件、权限、超时、版本、测试和回滚。入库前在隔离环境运行单元测试与副作用检查,调用时再次验证前提;失败轨迹不应直接删掉,而要更新适用范围和反例。技能依赖形成图后,需要像软件包一样处理签名、弃用和供应链。对于能修改现实系统的技能,默认模拟、最小权限和人工审批,禁止把Minecraft式可重启世界外推为生产容错。每次复用还应记录实际前提与技能声明的差异,积累到阈值后强制重新认证。
它与第051号机器人学第二幕四“数据才是瓶颈”形成推进:Voyager说明数据只有被转成技能资产才产生长期复用;又与第255号软件工程第九条“技术债的量化”相撞,技能库增长也会形成维护债。3.3倍物品、2.3倍距离和15.3倍里程碑速度是锚点。审查现代“自进化代理”时,应要求展示新增技能是否有测试、依赖和淘汰机制,而不是只统计库中文件数。
九、AutoGen与角色编排:对话成为分布式控制平面AutoGen and Role Orchestration: Conversation Becomes a Distributed Control Plane
单个语言代理既计划、执行、检查又决定何时停止,容易把同一盲点带过整条链。AutoGen把应用写成可定制的会话代理:有的由LLM驱动,有的执行代码或工具,有的代表人类;开发者定义代理之间如何发送消息、何时回复和怎样终止。ChatDev则用CEO、设计、编码和测试等角色模拟软件团队。对话由用户界面变成组织多个计算部件的控制流。
这条转向的单因命题是:决定多语言代理能否形成工程系统的只有角色责任、消息协议与终止条件是否可编程,而不是参与者数量。角色应对应不同权限、工具、证据或评估标准;共享工件必须有版本和唯一责任人;冲突需进入仲裁而非无限讨论。若五个角色都调用同一模型、读同一上下文、以同一评分自证,多代理只是把单一偏差复述五次(AutoGen 2023)。
AutoGen论文展示可用几行高层配置组织复杂工作流,并覆盖数学、问答、供应链优化、在线决策和代码执行等案例;其贡献在于统一可会话代理抽象与灵活拓扑,而非一个固定排行榜。ChatDev把软件开发拆成设计、编码、测试与文档阶段,生成可执行制品。两类系统证明自然语言消息可连接异构工具和人类,但任务成功依赖角色设计、提示、底层模型和执行环境的特定组合。
多代理会放大成本、延迟和相关错误。消息越多,上下文越长,角色可能达成礼貌共识而没有独立证据;循环条件不严会导致争论不止。共享聊天中还可能泄露某角色不应看到的数据,一次提示注入可沿转发链传播。若最终由同一模型裁决,多数票不具备统计独立性;代理数量增加甚至会降低团队结果,因为错误建议获得更多修辞支持(AutoGen 2023)。
工程上应先为每个角色写职责、输入、允许工具、输出模式、拒绝条件和升级路径,再选择模型。消息须带发送者、会话、工件版本与权限标签,长内容用引用而非复制;终止条件包括成功、预算、无进展、冲突和安全中止。评测应做角色消融、模型异质性和对抗代理测试,并比较单代理基线。只有新增角色在固定成本下带来可重复边际收益,编排才成立(AutoGen 2023)。
它与第357号多智能体系统第十九条“语言型代理编排:对话可以成为可编程控制平面”同名,也与第253号人机交互第十条“人机协作的分工”相接。AutoGen 2024是架构锚点;复核重点应落在拓扑、消息和终止,而非角色名称。若“研究员、评论家、经理”没有不同证据源和权限,只是同一提示的装饰,系统仍是单模型自对话,不能把生成轮数当协作强度。
十、AgentBench、WebArena与GAIA:最终答案让位于真实轨迹AgentBench, WebArena and GAIA: From Final Answers to Real Interaction Trajectories
语言模型基准通常给一道题、收一个答案,无法观察模型是否会发现工具、保持登录状态、纠正错误或停止。AgentBench把代理放入操作系统、数据库、知识图谱、卡牌、ALFWorld、WebShop和网页等八类环境;WebArena建立功能网站与任务;GAIA则用需要浏览、工具、多模态和推理的现实问题验收助手。评测对象从一句输出变成整段状态变化。
这条转向的单因命题是:决定“代理能力”能否被测量的只有任务成功由可执行环境状态验证,而不是模型或裁判认为回答听起来正确。环境可核对文件是否存在、订单是否满足约束、数据库是否被正确修改;轨迹还能统计无效步骤、重试和越权。最终成功必须与过程指标同账,否则代理可能以高成本、危险捷径或偶然一次通过获得漂亮分数(AgentBench 2024)。
AgentBench包含8个不同环境,并在API模型与不超过70B的开源模型间观察到明显差距,主要失败包括长程推理、决策和指令遵循。GAIA构造466道题,保留300道答案用于排行榜;论文基线中人类达到92%,带插件的GPT-4仅15%。这个反差说明专业考试高分没有自动转成工具化助手的日常稳健性,也为“概念简单、执行困难”的任务建立了量尺。
可执行基准仍会过时或泄漏。网页内容、API和底层模型持续变化,同一代理在不同日期可能面对不同世界;公开任务被训练后,排行榜失去前瞻性。环境模拟也会删掉真实验证码、合规、支付和人际后果。若评分只认终态,代理可通过不合意捷径完成任务;若用语言模型当裁判,又会引入偏好和非确定性。任务越真实,复现成本与维护债越高。
成熟评测应冻结环境镜像、数据种子、工具版本和评分器,另设滚动隐藏集与时间外集;每个任务至少运行多次,报告成功率置信区间、步骤、令牌、费用、延迟、恢复和安全违规。对写操作采用事务日志,区分“到达目标状态”和“没有破坏无关状态”。基准维护者还应公布退役规则,承认旧分数会死亡。组织内部则需用自身权限、数据和异常流量建立专属任务,而不是把公开排名直接当上线门槛;同一分数还应附失败轨迹样本,使读者看见错误发生在计划、工具、观察还是终止(GAIA 2024)。
它与第357号多智能体系统第十二条“基准生态:一个地图高分不代表一般协调能力”共享警告,也与第360号系统性能与能效第十四条“生产轨迹基准:合成负载会遗漏相关性与突发”相接。GAIA的466题、92%对15%是能力缺口锚点。若报告只给最终通过率而没有轨迹、成本和副作用,就仍在用静态模型方式评价行动系统。
十一、SWE-bench与SWE-agent:代理必须改动真正的代码库SWE-bench and SWE-agent: Agents Must Change Real Repositories
代码模型长期在独立函数或竞赛题上受测,输入已经给出完整规格和局部上下文。真实软件问题却以GitHub issue出现:描述可能含糊,相关代码散在仓库,依赖和测试需要运行,补丁不能破坏既有行为。SWE-bench把已解决issue与对应提交还原成可执行任务;SWE-agent为模型设计专用agent-computer interface,让它用搜索、查看、编辑和测试命令迭代。
这条转向的单因命题是:决定代码代理是否具有软件工程能力的只有补丁能在隔离仓库中通过问题相关与回归测试,而不是代码文本看起来合理。代理必须先定位、再形成假说、修改、执行测试、读取错误并继续修正。工具界面决定模型看到多少行、命令返回怎样压缩和修改怎样提交,因此接口本身与基础模型一样是实验变量(SWE-bench 2024)。
原始SWE-bench含2,294个真实GitHub问题及补丁,来自12个常用Python仓库。SWE-agent使用GPT-4 Turbo解决12.47%的2,294项任务,高于此前非交互检索增强系统约3.8%;其专用接口在SWE-bench Lite消融中比默认shell代理多解决10.7个百分点。数字证明行动接口显著改变代码能力,也提醒当时接近八分之七的问题仍未解决。
测试通过并不总等于修复正确。SWE-bench+研究指出部分issue描述泄露方案、测试不足会接受可疑补丁;过滤后,SWE-agent+GPT-4的12.47%可降到更低读数。公开仓库还可能进入模型训练,榜单提交使用不同模型、调用预算和人工脚手架。若代理反复运行昂贵测试或修改测试本身,最终通过率会掩盖成本与规格投机。
工程验收应固定容器、网络、模型、预算和接口,冻结测试并禁止修改评分文件;除功能测试外,还要做静态分析、安全、性能和人工代码评审。轨迹应显示搜索过哪些文件、为何改动、测试失败如何回写。SWE-Bench Pro把任务扩到1,865个问题、41个活跃仓库与多语言长程场景,说明未来重点从单issue补丁走向跨文件和企业代码库。私有隐藏测试与时间外任务是防数据泄漏的基本条件。对每个通过补丁还应重放原始缺陷、增补反例并核对修改范围,避免代理通过删除测试、放宽断言或硬编码样例取得表面成功;人工复核应记录是否能解释代码而非只投一票。
它与第255号软件工程第十九条“智能体软件工程与长程基准”同名相邻,也与第352号形式化方法第十七条“持续验证:证明必须随代码与依赖一起演化”相接。2,294项、12仓库、12.47%是首代锚点;复核任何更高成绩时,必须同时问数据日期、测试强度、调用预算和是否允许人工干预。代码代理若只生成补丁却不能在原仓库重现测试,不应被计为解决。
十二、AgentOps、AIOS与AgentDojo:可靠性变成运行时工程AgentOps, AIOS and AgentDojo: Reliability Becomes Runtime Engineering
原型代理常把提示、记忆、工具和循环写在一个脚本里,成功后便直接部署。并发一多,就出现上下文争抢、模型限流、工具越权、成本失控和无法定位的长轨迹故障。AIOS把调度、上下文、记忆、存储、访问控制与LLM服务下沉到内核;AgentOps把提示、模型调用、工具事件、轨迹、成本和异常纳入监控。代理由一次性程序变成需要运行时控制平面的服务。
这条转向的单因命题是:决定代理能否可靠上线的只有每一步行动受到独立运行时的资源、权限和可观察性约束,而不是基础模型平均能力多高。控制平面应能拒绝越权工具、限制预算、隔离记忆、调度并发、追踪因果并中止失控循环;数据平面中的模型只负责提出受约束动作。可靠性因而成为架构属性,而非提示里的一句“请谨慎”(AIOS 2024)。
AIOS论文报告通过内核隔离和调度,对多种框架代理的服务执行最高可加速约2.1倍。AgentDojo则在邮件、网银、旅行和工作区等四类场景构造97项真实任务、629个安全测试,联合测量正常效用与提示注入攻击。两项读数把系统问题从理念变成量表:一个代理可以正常任务做得好,却更容易被不可信工具数据劫持;吞吐提升也必须与权限和攻击面同账。
可观察性本身不能防错,日志过多还会泄露提示、密钥和个人数据。操作系统抽象若把所有工具接入统一总线,也会形成高价值单点;Model Context Protocol等开放连接标准降低集成成本,同时扩大服务器身份、工具投毒和权限组合风险。AgentDojo还发现更强模型可能同时具有更高正常效用和更高攻击可利用性。若安全只靠模型“不听坏话”,能力提升会使攻击执行更完整。
生产控制面应采用默认拒绝、最小权限、短期凭证、工具签名、参数模式、速率和费用预算、幂等、事务与人工确认;不可信数据与系统指令分通道。轨迹用开放遥测关联每次模型调用和工具副作用,但敏感字段分级脱敏。上线前跑AgentDojo式间接注入、长程攻击、工具故障和撤销演练。Agent Lightning进一步把代理执行轨迹标准化为状态—动作—奖励,使训练与运行解耦;只有通过安全筛选的数据才能回流学习。
它与第251号操作系统与体系结构第十三条“为推理而生的系统层”相接,也与第203号网络安全与对抗第十九条“提示注入把模型指令层变成新的信任边界”直接重合;还对应第255号软件工程第十三条“可观测性”。AIOS约2.1倍、AgentDojo的97项与629例是运行时锚点。若系统只能展示成功对话,不能按轨迹撤销动作、定位权限来源和重放攻击,就仍未进入智能体工程。
◎ 二十年连起来看:代理从决策函数变成受治理的运行系统
第一幕把代理的内部承诺、组件接口、环境协议和训练循环做成可执行对象:BDI回答状态怎样推进,ROS回答部件怎样替换,ALE回答环境怎样复现,DQN与A3C回答经验怎样生成和学习,DAgger回答数据怎样跟随错误,AlphaGo回答学习与搜索怎样闭环。第二幕把这些接口推入多主体和语言世界:训练与部署信息分账,执行与学习服务分离,对手成为课程,潜在模型进入规划,工具、记忆、技能和对话成为外部系统。最后,真实环境基准、代码仓库、运行时控制与攻击测试把“会行动”改写为“在权限、成本和责任下可持续行动”。
代理不等于聊天模型。聊天模型生成文本;代理还要有状态、目标、动作接口、观察回写和终止。工作流不等于自治。固定流程可比开放规划更可靠,自治程度应按运行时可选择的分支与权限计算,而非按宣传词。多代理不等于多样性。同一模型、同一数据与同一裁判复制成多个角色,错误高度相关;只有职责、信息、工具或目标真正不同,并经消融证明边际价值,才构成有效协作。
◎ 智能体工程的最小交付物
一套可上线系统至少应交付:版本化目标与终止条件;状态模式与记忆谱系;工具注册表、权限和副作用说明;可重放的动作—观察轨迹;成本、步数、延迟与失败指标;环境和评分器快照;异常、撤销与人工接管路径;提示注入、权限提升和工具故障测试;模型、提示、技能、数据与依赖版本;对高风险动作的独立裁决。缺少任何一项,代理的成功都可能只能由演示者解释,不能由系统证据复现。
◎ 为什么“更自主”不是单向进步
自治把人类逐步选择压缩为一次授权,能降低协调成本,也把错误传播距离拉长。读操作、可撤销写操作、不可逆写操作和影响第三方的动作不应共享同一自治等级。可靠设计不是让模型永远自己做,而是动态分配:低风险且可验证的步骤自动执行;信息不足时先查询;高金额、隐私、法律或物理动作请求确认;连续失败时降级;权限来源不明时拒绝。自治的进步应以单位人工注意换来的无违规任务量衡量,而不是以无人点击次数衡量。
◎ 评测应同时给出的七本账
第一是任务成功,第二是轨迹效率,第三是调用与计算成本,第四是多次运行稳定性,第五是安全和权限违规,第六是失败后的恢复与撤销,第七是环境外迁移。平均成功率不能替代最坏风险,最终状态不能替代过程合法,公开基准不能替代本地任务,多数成功不能抹去一次不可逆事故。每个指标还应写清分母:哪些任务被排除、哪些失败因环境故障未计、哪些运行由人工救回。只有七账并列,代理能力才不会被一个冠军数字吞掉。
◎ 研究中最值得保留的反例
应优先保存六类轨迹:首次偏航;工具返回正确但代理理解错误;模型计划正确而权限层拒绝;多个代理形成错误共识;最终任务成功却破坏无关状态;安全攻击失败只是因为代理能力不足。它们分别揭示分布偏移、语义接口、目标—权限冲突、相关失效、规格投机和“以无能换安全”。只收成功轨迹会训练出更会重复旧成功的系统,却不能教它识别边界。反例必须带环境快照、模型版本和原始工具返回,避免被摘要重新美化。
◎ 未来五年最硬的验证问题
要观察的不只是模型又能完成多少任务,而是五个更硬的问题:长程轨迹的错误率是否随步数可控增长;开放工具协议能否在服务器身份、权限和数据污染下保持安全;记忆删除和反证更新是否真实有效;异构代理能否在伙伴、任务和组织变化后保持合作;交互数据回流训练时能否分配信用、排除攻击和保护隐私。若这些问题没有稳定答案,智能体会先成为高吞吐自动化,再成为可信基础设施。
◎ 结论:智能体的单位不是模型,而是受约束的循环
二十年的主线可以压成一句话:代理的最小单位不是一次模型调用,而是“状态—选择—动作—观察—验证—回写”循环及其运行环境。BDI给循环命名,ROS和ALE给循环接口,强化学习让循环从经验中改变,语言模型让循环能理解开放指令和调用工具;AgentOps、安全基准与代码仓库评测则要求循环承担证据和后果。智能体AI研究能力,智能体工程研究能力在真实边界内怎样成立、怎样失败、怎样被停止。两者必须同时进步,才不会把更强行动力误当成更可靠系统。
◎ 资料核验
- Rao, A. S. (1996). AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language. Agents Breaking Away. DOI: 10.1007/BFb0013571.
- Bordini, R. H., Hübner, J. F., & Wooldridge, M. (2007). Programming Multi-Agent Systems in AgentSpeak Using Jason. Wiley. DOI: 10.1002/9780470061848.
- Padgham, L., & Winikoff, M. (2004). Developing Intelligent Agent Systems: A Practical Guide. Wiley. DOI: 10.1002/0470861218.
- Bellifemine, F., Caire, G., & Greenwood, D. (2007). Developing Multi-Agent Systems with JADE. Wiley. DOI: 10.1002/9780470058411.
- Wooldridge, M., & Ciancarini, P. (2001). Agent-Oriented Software Engineering. DOI: 10.1007/3-540-44564-1_1.
- Quigley, M., Conley, K., Gerkey, B., et al. (2009). ROS: an Open-Source Robot Operating System. ICRA Workshop on Open Source Software.
- Maruyama, Y., Kato, S., & Azumi, T. (2016). Exploring the Performance of ROS2. EMSOFT. DOI: 10.1145/2968478.2968502.
- Macenski, S., Foote, T., Gerkey, B., et al. (2022). Robot Operating System 2: Design, architecture, and uses in the wild. Science Robotics, 7, eabm6074. DOI: 10.1126/scirobotics.abm6074.
- Bellemare, M. G., Naddaf, Y., Veness, J., & Bowling, M. (2013). The Arcade Learning Environment. JAIR, 47, 253–279. DOI: 10.1613/jair.3912.
- Machado, M. C., Bellemare, M. G., Talvitie, E., et al. (2018). Revisiting the Arcade Learning Environment. JAIR, 61, 523–562. DOI: 10.1613/jair.5699.
- Brockman, G., Cheung, V., Pettersson, L., et al. (2016). OpenAI Gym. arXiv:1606.01540.
- Mnih, V., Kavukcuoglu, K., Silver, D., et al. (2015). Human-level control through deep reinforcement learning. Nature, 518, 529–533. DOI: 10.1038/nature14236.
- van Hasselt, H., Guez, A., & Silver, D. (2016). Deep Reinforcement Learning with Double Q-learning. AAAI. arXiv:1509.06461.
- Mnih, V., Badia, A. P., Mirza, M., et al. (2016). Asynchronous Methods for Deep Reinforcement Learning. ICML, PMLR 48, 1928–1937.
- Henderson, P., Islam, R., Bachman, P., et al. (2018). Deep Reinforcement Learning that Matters. AAAI. DOI: 10.1609/aaai.v32i1.11694.
- Ross, S., Gordon, G. J., & Bagnell, J. A. (2011). A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning. AISTATS, PMLR 15, 627–635.
- Ho, J., & Ermon, S. (2016). Generative Adversarial Imitation Learning. NeurIPS. arXiv:1606.03476.
- Silver, D., Huang, A., Maddison, C. J., et al. (2016). Mastering the game of Go with deep neural networks and tree search. Nature, 529, 484–489. DOI: 10.1038/nature16961.
- Silver, D., Schrittwieser, J., Simonyan, K., et al. (2017). Mastering the game of Go without human knowledge. Nature, 550, 354–359. DOI: 10.1038/nature24270.
- Lowe, R., Wu, Y., Tamar, A., et al. (2017). Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments. NeurIPS. arXiv:1706.02275.
- Foerster, J., Farquhar, G., Afouras, T., et al. (2018). Counterfactual Multi-Agent Policy Gradients. AAAI. arXiv:1705.08926.
- Rashid, T., Samvelyan, M., Schroeder de Witt, C., et al. (2018). QMIX. ICML, PMLR 80, 4295–4304.
- Espeholt, L., Soyer, H., Munos, R., et al. (2018). IMPALA. ICML, PMLR 80, 1407–1416.
- Kapturowski, S., Ostrovski, G., Quan, J., et al. (2019). Recurrent Experience Replay in Distributed Reinforcement Learning. ICLR. arXiv:1806.00909.
- Vinyals, O., Babuschkin, I., Czarnecki, W. M., et al. (2019). Grandmaster level in StarCraft II using multi-agent reinforcement learning. Nature, 575, 350–354. DOI: 10.1038/s41586-019-1724-z.
- Berner, C., Brockman, G., Chan, B., et al. (2019). Dota 2 with Large Scale Deep Reinforcement Learning. arXiv:1912.06680.
- Schrittwieser, J., Antonoglou, I., Hubert, T., et al. (2020). Mastering Atari, Go, chess and shogi by planning with a learned model. Nature, 588, 604–609. DOI: 10.1038/s41586-020-03051-4.
- Hafner, D., Lillicrap, T., Ba, J., & Norouzi, M. (2020). Dream to Control. ICLR. arXiv:1912.01603.
- Yao, S., Zhao, J., Yu, D., et al. (2023). ReAct: Synergizing Reasoning and Acting in Language Models. ICLR. arXiv:2210.03629.
- Yao, S., Yu, D., Zhao, J., et al. (2023). Tree of Thoughts. NeurIPS. arXiv:2305.10601.
- Schick, T., Dwivedi-Yu, J., Dessì, R., et al. (2023). Toolformer. NeurIPS. arXiv:2302.04761.
- Patil, S. G., Zhang, T., Wang, X., & Gonzalez, J. E. (2023). Gorilla. arXiv:2305.15334.
- Tang, Q., Deng, Z., Lin, H., et al. (2023). ToolAlpaca. arXiv:2306.05301.
- Park, J. S., O'Brien, J. C., Cai, C. J., et al. (2023). Generative Agents. UIST. DOI: 10.1145/3586183.3606763.
- Shinn, N., Cassano, F., Gopinath, A., et al. (2023). Reflexion. NeurIPS. arXiv:2303.11366.
- Packer, C., Fang, V., Patil, S. G., et al. (2023). MemGPT. arXiv:2310.08560.
- Wang, G., Xie, Y., Jiang, Y., et al. (2023). Voyager. arXiv:2305.16291.
- Wu, Q., Bansal, G., Zhang, J., et al. (2024). AutoGen. COLM. arXiv:2308.08155.
- Qian, C., Cong, X., Yang, C., et al. (2024). ChatDev. ACL. arXiv:2307.07924.
- Liu, X., Yu, H., Zhang, H., et al. (2024). AgentBench. ICLR. arXiv:2308.03688.
- Zhou, S., Xu, F. F., Zhu, H., et al. (2024). WebArena. ICLR. arXiv:2307.13854.
- Mialon, G., Fourrier, C., Swift, C., et al. (2024). GAIA. ICLR. arXiv:2311.12983.
- Jimenez, C. E., Yang, J., Wettig, A., et al. (2024). SWE-bench. ICLR. arXiv:2310.06770.
- Yang, J., Jimenez, C. E., Wettig, A., et al. (2024). SWE-agent. NeurIPS. arXiv:2405.15793.
- Mei, K., Zhu, X., Xu, W., et al. (2024). AIOS: LLM Agent Operating System. arXiv:2403.16971.
- Dong, L., Lu, Q., & Zhu, L. (2024). AgentOps: Enabling Observability of LLM Agents. arXiv:2411.05285.
- Debenedetti, E., Zhang, J., Balunović, M., et al. (2024). AgentDojo. arXiv:2406.13352.
- Anthropic. (2024). Introducing the Model Context Protocol. Official specification announcement, 25 November 2024.
- Luo, X., Zhang, Y., He, Z., et al. (2025). Agent Lightning. arXiv:2508.03680.
- Deng, X., Da, J., Pan, E., et al. (2025). SWE-Bench Pro. OpenReview: 9R2iUHhVfr.