大数跨境

一文了解Agentic AI和Agent(下)

一文了解Agentic AI和Agent(下) 易鑫AI
2026-03-11
0

YIXIN·AI·FINTECH

聚焦汽车金融智能化新阶段

2026·Agent 


上一期,我们在《一文了解Agentic AI和Agent(上) 》中分享了Agentic和Agent的定义、发展史以及分类。本期,我们将从系统概述、感知、规划、记忆、行动和反馈这几个角度拆解Agent的组成体系。


3. Agent 组成(本质定义)

3.1

系统概述

OpenAI Lilian Weng 2023年6月的Blog:LLM-powered Autonomous Agents

规划

  • 子目标与分解:智能体将大型任务拆分为更小、易于管理的子目标,从而高效处理复杂任务;

  • 反思与精炼:代理可以对过去的行为进行自我批评和自我反思,从错误中学习并为后续步骤加以改进,从而提升最终结果的质量;

记忆

  • 短期记忆:我认为所有上下文学习(参见提示工程)都是利用模型的短期记忆来学习;

  • 长期记忆:这使智能体能够在较长时间内保留和回忆(无限)信息,通常通过外部向量存储和快速检索实现;

工具调用

  • 代理学习调用外部 API,获取模型权重中缺失的额外信息(这些信息通常难以在预训练后更改),包括当前信息、代码执行能力、API的访问等;


哈工大2025年的论文:A Survey on the Feedback Mechanism of LLM-based AI Agents

  • 感知:感知模块使AI智能体能够分析和理解环境输入,识别⽀持任务执行的关键模式。

  • 规划:规划模块帮助AI智能体将复杂任务拆解为更简单的子任务,生成计划并指导行动,确保行为合乎逻辑且可靠。

  • 记忆:内存模块存储过去经验以支持决策,长期记忆保存稳定知识,短期记忆处理实时任务信息,使Agent能积累经验并在不同场景间传递知识。

  • 动作:动作模块将决策转化为作输出,通过工具、API和具象动作与环境交互,将代理的能力带入现实应用。

  • 反馈:反馈模块是赋予 Agent 自我反思和自我优化能力的关键组成部分。利用LLMs的力量,该模块帮助智能体批判性地评估其先前决策和行动,实现动态调整和优化,提升智能性和适应性。这一机制对于在复杂环境中实现持续演进尤为关键,确保任务执行更可靠、更高效。


融合OpenAI和哈工大关于Agent的组成体系,最终形成如下的组成体系,本章节也将围绕5个部分展开讨论


3.2

