ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Agent AI 综述拆解:从 LLM/VLM 到多模态智能体落地与评测

Agent AI 综述拆解:从 LLM/VLM 到多模态智能体落地与评测

简介:这份资源是李飞飞团队出品的AI Agent综述论文,面向人工智能研究者、多模态交互方向的学生与工程师,帮助读者系统理解Agent AI的原理、架构及其在物理与虚拟世界中的应用路径。压缩包内为1个PDF文件,约50.51MB,完整收录了《Agent AI: Surveying the Horizons of Multimodal Interaction》全文,涵盖Agent AI系统概述、具身代理构建、跨现实训练框架以及多模态感知与行动等核心章节。论文提出将现有基础模型作为具身代理的基本构建块,通过生成式AI与多个独立数据源实现现实不关注的训练,使模型具备处理视觉与上下文数据的能力,并探讨了利用代理范式缓解大模型幻觉、迈向通用人工智能的可能性。目前已有6901人学习下载,适合希望深入把握Agent AI研究脉络、追踪多模态智能前沿的读者研读参考。

1. 从一份 80 页综述说起:Agent AI 到底在解决什么问题

如果你最近在折腾多模态智能体,大概率绕不开一份被反复转发的长文综述——它把“Agent AI”从散落在游戏 NPC、机器人控制、医疗辅助里的碎片,收拢成一个能自洽的框架。我拿到这份资源的第一反应不是“又一篇综述”,而是翻到目录看它有没有把感知—推理—行动这条链路讲透。结果它确实做到了:从 LLM/VLM 作为基础构件,到 Agent Transformer 的定义与创建,再到跨模态、跨现实、仿真到真实的迁移,最后落到数据集与评测基准。整份文档约 80 页,含附录里的 GPT-4V Agent 提示细节和多个游戏环境实测记录,适合两类人:一是想快速建立 Agent AI 全局认知的算法工程师,二是需要为具体项目选型找理论依据的落地开发者。它不教你调某个库,但能帮你判断“我的场景该不该上 Agent 架构、该用哪类基础模型、评测怎么做”。

2. Agent AI 的骨架:从 LLM/VLM 到 Agent Transformer

2.1 为什么不是“套壳 LLM”而是独立范式

很多人第一次接触 Agent AI 会误以为就是给 LLM 加个工具调用。这份综述在 Motivation 部分把历史脉络拉回到 1956 年达特茅斯会议和 1970 年 MIT 的“Copy Demo”积木世界系统,指出 AI 领域过度细分导致整体目标模糊,而 LLM/VLM 的爆发让“整体论”重新可行。Agent AI 的定义很明确:一类交互式系统,能感知视觉刺激、语言输入和其他环境数据,并产生有意义的具身动作。关键差异在于动作预测——不是生成一段文本就结束,而是预测下一步具身动作,并引入外部知识、多感官输入和人类反馈来持续改进。这解释了为什么单纯堆 LLM 参数解决不了幻觉和环境不一致问题:模型需要被“锚定”在具体环境里,通过行动获得反馈闭环。

2.2 Agent Transformer 的创建流程

综述第 3 章给出了 Agent Transformer 的定义与创建路径。我把它拆成可操作的四个阶段,方便你在自己的项目里对照:

阶段一:基础模型选型。LLM 负责语言理解和推理,VLM 负责视觉 grounding。综述没有指定具体模型版本,但强调基础模型是“基本构建块”,意味着你可以替换。常见做法是选一个支持多图输入和长上下文的 VLM 作为感知前端,再配一个推理能力强的 LLM 做规划。

阶段二:环境接口定义。Agent 需要感知和动作两套接口。感知侧包括视觉帧、音频特征、文本状态;动作侧包括离散指令、连续控制量、API 调用。综述在游戏和机器人章节反复强调,接口设计决定了后续训练策略。

阶段三:训练策略选择。第 4 章覆盖了强化学习、模仿学习、传统 RGB、上下文学习和优化。零样本和少样本层面靠 Agent 模块和基础设施;预训练和微调层面靠 Agentic 基础模型。我一般会先用上下文学习快速验证任务可行性,再决定是否投入 RL 或 IL。

阶段四:评测与迭代。第 9 章给了 CuisineWorld 多智能体游戏数据集和音视频语言预训练数据集,包含基准、任务、指标和评判方法。没有评测闭环的 Agent 项目基本等于盲跑。

下面这段伪代码展示了一个最小 Agent 循环的结构,你可以把它当作骨架往里面填具体模型:

