1.3 智能体架构总览:Profile-Memory-Planning-Action 四模块全景


1.3 智能体架构总览:Profile-Memory-Planning-Action 四模块全景

把核心循环「感知-规划-行动-观察」打开看,会发现它背后站着四个角色:一个定调子的「人设」、一个管账本的「记忆」、一个出主意的「规划」、一个动手的「行动」。这就是单体智能体最经典也最通用的四模块拆解——Profile、Memory、Planning、Action。

1.3.1 为什么是这四个模块

第 1.2 节定义了 Agent 的核心循环。但循环是一个「过程」,要把过程落到工程,需要回答四个具体问题:

问题 谁来回答 对应模块
这个 Agent 是谁?目标是什么?行为边界在哪? Profile(人设) 定身份与约束
它现在知道什么?过去发生了什么? Memory(记忆) 提供上下文与经验
下一步该做什么? Planning(规划) 决策与推理
怎么真的去做?做完看到了什么? Action(行动) 执行与观察

这四个问题覆盖了一个 Agent 运转所需的全部信息维度——身份、状态、决策、执行。少任何一个,循环都转不起来:

  • 没有 Profile,Agent 不知道自己是「严谨的财务助手」还是「活泼的聊天伙伴」,行为没有一致性。
  • 没有 Memory,Agent 是金鱼,每轮都从零开始,无法处理多步任务。
  • 没有 Planning,Agent 退化成「无脑的工具调用器」,不会推理。
  • 没有 Action,Agent 退化成「纯文本生成器」,回到 LLM 问答。

注意四模块的依赖关系:Profile 是前提(决定其他模块的调性)→ Memory 提供 Input → Planning 做决策 → Action 做执行 → Action 的观察回到 Memory。这是一个有方向的环流,不是平铺的四块。

1.3.2 四模块功能定位

下表给出四模块的功能定位、核心问题与本书详细展开的章节:

模块 核心职责 关键问题 详细章节
Profile(人设) 定义角色、目标、约束、语气 「我是谁?我该做什么?不该做什么?」 第 2.1 节
Memory(记忆) 管理短期上下文与长期经验 「我现在知道什么?过去发生过什么?」 第 2.2 + 第 5 章
Planning(规划) 任务分解、推理、策略选择 「下一步做什么?为什么?」 第 2.3 + 第 3-4 章
Action(行动) 工具调用、代码执行、动作执行 「怎么去做?做完看到什么?」 第 2.4 + 第 6 章

本节只给全景与定位,让读者建立「地图感」。每个模块的内部机制将在后续章节展开——这正是全书后面 6 章的主题。

1.3.3 模块一:Profile——Agent 的身份证

Profile 模块回答「这个 Agent 是谁」。它通常以一段系统提示词(System Prompt) 的形式注入 LLM,决定 Agent 的:

维度 例子
角色身份 「你是一位资深的财务分析师」
任务目标 「帮助用户分析财报、识别风险」
行为约束 「不提供具体投资建议;不确定时必须声明」
语气风格 「专业、简洁、用数据说话」
可用工具 「你可以调用财报查询、股价查询、计算器」
输出格式 「结论先行,附数据来源」

Profile 的工程价值常常被低估,但它其实是 Agent 一致性的根基。同一个 LLM,配上「严谨的审计师」和「活泼的推销员」两套 Profile,行为差异会大到像两个模型。第 2.1 节会专门讨论 Profile 的设计方法与 System Prompt 工程。

💡 Profile 的隐藏作用:它不仅是「人设」,更是约束边界。一个没有约束的 Agent 会乐于回答任何问题、调用任何工具,这是安全灾难。Profile 里写明「不做 X、不调 Y 工具」,是 Agent 安全设计的第一道闸门。

1.3.4 模块二:Memory——Agent 的账本

Memory 模块回答「Agent 现在知道什么、过去发生了什么」。它分两层:

┌─────────────────────────────────────────────┐ │ 短期记忆 (Short-Term / Working Memory) │ │ - 当前对话上下文 │ │ - 最近 N 步的观察与行动 │ │ - 实现: LLM 上下文窗口 │ │ - 容量: Token 有限(几K到几百K) │ └─────────────────────────────────────────────┘ ↑ 溢出/检索 ┌─────────────────────────────────────────────┐ │ 长期记忆 (Long-Term Memory) │ │ - 历史对话、用户偏好、事实知识 │ │ - 跨会话的经验积累 │ │ - 实现: 向量数据库 / 知识图谱 / 文档库 │ │ - 容量: 近似无限 │ └─────────────────────────────────────────────┘

两层记忆的关系是「工作台 vs 档案柜」:短期记忆是 LLM 当前能看到的工作台,长期记忆是按需调取的档案柜。当工作台装不下时,旧内容被压缩或转移到档案柜;当需要历史信息时,从档案柜检索回工作台。

⚠️ 常见误区:把上下文窗口当万能记忆。即便窗口有 200K Token,也装不下数小时任务的完整历史,更装不下跨会话的经验。长期记忆不是可选项,是 Agent 超越单轮对话的必需品。这是第 5 章的全部主题。

1.3.5 模块三:Planning——Agent 的大脑

Planning 模块回答「下一步做什么」。它是 Agent 智能含量的核心,也是全书最厚的部分(第 3-4 两章)。

Planning 有几个层次,从简单到复杂:

层次 思考方式 代表方法 适用场景
直接回答 不规划,直接生成 Zero-shot 简单问答
分步推理 把思考过程写出来 思维链 CoT 多步推理题
边想边做 思考与行动交替 ReAct 工具调用任务
多路径探索 多条思路并行评估 思维树 ToT 创意/搜索类问题
任务分解 大任务拆成小任务 Decomposed Prompting 复杂长程任务
先规划后执行 一次规划全部,再执行 Plan-and-Execute 步骤明确的任务