感知

  • VLM

    VLM = Vit + LLM

  • 声学前端

    ASR:INTERSPEECH 2025

    (https://arxiv.org/pdf/2507.08477)

    VAD

    AEC

  • TTS

    B站开源 IndexTTS2

    (https://arxiv.org/pdf/2506.21619)


3.3

规划

🔸推理与规划

推理:

  • 本质:一种静态的信息处理能力。它是指利用逻辑规则、常识或现有知识,从前提推导出结论的过程。

  • 关注点:“为了求真”。例如,解决一道数学题或推导三段论。

  • LLM表现:思维链(Chain-of-Thought, CoT)是典型的推理增强技术。


规划:

  • 本质:一种动态的决策生成能力。它是指为了实现特定目标,在考虑环境约束的情况下,制定一系列有序行动步骤的过程。

  • 关注点:“为了达成目标”。例如,指挥机器人从厨房拿一杯水到卧室。

  • 核心特征:规划具有强烈的时序性和环境交互性


🔸规划关键划分体系

观测视角:

  • 全局观测:智能体拥有上帝视角,掌握环境的所有信息。

  • 部分观测:更符合真实世界场景,智能体只能通过受限的传感器获取部分信息,需要处理未知与不确定性。

任务层级:

  • 高层规划:负责制定宏观策略(例如:“做一份早餐”)。

  • 低层规划:负责具体的原子动作执行(例如:“打开冰箱”、“拿起鸡蛋”)。

执行循环:

  • 开环:一次性生成完整计划并执行,不依赖中途反馈。

  • 闭环:重规划 (Replan) 机制。执行一步,观察一步,根据环境反馈动态调整后续计划,具有更强的鲁棒性。


🔸主流规划模块

目前的学术界主要通过三条技术路线来赋予或增强LLM的规划能力:

外部模块增强:由于LLM存在幻觉和记忆窗口限制,该方法主张“外挂”工具来辅助规划。

  • 原理:将LLM作为控制器,结合外部的规划器 (Planner) 和长时记忆模块

  • 优势:能够利用现有的符号规划算法(Symbolic Planners)保证逻辑的严密性,或利用向量数据库检索历史经验。

基于微调的方法:该方法旨在通过训练让模型“内化”规划能力。

  • 原理:使用高质量的专家轨迹数据进行监督微调(SFT),或利用环境反馈的奖励信号进行强化学习(RL)。

  • 典型代表:Decision Transformer (DT) 类模型,将规划问题转化为序列预测问题。

基于搜索的方法:该方法受到人类“系统2”思维(慢思考)的启发,利用推理时的计算寻找最优解。

  • 原理:在思维空间中构建搜索树(如 ToT 或 MCTS)。模型不仅仅生成下一个词,而是生成多个可能的步骤,评估其价值,并进行剪枝或回溯。

  • 优势:在解决复杂的逻辑谜题或需要长程依赖的任务中表现最佳。


🔸评估体系

数据集:涵盖从数字环境具身环境以及特定垂直领域(科学实验、医疗)的多种场景。

指标:

  • 轨迹级:任务成功率。

  • 步骤级:每一步动作的合法性和准确性。


🔸可解释性分析

在规划任务中,了解“模型为什么这样决策”比“模型是否成功”更为重要,这直接关系到AI系统的安全性与可信度。可解释性分析主要分为两个流派:

外部解释:基于行为的诊断

这种方法将LLM视为一个黑盒,通过控制输入和分析输出来推断其内部逻辑,类似于对智能体进行“心理测试”。

  • 扰动测试:通过微调任务描述(例如改变目标物体的颜色、位置描述),观察生成的计划是否发生合理变化,以此验证模型是否真正理解了环境语义,而非仅仅依赖记忆背诵。

  • 自我验证:要求LLM在生成动作序列的同时输出“思维链(CoT)”,解释每一步决策的依据(Why-outcome)。例如,分析模型是否能明确指出“先找钥匙”是因为“门被锁住了”。

内部解释:基于机理的探究

这种方法试图打开黑盒,深入神经网络内部(White-box analysis),寻找负责规划能力的物理载体。

  • 表征定位:研究者试图在LLM的层级结构中找到“世界模型”的证据。例如,探究模型是否利用特定的神经元激活模式来存储“当前位置”、“目标状态”或“空间地图”等关键信息。

  • 注意力回路分析:分析模型在进行多步推理时,注意力头(Attention Heads)是如何在长文本中分配权重的。这能帮助我们判断模型在规划时,是否正确地关注到了环境中的关键约束条件(如障碍物、先决条件)。


3.4

记忆--上下文工程

3.4.1 上下文工程

🔸Context Engineer 定义

Context Engineering:上下文工程是一种系统化的过程,旨在设计和优化上下文的收集、存储、管理和使用,以提升机器的理解能力及任务执行性能。

  • Context:可用于描述与用户和应用程序之间 交互 相关实体情境的任何信息

  • Interaction:用户与应用程序之间任何可观察的互动,包括显式动作(例如点击、命令)以及隐式行为(例如注意力模式、环境调整),这些行为可能影响或受到计算系统的影响。


Context Engineering 第一性原理:上下文工程可以被视作一个熵减少的过程。

  • 解释:机器不像人类那样能够在交流中有效“填补空白”。当人们互动时,依赖于听者主动降低信息熵的能力——即通过共享知识、情感线索和情境意识来推断缺失的上下文。


LLM时代 Context Engineering 具象化定义:

当前基于 LLM 的 Context Engineering 步入2.0阶段。在21 世纪初,Context Engineer 1.0的稳健理论框架开始出现。


其中,Anind K. Dey 于 2001 年对上下文的定义尤为突出,成为基石:

上下文是指可用于描述实体状况的任何信息。实体是指与用户和应用程序之间交互相关的人、地点或物体,包括用户和应用程序本身。

这一定义强调了情境的多维度特性。Dey 的工作为系统性地捕捉和利用情境以提升系统适应性和用户体验奠定了基础。这一时期理论工作的广度和深度均十分显著,强调对情境的整体性理解。这与当今较为狭窄的关注点形成对比,后者往往将情境的特定方面(如聊天历史)孤立出来进行研究这种关注点的缩小代表了一种倒退。


🔸为什么谈论 Context Engineer

  • 长上下文模型的普及与局限:虽然Gemini 1.5 Pro支持200万Token,但研究表明模型的推理能力并不会随着窗口长度线性增长,反而会出现注意力分散和召回率下降 ;

  • 智能体复杂度的提升:从单步问答到多智能体协作(Multi-Agent),系统需要维护的状态信息呈现爆炸式增长,必须通过工程手段进行管理;

  • 成本压力:企业在部署AI应用时,发现Token成本占据了总拥有成本的绝大部分。语境工程提供了通过精简上下文来降低成本的关键手段。


🔸Context Engineering 操作

上下文不是静态的文本堆砌,而是一个动态的生命周期。在操作侧,我们需要关注上下文的写入、存储、抽象


写入

从原始信号到机器表征,写入是上下文工程的基石。有效的写入处理是后续系统理解、压缩和检索的前提。

  1. 文本上下文写入

在以文本为主的交互中,除了简单的日志记录,Context Engineering 2.0 识别出四种主流的写入范式,每种范式都在“结构化程度”与“信息保真度”之间进行权衡:

时序标记写入

  • 机制:在每条信息上附加时间戳,严格保留生成的线性顺序。

  • 权衡:这是最基础的设计,维护成本低,天然适配聊天记录。但它是一种“弱语义”结构,难以捕捉长程依赖关系(Long-range Dependencies),且随着序列线性增长,推理的可扩展性变差。

功能与语义属性标注

  • 机制:通过显式标签对条目进行“角色化”定义(如 <Goal>, <Decision>, <Action>)。

  • 权衡:显著提升了检索效率(例如只检索“决策”节点),但预定义的标签体系往往过于僵化,可能限制模型在复杂场景下的灵活推理。

QA 对齐压缩写入

  • 机制:将上下文重构为独立的“问题-答案”对。

  • 权衡:极度适配 RAG 和搜索引擎,检索命中率高。但这种“切碎”破坏了原始思想的连贯性,导致上下文脉络丢失,不适合长文本摘要或复杂逻辑推理。

分层注释压缩写入

  • 机制:将信息组织成树状结构,从宽泛概念分支到具体子点。

  • 权衡:清晰呈现信息分组,但往往丢失了逻辑联系(因果链条)和演变过程(旧观点如何被修正)。

工程建议:实际应用中建议采用混合模式。以“时序标记”为底座保留演变过程,叠加“功能标注”以提升关键节点(如 Tool Use)的检索效率。


  1. 多模态上下文写入

随着 Agent 深入物理或模拟环境,上下文涵盖了图像、音频、代码及传感器数据。核心挑战在于异质性。为了将这些跨模态信息整合为统一表示,主要有三种策略:

映射到共享向量空间

  • 机制:不同模态经过各自编码器后,通过投影层变换到一个固定维度的共享嵌入空间。

  • 效果:在此空间中,距离代表语义相关性。无关内容被推开,相关内容(无论图像还是文本)彼此靠近,适合基础的跨模态检索。

融合自注意力机制

  • 机制:现代多模态大模型(如 GPT-4o, Claude 3.5)采用的策略。投影后,模态特定的 Token(文本 Token 和视觉 Patch Token)进入单一 Transformer 架构联合处理。

  • 效果:实现细粒度的跨模态对齐。模型能捕捉微小对应关系(如“红色按钮”文本对应图像的哪个具体像素区域),而非简单的浅层拼接。

交叉注意力聚焦

  • 机制:使用交叉注意力层,让一种模态(通常是文本 Query)作为查询,直接关注另一种模态(如图像 Key/Value)的特定部分。

  • 效果:赋予模型 目标导向(Goal-oriented) 的检索能力,使其能根据指令灵活“搜寻”视觉信息。


存储

分层架构与隔离机制,将所有信息塞入 Context Window 既昂贵又低效,故而提倡分层存储架构。

  1. 分层存储

  • L1 工作记忆:存放当前任务指令、最近几轮对话及活跃工具。昂贵、易失。

  • L2 情景记忆 :基于向量数据库,存储相关的历史片段和过往经验。

  • L3 语义/程序记忆:基于知识图谱或核心规则库。LangChain 建议将 Agent 的核心人设与硬性规则(如“绝不删除用户数据”)固化在此层,每次会话强制加载。

  1. 上下文隔离

  • 为防止“上下文污染(Context Pollution)”或“冲突(Context Clash)”,Anthropic 建议在多任务场景下采用子智能体(Sub-agent)架构。

  • 主智能体负责协调,子智能体在独立的沙箱环境中维护自己的 Context Window,任务结束后仅返回“经过验证的结论”,从而保持主线程的清洁。


抽象

“抽象”是双向的:既包含向上抽取核心信息的压缩与总结,也包含向下展开细节的还原。

上下文压缩:压缩的目标是最大化信息密度,即用最少的 Token 承载最大的语义价值。这不仅仅是删除字符,而是语义层面的“降维”。

  • 紧凑化:这是 Anthropic 在长周期任务中推崇的核心技术。当 Context Window 接近饱和(例如达到 95%)时,系统不应简单地丢弃旧消息,而应触发一次“紧凑化”操作。

    a. 操作机制:将当前的完整对话历史(History Trace)作为输入,要求模型生成一个“压缩状态包”。这个包必须保留:关键的架构决策、当前未解决的报错信息、用户明确的偏好。

    b. 去噪策略:压缩过程中,必须显式丢弃“过程噪音”,例如冗长的工具调用日志(Tool Outputs)、中间的试错步骤以及礼貌性的寒暄。

  • 语法与语义裁剪

    a. 语法级:移除对模型理解影响微乎其微的停用词、多余换行符或 JSON 格式中的空白字符。

    b. 语义级:基于相关性评分(Relevance Score)移除与当前“活跃目标”无关的历史分支。


  1. 上下文还原:抽象往往意味着细节的丢失。为了保证执行的精确性,Context Engineering 必须包含逆向的“还原”机制,即在需要时将高层级的抽象符号展开为低层级的细节事实。

  • 即时展开 (Just-in-Time Expansion) :这是应对海量上下文(如大型代码库、法律文书)的最佳实践。

    a. 指针机制:在初始上下文中,只保留信息的“指针”或“句柄”,例如文件名 utils.py、API 摘要或文档链接。这些指针占用的 Token 极少。

    b. 还原触发:当模型判断需要了解 utils.py 的具体实现时,它会调用读取工具。此时,系统将该指针“还原”为完整的文件内容,并暂时加载到 Context Window 中。

    c. 价值:这种机制实现了“按需加载(Lazy Loading)”,让模型拥有了理论上无限的上下文视野,而只消耗实际关注部分的 Token 预算。

  • 分辨率控制 (Resolution Control):在多层级 Agent 系统中,上层规划者传递给下层执行者的指令往往是抽象的(如“优化数据库性能”)。“还原”过程就是下层 Agent 将这一抽象指令分解、细化为具体的 SQL 调优步骤和参数配置的过程。


  1. 上下文总结:总结不同于压缩,压缩侧重于“保留现状”,而总结侧重于“综合与学习”。总结是将线性交互转化为结构化知识的过程。

  • 递归总结:针对超长会话(如数小时的头脑风暴),采用分块递归策略。先对每 10 轮对话生成一个微型摘要(Micro-Summary),再对这些微型摘要进行二次汇总,形成全局摘要(Global Summary)。这能有效防止“遗忘曲线”在长序列末端出现。

  • 状态合成:LangChain 的 Stateful Agent 理念强调,总结不应只是文本的概括,而应是对**系统状态(State Object)**的更新。

    工程实践:不记录“用户说想买红色的鞋,AI 推荐了 A 款”,而是总结并更新状态字段:Preferences: { color: "red", category: "shoes" }。这种结构化的总结能够跨越会话周期,成为长期记忆的一部分。

  • 情景与语义分离:在总结时,应分离情景记忆(发生了什么,Episodic)和语义记忆(学到了什么,Semantic)。前者用于回溯历史,后者用于指导未来的行为准则(例如将“用户不喜欢 Python 代码”总结为一条 System Prompt 中的约束规则)。


🔸Context Engineering 应用

应用侧关注上下文如何在系统组件间流转,确保“正确的信息在正确的时间出现”。

系统内上下文共享:状态即上下文

  • 在 LangGraph 等现代框架中,上下文不再是线性的文本流,而是结构化的状态对象(State Object)。

  • 共享Schema:系统内所有节点(Planner, Executor, Critic)共享同一份状态定义。

  • 并行读写:不同组件读取同一个状态,但只更新自己负责的字段。这种设计实现了上下文的解耦与高效流转。

跨系统上下文共享:协议与互操作

  • Context Engineering 2.0 展望了跨越单一 App 的上下文流转。未来的“日历 Agent”生成的会议上下文(时间、地点、意图),需要无损传递给“打车 Agent”。这需要建立标准化的 Context Protocol,将非结构化意图转化为可跨系统传输的 JSON 载体,打破应用孤岛。

上下文选择:Just-in-Time (JIT) 策略,这是应用侧的核心优化点。

  • 动态检索:Anthropic 提倡 Just-in-Time Context。与其在初始 Prompt 中塞入整个代码库(导致 Context Rot),不如赋予 Agent 使用 grep、file_read 的能力。Agent 根据任务需求,自主决定拉取哪部分上下文。

  • 工具定义的 RAG:当系统拥有上百个工具时,仅工具描述就会耗尽窗口。最佳实践是对工具定义本身进行 Embedding 检索,仅动态加载与当前 Query 相关的 Top-N 工具。


🔸Context Engineering 新兴工程实践

理论落地于细节。以下是业界在 Context Engineering 领域的最新工程范式。

KV 缓存 (KV Cache) 友好型设计

  • 为了降低长上下文推理的延迟(TTFT)和成本,必须利用 KV Cache 技术。

  • 前缀优化:工程上应将“静态上下文”(庞大的 System Prompt、Few-shot Examples、核心文档)严格置于 Context 的前缀位置。

  • 拼接逻辑:遵循 [Static Content] + [Dynamic History] + [New Query] 的顺序,确保前缀部分的计算结果可以被跨请求复用。

维护 todo.md (Agentic Memory)

  • 这是 Anthropic 极力推崇的 结构化笔记(Structured Note-taking) 模式,用于解决长周期任务中的迷失问题。

  • 操作:Agent 在文件系统中维护一个 todo.md。

  • 流程:每步操作后,Agent 显式更新该文件,记录“已完成”、“下一步”和“关键决策”。

  • 价值:即使发生 Context Reset,只要重读这个小文件,Agent 就能瞬间恢复“状态感”。它充当了 Agent 的“外挂海马体”。

工具设计 (Tool Design)

  • 工具不仅是能力,更是上下文。

  • 语义密度:工具参数描述应极度精炼且无歧义。

  • 输出裁剪:工具的返回值(Output)是上下文消耗大户。应设计“摘要型”工具,例如数据库查询工具不返回 1000 行原始数据,而是返回统计摘要和 Schema,迫使模型在必要时进行二次精确查询。

System Prompt 的模块化

  • System Prompt 已演变为代码工程。

  • 组件化:将 System Prompt 拆分为 <Role>, <Constraints>, <Style> 等模块动态组装。

  • Meta-Prompting:使用高阶模型(如 Claude Opus)编写和优化用于生产环境模型(如 Claude Haiku)的 Prompt,通过“大模型教小模型”实现上下文指令的最佳工程化表达。


🔸Context Engineering 开源项目


3.4.2 Memory

🔸为什么会有Memory -- 无状态模型到持久化智能体

人工智能领域,尤其是大语言模型(LLM)的迅猛发展,正在促使计算范式从静态的请求-响应模式向动态、自主的智能体(Agent)工作流转变。


尽管GPT-4、Claude 3和Gemini等前沿模型展现出了令人惊叹的推理与生成能力,但它们在本质上仍受限于一个核心架构缺陷:无状态性(Statelessness)。


在原生的LLM交互中,每一次推理都是孤立的事件,模型本身并不具备跨越时间维度的连续性,除非通过有限的上下文窗口(Context Window)显式地注入历史信息。


这种”金鱼效应”——即无法保留即时交互之外的信息——构成了通向通用人工智能(AGI)道路上的主要障碍,限制了智能体在复杂、长周期任务中的规划、个性化服务及错误修正能力。


在此背景下,记忆(Memory)不再仅仅是辅助性的功能模块,而是构建自主智能体(Autonomous Agents)的基石。


在智能体架构中,记忆被定义为一套复杂的架构与算法框架,其核心职能在于实现上下文的持久化保留、信息的动态检索以及知识随时间的进化。


它填补了瞬时感知与持续行动之间的鸿沟,使模型能够从单纯的文本生成器转变为具备连贯人格、能够维护世界观并在部署过程中进行“测试时学习(Test-Time Learning)”的主动实体。


🔸混淆概念区分:知识、画像、记忆

知识(Knowledge):通常指内嵌于LLM预训练权重中的参数化信息或通过RAG(检索增强生成)访问的通用事实库。它是静态的(除非进行微调)、泛化的,代表了智能体对世界的基础认知(例如"巴黎是法国的首都"或"Python是一种编程语言")。知识支撑着决策过程,但它不随单次交互而改变,不具备个体特异性


画像(Prohling/Persona):定义了智能体的身份图式(ldentity Schema)。这包括智能体的”自我概念”,如设定好的角色(“你是一个资深代码审查员”)、行为约束及静态的操作参数。画像设定了行为的边界条件与风格基调,但它类似于只读的系统配置,不具备动态进化的特征。


记忆(Memory):与之形成鲜明对比的是,记忆是经验的动态仓库。它是模型训练完成后,在实际交互过程中产生的特定记录、环境观测以及中间推理步骤的集合。记忆是可变的(Mutable)、具备高度的个体特异性(Specific),并且是智能体将新信息整合进决策回路的唯一媒介。


🔸mem的循环工作机制

  • 编码(Encoding):这是记忆形成的初始阶段,涉及将原始的感官输入(Sensory Input)转化为机器可理解的格式。在LLM 语境下,这通常意味着将用户的自然语言提示(Prompt)、工具的执行结果或环境的视觉信号转化为高维向量(Embeddings)或结构化的文本摘要。

  • 存储(Storage):将编码后的信息持久化在某种介质中,使其能够从当前的推理会话中存活下来。这是区分“有状态(Stateful)“智能体与”无状态“模型的关键物理基础。存储介质的选择(如向量数据库、图数据库或文件系统)直接决定了记忆的持久性与访问效率。

  • 检索(Retrieval):这是最具技术挑战性的环节。由于LLM存在上下文窗口(Context Window)的物理瓶颈(即便是1M或10M token 的窗口也存在“迷失中间”现象),智能体不能简单地回溯所有历史。检索机制必须根据当前的上下文,从海量历史中精准地提取出最相关的信息片段。这不仅关乎准确率,更关乎计算成本与响应延迟。

  • 固化与反思(Consolidation & Reflection):这是一个后台处理过程,旨在优化存储的信息结构。原始的交互流往往充满噪声与冗余。固化机制负责合并重复事实、丢弃无效信息,并通过“反思”将低层次的观察升华为高层次的洞察,从而实现知识的内化。


🔸mem的类别体系

  1. 基于认知科学的映射体系

人类记忆系统经过数百万年的进化,展现出了极高的能效比与检索效率。因此,Al研究者广泛借鉴人类记忆模型来设计智能体架构。

  • 感官记忆(Sensory Memory)— 原始提示输入/多模态嵌入(Raw Prompts/Multimodal Embeddings):在被 LLM 处理之前的瞬时输入状态。例如,Prompt工程中的初始刺激,或视觉Transformer 对图像的初步编码。

  • 工作记忆(Working Memory)— 上下文窗口(Context Window):LLM当前推理所能“看到”的Token序列。它包含了当前的对话历史摘要和刚刚检索到的相关片段,是进行推理的直接场所。

  • 情景记忆(EpisodicMemory)— 对话日志/向量存储(Conversation Logs/Vector Stores):按时间顺序索引的交互记录。它赋予智能体回忆“我们昨天讨论过这个问题”的能力,是实现连续性的关键。

  • 语义记忆(SemanticMemory)— 知识图谱/RAG数据库(Knowledge Graphs/RAG):从情景记忆中抽象出来的结构化事实(例如”用户A喜欢Python”)。通常通过反思机制从具体的对话中提取并固化。

  • 程序性记忆(Procedural Memory)— 少样本示例/工具库(Few-Shot Examples/Tool Libraries):存储在提示模版中的代码片段或API调用说明,教导智能体如何使用工具或执行特定任务流程。

这种映射不仅提供了理论支撑,还指导了工程实践。例如,为了防止幻觉并保持决策一致性,研究者建议在架构上严格分离情景记忆(具体的交互记录)与语义记忆(确定的事实),因为前者可能包含噪声,而后者应当是经过验证的真理。


  1. 3D-8Q 分类体系(对象、形式、时间)

华为诺亚方舟实验室等机构提出了一种更为严谨的工程分类法,即3D-8Q(三维八象限)分类学。该框架通过三个正交的维度来精准定位任何一种记忆模块。

三个核心维度:

维度一:对象一一存储什么?

  • 个体记忆:与特定用户或外部环境观察相关的数据。这是实现个性化服务的基础。

  • 系统记忆:智能体内部产生的元认知信息,如中间推理链(CoT)、自我反思日志或任务规划状态。这对复杂推理任务至关重要。

维度二:形式一一如何存储?

  • 参数化记忆:隐式存储在模型神经网络的权重中。虽然更新困难(需要微调),但它代表了知识的深度内化。

  • 非参数化记忆:存储在外部数据库(如 SQL、向量库)中,在推理时通过检索接入。这是目前智能体记忆的主流形式,具有高灵活性和低成本优势。

维度三:时间一一存多久?

  • 短期记忆:仅在当前会话或任务生命周期内保留。

  • 长期记忆:跨越会话持久化保存。

八个象限的实例解析:这三个维度的交叉产生了八种可能的记忆类型,涵盖了当前所有的技术实现:

  • 个体x非参数化x长期:例如,存储在向量数据库中的用户长期画像,用于跨越数月的个性化推荐。

  • 系统x非参数化x短期:例如,智能体在解决复杂数学题时使用的“草稿本”,存储临时的计算步骤。

  • 系统x参数化x长期:这对应于预训练模型本身所包含的逻辑推理能力和通用世界知识。

  • 个体x参数化x短期:较为少见,可能指在一次长会话中通过In-Context Learning临时”微调”模型行为的机制。


  1. 结构化分类:向量与图

除了功能分类,数据结构的差异也是核心分类依据,它直接决定了检索算法的上限。

非结构化/向量记忆(Unstructured/Vector Memory):

  • 机制:将文本切片(Chunks)转化为高维向量(Embeddings)。

  • 检索:基于余弦相似度(Cosine Similarity)。

  • 优势:擅长模糊匹配,能够处理非结构化的自然语言。

  • 劣势:存在"语义漂移(Semantic Drif)",难以处理精确的结构化关系。例如,向量检索很难回答"导致服务器崩溃的那个补丁是谁提交的?"这类涉及精确因果链的问题。

结构化/图记忆(Structured/Graph Memory):

  • 机制:使用知识图谱(Nodes andEdges)存储实体及其关系。

  • 检索:基于图遍历(Graph Traversal)或子图提取。

  • 优势:擅长多跳推理(Multi-hop Reasoning)和维持事实一致性。可以明确表达”A是B的子任务”或“事件X发生在事件Y之前"。

  • 劣势:构建成本高,需要复杂的实体抽取(NER)和关系抽取流程。


🔸长/中/短期记忆

1. 短期记忆/工作记忆(STM)

a. 定义:短期记忆是智能体当前的“注意力焦点”。它对应于 LLM 的上下文窗口,包含当前活跃的对话流、系统指令 以及刚刚检索到的相关信息。

b. 工作记忆与短期记忆的细微区别:

i. 短期记忆:通常指被动保留的最近 N 轮对话历史。  

ii. 工作记忆:则是一个更主动的“暂存区”,用于存储当前任务的中间推理步骤(Chain-of-Thought)、变量状态或工具调用的临时结果。

c. 特征:高保真(原始文本)、极快访问、易失性(随会话结束或窗口溢出而消失)、容量极其有限(受限于 Token 预算)。

d. 实现方式:

i. 滑动窗口:保留最近k轮对话

ii. Token缓冲:PD分离


2. 中期记忆 -- 情景缓冲区(MTM)

a. 定义:这是传统架构中常被忽视的一层。中期记忆 用于存储当前任务生命周期内或近期跨会话的信息,这些信息对于保持任务连贯性至关重要,但尚未重要到需要永久存储 。它充当了 短期记忆 与 中期记忆 之间的桥梁,类似于认知心理学中的“情景缓冲区” 。

b. 核心作用:解决“长上下文迷失”问题。当对话超出 短期记忆 限制时,早期的交互不会被直接丢弃,而是被压缩摘要存入 中期记忆。

c. 实现方式:

i. 摘要缓冲:如LangChain的 Conversation Summary Buffer Memory。当Token超标时,触发LLM将旧对话压缩为摘要,保留语义但丢弃逐字细节。

ii. 滑动时间窗口统计:在金融或监控智能体中,MTM 表现为过去 N 天(如 20日均线)的趋势数据,而非全量历史 。

iii. 会话级存储:Redis 或 Memcached 中的临时会话数据,有效期设定为数小时或直到任务完结。


3. 长期记忆(LTM)

a. 定义:LTM 是智能体跨越时间维度的知识仓库,存储了脱离具体上下文依然有价值的信息。它理论上拥有无限容量,且不随单一会话结束而消失。

b. 细分类型:

i. 情景记忆:记录“经历”。例如:“用户在上周二提到了他喜欢日本菜”。通常以时间线(Timeline)或事件流(Event Stream)形式存储。

ii. 语义记忆:记录“事实”。例如:“巴黎是法国首都”或“Python 是一种编程语言”。这是从情景记忆中提炼出的结构化知识。

iii. 程序性记忆:记录“技能”。例如:“如何使用 Python 调用天气 API”的 Few-Shot 示例或固化的 SOP(标准作业程序)。

c. 实现方式:向量数据库(Vector DB)、知识图谱(Knowledge Graph)。


4. 持久化记忆

a. 定义:虽然常与 LTM 混用,但“持久化”更侧重于系统级属性。它指数据在系统崩溃、重启或跨平台迁移后依然存在的能力。LTM 强调的是认知功能,而持久化强调的是数据的生存周期与序列化机制 。   

b. 核心特征:

i. 可恢复性:支持“断点续传”,如 MetaGPT 的序列化机制,当进程中断时可从磁盘读取 JSON 恢复状态 。 

ii. 所有权:用户数据不应锁死在模型中,而是存储在独立的文件系统或数据库(SQL/NoSQL)中。

c. 实现方式:文件系统(JSON/Pickle)、SQL 数据库(PostgreSQL)、云端托管服务(Mem0 Platform)。


🔸mem的存储架构

向量数据库:当前主流标准

以Pinecone、Milvus、Chroma为代表的向量数据库构成了第一代智能体记忆的基础设施。

  • 实现逻辑:智能体将每一轮对话历史H,转化为向量V,存入数据库。当新查询Q到来时,系统计算Sim(Q,V)并返回Top-K个最相关的片段。

  • 局限性:这种扁平化的存储结构缺乏对时间线和逻辑关系的感知。例如,如果用户先说"我喜欢红色",一周后说”我不再喜欢红色了",向量检索可能会同时返回这两条互相冲突的信息,而无法判断哪一条是当前的真理。


知识图谱与GraphRAG:下一代前沿

为了解决向量检索的局限,Microsoft推出的GraphRAG架构引入了基于图的存储范式。

  • 实现逻辑:系统首先利用LLM从原始文本中提取实体和关,构建知识图谱。

  • 社区摘要:GraphRAG的一大创新在于它不仅存储节点,还预先计算”社区"(紧密连接的节点群)的摘要。当用户提问“这段文档主要讲了什么?"等宏观问题时,系统不需要检索数千个碎片,而是直接检索高层级的社区摘要。

  • 混合存储:最先进的智能体(如Zep、MemO)开始采用”混合存储”策略,即同时维护向量索引(用于广泛的语义搜索)和图索引(用于精确的事实追踪),以平衡召回率与准确率。


🔸mem的检索策略

检索算法决定了智能体在特定时刻“想起”什么。这不仅仅是简单的数据库查询,而是一个复杂的评分与决策过程。

斯坦福大学的Generative Agents论文提出了一套经典的记忆检索评分算法,至今仍被广泛引用。该算法通过加权求和三个指标来计算每条记忆的最终得分:


1.时效性:

  • 逻辑:人类倾向于记住最近发生的事情。

  • 实现:使用指数衰减函数。

    其中衰减因子通常设为O.99或O.995。这意味着记忆每经过一个时间步,其权重就会微弱下降,确保旧记忆逐渐淡出,除非它们被频繁访问。

2.重要性:

  • 逻辑:并非所有记忆都是平等的。“和某人分手”比”吃早餐”更重要。

  • 实现:这是一个绝对分值,由LLM在记忆创建时打分。系统会Prompt模型:“从1到10,这件事有多重要?”。这种机制防止了琐碎的日常细节挤占宝贵的上下文窗口。

3.相关性:

  • 逻辑:记忆必须与当前情境相关。

  • 实现:计算当前查询向量与记忆向量的余弦相似度(Cosine Similarity)。

最终,系统会根据总分排序,截取适应当前上下文窗口长度的Top-N条记忆。


虚拟上下文管理

  • MemGPT(现更名为Letta)引入了类似操作系统的内存管理隐喻。

  • 主存(Main Context):对应LLM的上下文窗口,类比 OS的RAM。

  • 外存(External Context):对应外部数据库,类比 OS的 Disk。

  • 分页与交换(Paging& Swapping):智能体不仅仅是被动地检索,它拥有特殊的函数调用,可以主动将信息从主存”写入”外存(以此释放上下文空间),或从外存“调入”主存。这种自我编辑(Self-Editing)能力使智能体能够处理无限长度的上下文任务,而不会发生灾难性遗忘。


🔸mem的固化与反思

记忆流是原始且嘈杂的,反思机制是将其转化为结构化知识的关键步骤。

  • 反思树(ReflectionTrees):智能体定期暂停(例如在模拟的“睡眠”期间),扫描最近的观测记录。它会提出问题:“根据这些记录,我能得出什么高层结论?”。

    例子:从"用户点了拿铁”、“用户点了意式浓缩”、“用户点了美式"三条低级记录中,合成一条高级洞察:“用户偏好咖啡因饮料”。这条新生成的洞察会被作为一条新的记忆存入系统,并在未来的检索中享有更高的优先级。

  • 摘要压缩:通过递归摘要技术,将早期的对话历史压缩为概要,既保留了关键信息,又节省了Token消耗。


🔸mem的遗忘与冲突

一个真实的记忆系统必须具备处理过时和冲突信息的能力。

遗忘机制(Forgetting):

  • 除了简单的FIFO(先进先出)策略,更高级的系统采用熵驱动压缩(Entropy-Driven Compression)。该算法评估记忆的信息密度,修剪那些低价值或已包含在更高层摘要中的冗余观测,从而最大化存储效率。

  • 选择性遗忘(Selective Forgetting)被视为智能体的核心竞争力之一。当用户指令发生变更(如”我搬家了")时,智能体必须能够主动标记旧地址为失效,防止幻觉产生。

冲突解决(Conflict Resolution):

  • 当新信息与旧记忆矛盾时(例如用户说”我是素食主义者",但历史记录显示他吃过牛排),系统需要仲裁。

  • 算法实现:引入一个仲裁LLM,判断新信息的性质。操作分为三类:UPDATE(覆盖旧记忆)、ADD(作为新事实共存)、NO-OP(忽略新信息,视为噪声)。

  • 置信度加权:某些系统(如 Confidence-Weighted Memory Units)维护一个概率分布,根据证据的累积逐步更新对某一事实的置信度,采用贝叶斯更新策略来融合新证据。


🔸mem能力的评估

根据最新的MemoryAgentBench研究,评估记忆系统应聚焦于四大核心胜任力:

  • 精确检索(Accurate Retrieval, AR):在海量历史中精准定位特定信息的能力(“大海捞针”)。

  • 测试时学习(Test-Time Learning, TTL):智能体能否仅通过对话历史掌握新定义的技能或规则,而无需参数更新。

  • 长程理解(Long-Range Understanding, LRU):跨越漫长的时间跨度,综合分散的信息片段形成全局认知的能(例如“总结过去三个月用户的心情变化趋势”)。

  • 冲突解决(Conflict Resolution,CR):当环境或用户偏好发生变化时,更新记忆并抑制旧信息干扰的能力。


🔸mem的开源项目对比


3.5

行动--工具调用

🔸工具定义

工具:任何通过外部手段增强大语言模型的方法都可被视为工具。

工具学习:旨在释放大语言模型的力量,以有效地与各种工具交互来完成复杂任务。

为什么工具学习有用:

  • 大语言模型虽然具备强大的知识储备和推理能力,但本质上仍被限制在“静态文本生成”的框架内。模型参数中存储的知识存在滞后性,且缺乏与物理世界或外部数字环境交互的能力

  • 工具学习能够旨在解决上述局限性。它赋予了 Agent 调用外部 API、数据库、代码解释器等工具的能力,从而将 LLM 的角色从被动的“思考者”转变为能够感知环境并执行操作的自主“行动者”。这一机制极大地扩展了 Agent 的能力边界,使其能够解决数学计算、实时信息检索和复杂多步任务。


🔸工具使用工作流

使用大型语言模型进行工具学习的整体工作流。左侧展示了工具学习的四个阶段:任务规划、工具选择、工具调用和响应生成。


右侧显示了两种工具学习范式:单步任务求解的工具学习和迭代任务求解的工具学习。


任务规划与意图识别

  • Agent 在此阶段不仅要判断是否需要借助外部工具,更核心的职能在于 “编排”——即决定以何种顺序、调用哪些工具来解决问题。

  • 意图与边界判断:首先,模型需识别用户指令的性质,决定是直接作答还是激活工具模式。

  • 路径规划与时序编排:面对复杂任务,规划模块必须构建一个逻辑严密的执行图。这不仅涉及将宏观目标拆解为子目标,更关键的是处理工具间的逻辑依赖性。

    示例:在处理 “制定户外烧烤计划” 时,Agent 必须遵循严格的时序:先调用 Weather_API(查询天气) 确认天气适宜后,再调用 Location_Search(查找地点)最后调用 Calendar_API(添加日程)。这种对 “先后顺序” 和“因果逻辑” 的把控,是 Agent 智能水平的核心体现。 


工具选择与检索

面对工具库,Agent 需要精准定位最适合当前子任务的工具。实践中,通常根据工具库的规模将这一过程划分为两种截然不同的实现范式:

  • 场景 A:小规模工具集 —— 依赖 Function Call 自身选择当 Agent 仅配备少量常用工具(例如 10 个以内)时,由于上下文窗口足够容纳所有工具定义,系统通常采用全量注入策略。在此场景下,Function Calling 机制不仅负责生成调用指令,还利用自身的推理能力在多个可见选项中做出决策,完美承担了“工具选择”的任务。

  • 场景 B:大规模工具集 —— 依赖“检索 + Function Call”的两阶段筛选当 Agent 挂载了海量 API(例如成千上万个企业级中台接口)时,受限于上下文窗口长度,流程演变为 “检索-精选” 模式:首先利用向量检索召回 Top-K 个相关工具,再由 Function Call 机制从中选出最终执行的一个。

结论:Function Calling 具备原生的选择(路由)能力,但这种选择仅限于当前上下文窗口可见范围内。


工具调用与参数生成

  • 一旦通过上述流程确定了目标工具,Agent 需执行具体的调用动作。在此阶段,Function Calling(函数调用) 机制已成为当前主流实现范式。

  • 决策与生成的统一:承接上一节的逻辑,Function Call 在接收到候选项后,会基于语义理解,自主判断是直接回复用户,还是调用特定工具。

  • 结构化参数提取:模型需严格遵循函数签名,从上下文中提取关键信息,生成符合语法的结构化数据(通常为 JSON)。

    示例:{"name": "calculator", "arguments": "{"expression": "125 * 3"}"}

  • 鲁棒性优势:相比于早期的正则匹配,经过微调的 Function Calling 极大地降低了模型输出格式错误的概率。


执行与响应整合

外部环境执行工具指令并返回观察结果。在这一阶段,Agent 需要将工具返回的“机器语言”转化为用户可理解的“自然语言”。根据对工具输出的处理方式,主要存在两种范式:

  • 直接插入法:适用于工具输出本身即为最终答案或高质量文本的场景(如机器翻译、文生图)。此时 LLM 仅作为触发器或中转站,直接将工具执行结果呈现给用户,不做复杂的二次处理。

  • 信息整合法:适用于工具输出为原始数据的场景。LLM 充当“分析师”的角色,接收结构化数据(如 JSON、SQL 结果),结合用户问题和历史上下文进行推理,将枯燥的数据转化为流畅的自然语言回答(例如,将 {temp: 25} 转化为“今天气温 25 度,非常舒适”)。


工具接口与交互协议

  • 模型上下文协议 (Model Context Protocol, MCP):这是一种旨在解决“AI 模型连接数据与工具”标准化的通用开放协议。MCP 采用 Client-Host-Server 架构,将工具、资源和提示词抽象为标准原语。开发者只需编写一次 MCP Server,即可让该工具被所有支持 MCP 的 Agent 运行时即插即用地调用。

  • Agent-to-Agent (A2A) 交互协议:A2A 协议定义了 Agent 之间发现、握手与任务分发的标准接口,支持了复杂的多智能体(Multi-Agent)协作网络。


工具调用实现范式

当前实现 Agent 工具使用主要依靠两条技术路线:

  • 上下文学习:在不改变模型参数的前提下,通过提示词工程引导模型。典型的代表是 ReAct 框架,它要求模型在执行动作前先生成“思考过程,利用思维链(CoT)增强工具规划和调用的准确性。

  • 工具微调:针对通用 LLM 在 API 调用格式错误等问题,通过构建专门的工具调用数据集(如 ToolBench)对模型进行监督微调。Function Calling 能力正是通过此类微调,将“工具选择”、“参数填充”与“格式化输出”内化为模型的原生能力。


🔸混淆概念澄清 -- Function Call vs MCP vs A2A


3.6

反馈

🔸反馈的定义

反馈机制被定义为一个负责分析和评估行为数据、环境响应以及历史轨迹的模块,其目的是指导智能体不断精炼其策略和行动 。

反馈的作用

  • 自我反思与优化:利用大语言模型的推理能力,反馈模块赋予了智能体“自我反思”的能力,使其能够批判性地评估先前的决策和行动,并进行动态调整以优化后续表现 。

  • 适应复杂环境:反馈机制是智能体在复杂环境中实现持续进化的关键。它支持智能体通过试错(Trial-and-Error)过程,像人类一样快速高效地从交互中学习,从而保证任务执行的可靠性和效率 。

  • 模块间的协同:反馈模块与“记忆(Memory)”和“规划(Planning)”模块紧密耦合 。它能够将失败的经验(如资源缺失)转化为技能检索或新计划生成的触发信号,从而整体优化智能体的决策逻辑 。


🔸反馈的分类体系

根据反馈信号的来源和交互方式,现有的反馈机制被划分为四个核心类别 。值得注意的是,强化学习(RL)在此体系中被视为一种可应用于多个类别的底层学习策略,而非一个独立的分类维度 。

内部反馈:反馈源自智能体自身,不依赖外部明确目标,旨在通过自我生成信号来激发主动探索和改进 。

  • 任务内反馈:基于当前任务的试错历史产生的反馈,用于快速修正当前策略(例如 ReAct, Self-Refine)。

  • 跨任务反馈:涉及跨任务的知识迁移,利用过去任务的成功模式或失败教训来适应新场景(例如 Reflexion, ExpeL)。

外部反馈:由环境定义的信号、独立模型或外部工具提供,用于引导智能体达成目标 。智能体常利用强化学习策略来处理外部评分或状态信号。

  • 网络知识:利用搜索引擎获取的在线内容作为反馈(例如 WebGPT)。

  • 游戏API:利用游戏环境的评分、状态或错误提示作为反馈(例如 Voyager)。

  • 代码解释器:利用编译器的执行结果或报错信息作为反馈(例如 StepCoder)。

  • 世界模型:结合物理世界的视觉或传感器数据进行反馈(例如 PaLM-E)。

多智能体反馈:通过模拟多智能体交互,汇聚不同视角以改进解决方案 。

  • 协作式:多个智能体通过多轮讨论和观点分享,共同完善方案(例如 MetaGPT)。

  • 对抗式:采用辩论形式,多个智能体针对同一观点进行针锋相对的论证,直至达成共识(例如 Multi-agent Debate)。

人类反馈:人类作为主要的反馈来源,直接指导智能体行为。

  • 指令式:人类提供明确的任务指令(例如 WebGPT)。

  • 纠正式:人类在智能体出错时进行干预修正(例如 ReHAC)。

  • 偏好式:基于人类的偏好选择来塑造行为,常结合RLHF(基于人类反馈的强化学习)策略使用 。


🔸反馈指导进化机制

反馈指导智能体进化的核心在于构建“观察—反思—记忆—调整”的闭环。这种进化不再单纯依赖模型参数的更新。

  • 语言反馈的优势:与传统强化学习仅依赖标量奖励不同,基于LLM的反馈机制利用自然语言提供详细、具体的错误分析 。这种反馈形式具有更高的信息密度,能帮助智能体理解错误的本质。

  • 上下文学习与效率:这种进化机制通常不需要昂贵的模型微调。通过将反馈转化为显式的、可解释的语言记忆,智能体利用上下文学习(In-Context Learning)即可在推理阶段直接优化决策,显著提升了数据和计算效率 。

  • 强化学习的定位:在此体系中,强化学习被定位为一种底层的学习策略,而非独立的反馈类别 。它作为一种算法手段,被广泛应用于外部反馈(如基于分数的CodeRL)、人类反馈(如RLHF)以及多智能体协作等多种反馈机制中,用于处理反馈信号并优化智能体行为。


Reference 

  1. OpenAI Lilian Weng Blog:LLM-powered Autonomous Agents

  2. 哈工大:A Survey on the Feedback Mechanism of LLM-based AI Agents

  3. 上海交大:Context Engineering 2.0: The Context of Context Engineering

  4. 中科院:A Survey of Context Engineering for Large Language Models

  5. Anthropic :Effective context engineering for AI agents

  6. LangChain:Context Engineering

  7. 斯坦福:Agentic Context Engineering: Evolving Contexts for Self-Improving Language Models


对于 Agent 有任何想法

欢迎大家在下方留言讨论~


END


欢迎关注我们各大平台,

第一时间获取最新动态!

易鑫AI

视频号丨抖音丨B站

小红书丨知乎丨微博 

点赞

收藏

分享

【声明】内容源于网络
0
0
易鑫AI
聚焦易鑫AI技术创新成果与业务实践应用,了解易鑫前沿技术动态、场景落地案例和技术架构升级
内容 10
粉丝 0
易鑫AI 聚焦易鑫AI技术创新成果与业务实践应用,了解易鑫前沿技术动态、场景落地案例和技术架构升级
总阅读67
粉丝0
内容10