# 最小 Agent 循环骨架:感知 -> 推理 -> 动作 -> 反馈 class AgentLoop: def __init__(self, perception_model, reasoning_model, action_space): self.perception = perception_model # VLM,处理视觉和语言输入 self.reasoning = reasoning_model # LLM,做规划和决策 self.action_space = action_space # 动作空间定义 self.memory = [] # 上下文记忆,存历史观察和动作 def step(self, observation): # 1. 感知:把原始观察编码成结构化表示 encoded = self.perception.encode(observation) # 2. 记忆更新:保留最近 N 步,避免上下文爆炸 self.memory.append(encoded) self.memory = self.memory[-10:] # 3. 推理:基于记忆和当前观察生成动作 action = self.reasoning.plan(self.memory, self.action_space) # 4. 执行并返回动作,环境反馈由外部注入 return action

逻辑说明:perception_model和reasoning_model分离是综述里“基础模型作为构建块”的直接体现,方便替换和消融。memory截断长度是工程上必须做的,否则长程任务会撑爆上下文。action_space作为参数传入,对应不同环境(游戏、机器人、医疗)的动作定义差异。

参数说明:记忆窗口[-10:]不是固定值,综述在游戏实验中用的窗口更短,因为帧间冗余高;机器人任务可以适当放长。动作空间如果是连续控制,plan返回的是向量而非离散 token,需要额外加一层映射。

2.3 幻觉抑制与环境锚定

综述在 2.2.1 节专门讨论幻觉,指出在 grounded 环境中开发 Agent AI 系统可以缓解大基础模型的幻觉和环境错误输出。这个结论对落地很有价值:与其在纯文本层面反复 prompt 约束,不如让 Agent 在环境里行动并接收真实反馈。比如在游戏场景中,Agent 预测“向前走”后如果撞墙,环境会直接给出碰撞信号,这比任何文字纠正都有效。医疗场景同理,Agent 的建议需要与患者数据 grounding,而不是凭空生成。

3. 多模态交互的落地路径:游戏、机器人、医疗怎么接

3.1 游戏场景:NPC 行为与场景合成

综述第 6.1 节把游戏作为 Agent AI 的重要试验场,覆盖 NPC 行为、人机交互、基于 Agent 的游戏分析和场景合成。附录里还有多个游戏环境的 GPT-4V Agent 提示细节和实测记录。我梳理了从零接入一个游戏 Agent 的步骤:

第一步:确定观察空间。游戏画面帧、游戏内状态文本(血量、坐标、任务列表)、音频事件。综述里的实验多用画面帧加文本状态,因为纯画面推理成本高且容易丢失关键数值。

第二步:定义动作空间。离散动作(移动、攻击、交互)还是连续控制。NPC 行为通常用离散动作加高层策略,场景合成则更偏向生成式。

第三步:构建提示模板。附录 A 到 F 给了 GPT-4V Agent 的提示细节,核心思路是把当前观察、历史动作、任务目标结构化填入模板,并要求模型输出可解析的动作指令。

第四步:评测。用 CuisineWorld 数据集的多智能体协作任务做基准,指标包括任务完成率、协作效率和动作合理性。

# 游戏 Agent 的提示模板构造示例 def build_game_prompt(observation, history, task): prompt = f"""你是一个游戏 Agent,当前任务:{task} 当前观察: - 画面描述:{observation['frame_desc']} - 状态数值:血量={observation['hp']}, 坐标=({observation['x']},{observation['y']}) - 可用动作:{observation['actions']} 最近动作历史:{history[-5:]} 请输出下一步动作,格式为 JSON:{{"action": "...", "reason": "..."}}""" return prompt

逻辑说明:把画面描述和状态数值分开,是因为 VLM 对纯画面中的小字数值识别不稳定,显式文本化能显著降低错误率。动作历史截断到最近 5 步,避免提示过长。要求 JSON 输出是为了后续解析,综述附录里的实验也采用结构化输出。

参数说明:history[-5:]可根据任务复杂度调整,长程任务可以放到 10 步,但要注意 token 消耗。actions列表需要与环境实际可用动作严格一致,否则模型会输出无效动作。

3.2 机器人场景:LLM/VLM Agent 的接入方式

第 6.2 节讨论 LLM/VLM Agent 在机器人中的应用。与游戏不同,机器人有真实的物理约束和安全要求。综述强调 sim-to-real 迁移(7.4 节),即先在仿真环境训练,再迁移到真实硬件。我一般会按这个顺序推进:

  1. 仿真环境搭建:用仿真器提供视觉观察和物理反馈,动作空间是关节角度或末端执行器位姿。
  2. 模仿学习打底:先用人类演示数据做行为克隆,让 Agent 有基本操作能力。
  3. RL 微调:在仿真里用强化学习优化任务成功率,奖励函数要设计得保守,避免危险动作。
  4. 真实迁移:逐步放开自由度,先固定底座,再放开移动,每次只改一个变量。

综述在 4.1 节把 RL 和 IL 并列,没有偏废。实际项目中,纯 RL 在真实机器人上样本效率太低,纯 IL 又容易过拟合演示分布,常见做法是 IL 初始化加 RL 微调。