一个关键认知:Planning 不是一个固定算法,而是一个策略空间。同一个 Agent 面对不同任务,应该路由到不同规划策略——简单任务用直接回答,复杂任务用 ReAct,创意任务用 ToT。第 3 章讲各种规划算法,第 4 章专攻 ReAct,第 2.3 节则讨论「怎么在不同策略间路由」。

💡 过度规划的陷阱:不是所有任务都需要复杂规划。给「今天天气如何」配一套 ReAct + 任务分解,既慢又贵。优秀的 Agent 设计懂得让规划粒度匹配任务难度——简单任务轻装上阵,复杂任务才上重型武器。

1.3.6 模块四:Action——Agent 的双手

Action 模块回答「怎么真的去做」。它把 Planning 输出的「下一步动作」翻译成对真实世界的操作。

Action 的形态主要有三类:

行动类型 实现方式 例子
工具/函数调用 调用预注册的 API/函数 查天气、查数据库、发邮件
代码执行 在沙箱里运行生成的代码 数据分析、复杂计算
直接回答 不调工具,直接生成文本 解释、建议、闲聊

Action 模块的核心工程问题有三个,都留到第 6 章详解:

  1. 工具描述:怎么用 LLM 能理解的方式告诉它「有哪些工具可用、怎么调」(第 6.1 节 Function Calling)。
  2. 工具编排:多个工具怎么组合、并行还是串行(第 6.2 节)。
  3. 安全执行:怎么不让 Agent 干坏事(第 6.4 节沙箱与人类在环)。

⚠️ Action 是 Agent 风险最高的模块。规划错了顶多绕远路,行动错了可能转错账、发错邮件、删错数据。Action 的设计原则是「能力最小化 + 高危确认」——给 Agent 的权限刚好够完成任务,多余的一点不给;任何不可逆操作都要人类点头。

1.3.7 四模块如何协同:一个数据流示例

把四模块串起来看一个完整的数据流。任务:「帮我把昨天的销售数据算个同比,发到我的邮箱」。

可以看到,四模块不是顺序执行一次就结束,而是在每一轮循环里都重新走一遍:Profile 每轮都在调子上把关、Memory 每轮都更新状态、Planning 每轮都重新决策、Action 每轮都执行并观察。循环往复,直到任务完成。

1.3.8 架构的变体与扩展

Profile-Memory-Planning-Action 是单体智能体的参考架构,不是唯一模板。实际系统常见两类变体:

变体一:模块合并(轻量化)

简单 Agent 会合并模块以降低复杂度:

  • 把 Profile 直接写死在第一个 System Prompt 里,不作为独立模块。
  • 把 Planning 简化为「单步 ReAct」,不引入复杂规划。
  • Memory 只用短期上下文,不要长期记忆。

结果是「LLM + 工具循环」的最小 Agent,适合简单任务。这是 LangChain ReAct Agent、OpenAI Assistants 等很多框架的默认形态。

变体二:模块拆分(重型化)

复杂 Agent 会把单个模块拆得更细:

  • Memory 拆成工作记忆、情节记忆、语义记忆、程序记忆四层(参考《具身智能技术原理》第 4.3 节)。
  • Planning 拆成「全局规划器 + 局部执行器」两层(Plan-and-Execute)。
  • Action 拆成「动作选择 + 参数填充 + 执行验证」三段。

结果是多层级 Agent 架构,适合长程复杂任务。

💡 设计原则:架构粒度应匹配任务复杂度。简单任务用轻量架构,过度设计反而增加故障面;复杂任务用重型架构,模块化才能管理复杂度。第 8 章会给出框架选型的决策树。

1.3.9 与核心循环的对应关系

最后,把四模块与第 1.2 节的核心循环对应起来,形成全书统一的视图:

核心循环环节 主要负责模块 辅助模块
感知 Perceive Memory(读取状态与历史) Profile(决定关注什么)
规划 Plan Planning Profile(约束规划方向)
行动 Act Action Planning(提供动作指令)
观察 Observe Action(提取结果)→ Memory(写回) Planning(判定是否完成)

四模块是「横向的功能切片」,核心循环是「纵向的时间流转」。两者交叉,就构成了单体智能体的完整运转图景。后续章节都会落在这张坐标系上:

  • 第 2 章横向展开四模块的骨架;
  • 第 3-4 章纵向深化 Planning;
  • 第 5 章纵向深化 Memory;
  • 第 6 章纵向深化 Action;
  • 第 7 章把单体扩展为多体;
  • 第 8 章回到工程整合。

本节小结

  • 单体智能体的参考架构是 Profile-Memory-Planning-Action 四模块:Profile 定身份、Memory 管状态、Planning 做决策、Action 去执行。
  • 四模块构成有方向的环流:Profile 是前提 → Memory 提供 Input → Planning 决策 → Action 执行 → 观察写回 Memory。
  • Profile 的隐藏作用是安全约束的根基;Memory 分短期(上下文)与长期(向量库)两层;Planning 是一个策略空间而非固定算法;Action 是风险最高的模块,须遵循能力最小化。
  • 架构可轻可重:简单任务用「LLM + 工具循环」最小架构,复杂任务用多层级拆分。粒度应匹配任务复杂度。
  • 四模块(横向切片)与核心循环(纵向流转)交叉,构成全书统一视图。后续 6 章分别纵向深化各模块,第 7 章扩展到多体,第 8 章回到工程。

下一节《1.4 发展脉络与里程碑》将从历史维度梳理 Agent 概念的来路,看清 LLM Agent 在 AI 发展长河中的坐标。


作者与出处
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 会发光的石头的小龙虾 转发
评论区 (0)
U