AI Agent 架构演进:从 Agentic RAG 到 Memory 再到 Skill

在过去的一两年里,大语言模型(LLM)的落地范式经历了深刻的变革。如果说 2023 年的主题是"如何让模型获取外部知识",那么 2025 至 2026 年的核心命题已经变成了"如何让智能体(Agent)沉淀经验并形成专业技能"。
本文将深入探索 AI Agent 底层架构的演进脉络:从自主检索的 Agentic RAG,到内化经验的 Memory,再到极致压缩与工程化的 Skill。最后,结合 Anthropic 官方的最佳实践,探讨如何在生产环境中构建高效的 Skill。
动态检索 · 无状态"] -->|经验沉淀| B["Memory
认知持久化 · 有状态"] B -->|压缩编译| C["Skill
过程知识 · 模块化"] C -->|工程落地| D["Skill + MCP
生产级 Agent"]
1. 觉醒与动态化:Agentic RAG (自主式检索增强生成)
传统的 RAG(检索增强生成)系统本质上是线性的"一次性"查找:接收查询、检索向量数据库、生成答案。这种方式虽然解决了模型知识过时和幻觉的问题,但在面对需要多步推理(Multi-hop reasoning)和动态数据时显得力不从心。
Agentic RAG 标志着检索过程从"静态被动"走向"动态主动"。在这种架构中,AI 代理不再是简单地接收检索结果,而是主动管理整个信息获取流程。
1.1 核心技术特征
- 多代理路由与分发 (Multi-Agent Routing): 系统不再依赖单一数据库,而是由一个"路由代理(Router Agent)“评估查询的复杂性,将任务分发给专门的 SQL 代理、图数据库代理或网页搜索代理。这种架构允许系统根据查询的语义特征,动态选择最优的数据源和检索策略。
- 反思与自我纠错 (Corrective RAG): 代理能够评估检索到的上下文是否相关。如果发现文档质量不佳或信息缺失,代理会主动重写查询(Query Refinement)或调用外部工具(如网页搜索)进行二次检索,形成"检索 → 评估 → 修正"的闭环。
- 工具调用泛化: 检索不仅仅是对向量库的 Similarity Search,而是被泛化为一种"工具调用(Tool Calling)"。代理可以调用计算器、内部 API 或日历等,将外部世界的实时信息纳入推理链。
1.2 典型架构模式
在工程实践中,Agentic RAG 通常呈现三种递进的架构模式:
- 单代理增强型: 在传统 RAG 的基础上,为单个代理增加查询改写和自我反思能力。适合中等复杂度的问答场景。
- 多代理分工型: 多个专业代理(如文档检索、SQL 查询、网页搜索)由一个路由代理统一调度。适合数据源异构的企业知识库场景。
- 层次化规划型: 引入高层规划代理,将复杂问题分解为子问题后逐步检索与推理。适合需要多步推理的复杂分析场景。
1.3 局限性
尽管 Agentic RAG 极大提升了系统的动态能力,但它在本质上仍然是无状态(Stateless) 的。一旦当前任务结束,代理的认知状态被清空,无法从过往的成功或失败中吸取经验。同样的错误可能在下一次交互中重复出现——代理永远在"从零开始”。
2. 认知本体的沉淀:Agent Memory (智能体记忆)
为了让代理能够在多轮交互和长视野任务中保持一致性并实现持续学习(Continual Learning),系统演进出了 Agent Memory(智能体记忆) 层。Memory 让代理从"无状态的工具"升级为"有认知连续性的实体"。
2.1 记忆的三维分类
在最新的研究中,Memory 被细分为三个核心功能维度:
- 事实记忆 (Factual Memory): 存储关于用户身份、偏好以及外部环境状态的明确事实,确保多轮对话的一致性。例如,记住用户偏好使用 Python 3.12、习惯 pytest 作为测试框架等个性化信息。
- 工作记忆 (Working Memory): 代理在单次任务中的"暂存器(Scratchpad)",用于管理当前的上下文、中间推理状态和短期计划。它类似于人类的"脑中白板",任务完成后即可释放。
- 经验记忆 (Experiential Memory): 这是代理实现自我进化的关键。系统会记录代理在环境中的交互轨迹(Trajectories)、成功或失败的案例,从而在未来遇到类似问题时进行参考和复用。
2.2 记忆的读写机制
Memory 系统的工程挑战在于如何高效地"写入"和"读取":
- 写入策略: 何时将信息存入长期记忆?主流方案包括——显式存储(用户/系统指令触发)、反思式存储(代理在任务结束后自主总结关键经验)以及持续式存储(实时记录所有交互痕迹)。
- 读取策略: 何时以及如何召回相关记忆?除了基于向量相似度的检索,还需要考虑时效性权重(近期经验优先)、相关性过滤(避免召回过时或矛盾的记忆)以及上下文预算(控制注入 Prompt 的记忆量,防止上下文窗口被记忆挤占)。
2.3 走向 Skill 的推力:Memory 的痛点
早期的经验记忆主要依赖于基于案例的记忆(Case-based Memory),即将原始的交互轨迹直接存储并检索。然而,这种方式存在根本性的缺陷:
- 冗余爆炸: 原始轨迹极其冗长,充满了试错、回溯和环境噪声。一段解决 Bug 的完整轨迹可能包含数千 Token,但真正有价值的决策逻辑可能只有几十个 Token。
- 上下文膨胀(Context Bloat): 随着运行时间增长,庞大的轨迹记忆会挤占有限的上下文窗口,使得模型难以提取核心逻辑,甚至出现性能退化。
- 迁移性差: 原始轨迹与特定的环境和问题高度耦合,难以泛化到新的场景。
我们需要一种机制,将这些冗余的记忆"压缩"和"编译"为可复用的、与环境解耦的知识模块。这就是 Skill 诞生的逻辑。
3. 过程知识的工程化:Agent Skills (智能体技能)
Skill(技能) 是当前智能体架构的前沿范式。它不是简单的 Prompt 或单一的函数调用,而是对 Agent “经验记忆(Experiential Memory)“中过程知识的高阶压缩、降维和模块化封装。
区别于工具(Tools)执行具体操作并返回结果,Skill 的作用是重塑代理解决问题的方式——它为代理注入程序化的知识、修改执行上下文,并定义了任务的 SOP(标准作业程序)。
3.1 Skill vs Tool vs Prompt:概念辨析
三者的关系可以类比为人类的职业能力结构:
| 维度 | Prompt | Tool | Skill |
|---|---|---|---|
| 类比 | 临时口头指令 | 手边的工具 | 内化的专业技能 |
| 作用 | 定义当前任务目标 | 执行具体操作并返回结果 | 重塑解题方式与 SOP |
| 持久性 | 一次性 | 持久注册 | 持久注册 + 按需加载 |
| Token 成本 | 每次全量注入 | 函数签名常驻 | 渐进式按需加载 |
3.2 核心技术突破
- 经验蒸馏与技能库 (Skill Discovery & SKILLBANK): 最新框架(如 SkillRL)通过经验蒸馏,将大量冗余的原始轨迹转化为分层的技能库。它区分了"通用技能(General Skills,如探索策略、回溯逻辑)“和"任务专属技能(Task-Specific Skills,如特定的错误处理)"。这不仅使 Token 消耗降低了数倍,还极大提升了推理效率。
- 认知与连接的解耦 (Skills + MCP): Skill 补全了 Agent 生态的最后一块拼图。MCP(Model Context Protocol) 解决了"如何连接(How to connect)“的问题(如打通 Github、数据库等),而 Skill 则解决了"需要做什么(What to do)“的问题。Skill 指导 Agent 如何最优地调用 MCP 服务器来完成复杂的业务流。
3.3 从学术到工程:Skill 的闭环生命周期
在生产环境中,Skill 的生命周期形成一个持续进化的闭环:
- 发现(Discovery): 从大量历史轨迹中自动识别可复用的行为模式。
- 提炼(Distillation): 将冗余轨迹压缩为结构化的 SOP,剥离环境噪声,保留核心决策逻辑。
- 注册(Registration): 将提炼后的 Skill 以标准格式(如 SKILL.md)注册到技能库中,供代理按需加载。
- 评估与迭代(Evaluation): 通过 A/B 测试和触发准确率监控,持续优化 Skill 的触发条件和执行质量。
关于 Code Agent 中控大脑如何通过 RLVR 与搜索树来获取和强化技能的深入分析,可参阅 Decoding the Central Brain。
4. Anthropic 最佳实践:如何构建生产级 Skill
随着 Anthropic 正式将 Agent Skills 作为开放标准发布,Skill 的构建有了清晰的工程规范。以下总结了来自 Anthropic 官方指南的最佳实践方案。
4.1 核心设计原则:渐进式披露 (Progressive Disclosure)
一个标准的 Skill 被封装为一个文件夹,其核心是实现"三级渐进式加载”,以最小化 Token 消耗,同时保持深度的专业能力:
- Level 1(元数据/YAML): 仅包含
name和description,这部分几十个 Token 会常驻在 Claude 的系统提示词中,充当"路由表”。 - Level 2(指令/SKILL.md主体): 当代理判定任务需要该技能时,才会加载这部分核心 SOP 指令。
- Level 3(资源与脚本/Resources): 存放位于
scripts/或references/目录下的代码和长文档,仅在 Level 2 指令明确要求时才按需加载。
4.2 SKILL.md 规范与 YAML 编写技巧
YAML Frontmatter 是决定技能是否被正确触发(Routing)的绝对核心。
严格的格式要求:
- 文件名必须精确为
SKILL.md(区分大小写)。 - 文件夹命名和 YAML 中的
name必须使用连字符(kebab-case),如notion-project-setup,禁止使用空格或下划线。 - 安全限制: YAML 区域内绝对禁止使用 XML 尖括号 (
< >),防止提示词注入攻击。
如何写好 description:
描述必须同时包含 [What it does] (它做什么) 和 [When to use it] (何时触发),并包含具体的触发关键词。
- ❌ 错误示例: “Helps with projects.” (太模糊,无触发条件)
- ✅ 最佳实践: “Analyzes Figma design files and generates developer handoff documentation. Use when user uploads .fig files, asks for ‘design specs’ or ‘design-to-code handoff’.”
4.3 “问题优先” vs “工具优先” 的设计模式
在结合 MCP 使用时,Anthropic 推荐两种构建思路:
- 问题优先 (Problem-first): 面向具体的业务结果(如"帮我规划 Sprint”)。Skill 负责编排底层的 MCP 调用,用户只需描述结果,Skill 负责处理工具的组合调用。
- 工具优先 (Tool-first): 面向特定的 MCP 工具(如"我已经连接了 Notion MCP”)。Skill 负责教导 Claude 该工具的最佳实践、规避常见的 API 错误,并提供操作模板。
4.4 测试与迭代策略 (Testing & Iteration)
Skill 的开发是一个持续迭代的过程,Anthropic 建议从以下维度进行测试:
- 触发测试 (Triggering Tests):
- 测试欠触发(Undertriggering): 当用户使用同义词或口语化表达时,技能是否被加载?如果没有,需要在 description 中增加相关关键词。
- 测试过度触发(Overtriggering): 当用户询问无关话题时,技能是否错误加载?如果是,需要增加负面触发条件(Negative triggers)并提高描述的特异性。
- 执行一致性测试:
- 如果发现 Claude 未严格遵循步骤,避免在 SKILL.md 中使用"Make sure to validate"这种模糊的语言。
- 最佳实践: 必须使用
CRITICAL:标签明确约束,或者对于高风险验证,直接在技能包中附带.py或.sh脚本进行程序化硬验证,因为代码是确定性的,而语言理解存在方差。
结语
从 Agentic RAG 对外部数据的动态捕获,到 Memory 对内在状态与经验的持久化,再到 Skill 对过程知识的极致压缩与规范化封装,AI Agent 正在经历一场深刻的"认知合成”。
在生产环境中,Skill + MCP 正在成为下一代智能体应用的基础技术栈。掌握 Anthropic 的 Progressive Disclosure 架构和 SKILL.md 工程规范,将帮助开发者把复杂的业务 Know-How 转化为大模型可以即插即用的数字资产。
展望未来,Skill 的自动发现与自我进化将是下一个关键突破——正如 SkillRL 所展示的方向,当 Agent 不仅能使用人类编写的技能,还能从自身经验中自主提炼、验证并沉淀新技能时,我们才真正迈入自治智能体的时代。
参考文献
- NVIDIA Technical Blog: Traditional RAG vs. Agentic RAG
- Weaviate: What Is Agentic RAG?
- IBM: What is Agentic RAG?
- Arxiv: Agentic Retrieval-Augmented Generation: A Survey (2501.09136)
- Arxiv: Memory in the Age of AI Agents: A Survey (2512.13564)
- Arxiv: SkillRL: Evolving Agents via Recursive Skill-Augmented RL (2602.08234)
- Arxiv: Agent Skills for LLMs: Architecture, Acquisition, Security (2602.12430)
- Anthropic: The Complete Guide to Building Skills for Claude