3.3 医疗场景:当前能力与边界

第 6.3 节讲医疗,篇幅不长但态度谨慎。当前能力集中在信息整合、辅助问答和流程提醒,不涉及直接诊断决策。综述把医疗放在应用任务章节而非核心范式章节,暗示它更多是 Agent AI 的下游场景,而非驱动技术演进的主战场。如果你在做医疗方向的 Agent,建议把 grounding 做得更重:所有输出必须能追溯到患者数据或医学知识库,且保留人工复核环节。

4. 避坑与排查:Agent AI 落地时最容易翻车的五个点

4.1 现象:Agent 在长程任务中“忘记”早期关键信息

原因:上下文窗口有限,记忆模块简单截断导致早期观察被丢弃。综述在 Agent 基础设施部分提到记忆管理,但没给具体方案。

解决:引入分层记忆,短期记忆存最近 N 步原始观察,长期记忆用向量库存摘要。每 K 步做一次摘要压缩,把关键状态写入长期记忆。我一般会在任务关键节点强制写入,比如“拿到钥匙”“血量低于 30%”。

4.2 现象:VLM 对画面中的小字数值识别错误,导致动作决策离谱

原因:VLM 的视觉编码器分辨率有限,游戏画面或机器人仪表盘上的小字容易被忽略或误读。

解决:不要依赖 VLM 读数值。把关键状态用文本形式单独注入提示,画面只用于空间关系理解。综述附录里的游戏实验也是这么做的,状态数值和画面描述分开提供。

4.3 现象:仿真里表现很好,一到真实环境就崩

原因:sim-to-real 的视觉域差异和物理参数差异。仿真渲染的画面纹理、光照和真实摄像头差距大,物理摩擦、延迟也不一致。

解决:综述 7.4 节提到跨现实训练。实操上,一是在仿真里做域随机化(纹理、光照、噪声),二是真实环境先采集少量数据做微调,三是动作空间留安全余量,不要贴着物理极限跑。

4.4 现象:多智能体协作时出现“互相等待”或“动作冲突”

原因:Agent 之间没有共享状态或通信协议,各自基于局部观察决策。

解决:CuisineWorld 数据集的设计思路值得借鉴——定义共享任务状态和角色分工,每个 Agent 的观察里包含其他 Agent 的最近动作。通信可以是显式的消息传递,也可以是隐式的状态共享。关键是评测指标要包含协作效率,而不只是单 Agent 任务完成率。

4.5 现象:幻觉在开放域任务中依然严重,grounding 也压不住

原因:环境反馈稀疏或延迟,Agent 在两次反馈之间生成了多步错误推理。

解决:缩短推理步长,每一步都要求环境反馈后再继续。如果环境反馈太慢,引入中间验证器,比如用一个轻量模型检查动作是否与当前观察一致。综述在幻觉章节的核心论点是 grounded 环境能缓解幻觉,但前提是反馈要及时且可解释。

5. 进阶用法:用综述里的评测框架反推自己的 Agent 设计

这份综述最容易被低估的是第 9 章的数据集和评测部分。很多人读完前几章就停了,但真正落地时,评测框架决定了你能不能迭代。我现在的习惯是:接到一个 Agent 需求,先不看模型选型,而是先照着综述里的评测维度搭一个最小评测集。

具体做法分三步。第一步,从 CuisineWorld 的基准设计里抄结构:任务定义、成功条件、协作指标、动作合理性评分。第二步,把音视频语言预训练数据集的模态对齐思路迁移过来,检查自己的 Agent 是否在多个模态上都有 grounding,而不是只靠文本。第三步,用附录里的提示细节做消融,固定其他变量,只改提示结构或记忆窗口,看指标变化。

下面这个评测表是我根据综述第 9 章整理的模板,你可以直接填自己的任务:

评测维度指标定义数据来源目标值
任务完成率成功任务数 / 总任务数环境日志根据基线设定
动作合理性有效动作数 / 总动作数动作解析器大于 0.95
协作效率多 Agent 任务平均步数环境日志越低越好
幻觉率与环境状态矛盾的动作数 / 总动作数人工抽检 + 规则校验小于 0.05
迁移成功率真实环境成功数 / 仿真成功数迁移实验大于 0.7

填完这张表,你会发现很多设计决策变得清晰:如果幻觉率居高不下,优先加环境反馈频率;如果协作效率差,优先改通信协议;如果迁移成功率低,优先做域随机化。综述没有直接给你调参公式,但它把评测的维度摆全了,剩下的就是按维度逐个击破。

从那以后我每次启动 Agent 项目,都强制先走一遍评测框架搭建,哪怕只花半天写个粗糙版本。没有评测的 Agent 开发就像没有刹车的车,跑得越快越危险。希望这份综述的拆解能帮到你,少走一段弯路。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进