Skip to content

Agent 的五大核心模块:从「能循环」到「能工程化」

一、背景

读过专栏里的 AI Agent 基本循环 后,你已经知道:Agent 本质是 感知 → 规划 → 行动 → 观察 的闭环。但在真实产品里,我们还要回答:这一坨逻辑该拆成哪些可替换、可测试、可运维的块?

业界常把 Agent 系统拆成 五大核心模块(命名略有出入,但骨架一致):

  1. 规划(Planning)——把目标变成步骤与决策顺序。
  2. 记忆(Memory)——短期上下文与长期知识的读写与检索。
  3. 工具与行动(Tools / Action)——可调用的外部能力与安全边界。
  4. 执行与观察(Execution & Observation)——真正发起调用、解析结果、写回状态。
  5. 约束与治理(Guardrails / Control)——预算、停止条件、权限、人在回路。

本文与 基本循环 的关系:循环描述「时间上的行为」五大模块描述「空间上的职责划分」——同一套事,两个视角;做架构图、分工接口、排障时,模块视角更顺手。


二、核心概念和核心原理(详细解答 + 通俗解释)

(一)模块一:规划(Planning)

  • 通俗解释:用户说「帮我把这周会议纪要做成待办」,模型不能一上来就乱调日历——要先想清楚 先查哪些信息、再调哪些工具、失败时怎么改路线
  • 详细解答:规划可以是 隐式(ReAct 里每步一句 Thought)或 显式(先输出完整计划再逐步执行,Plan-and-Execute)。工程上要处理 计划过时(用户中途改需求)、计划过长(需摘要或子任务)以及 与上下文窗口的博弈(计划占 token)。

要点:规划模块的输出应是 可验证的中间产物(步骤列表、当前子目标),便于日志与回放,而不是只有一段自然语言独白。


(二)模块二:记忆(Memory)

  • 通俗解释:人办事会「记得刚才工具返回了啥」,也会「记得你是偏好 Markdown 还是表格」——Agent 也一样。

  • 详细解答:常见分层包括:

    • 工作记忆:当前对话 + 本轮工具 trace(强相关、短寿命)。
    • 会话级摘要:窗口快满时压缩历史,保留决策与结论。
    • 长期记忆:向量库、用户画像表、组织知识库(需 引用与溯源,避免把噪声当事实)。

要点:记忆不是堆满就好——检索时机、写入门槛、冲突消解(新旧偏好)要和规划模块协同,否则「记太多」会 带偏下一步规划


(三)模块三:工具与行动(Tools / Action)

  • 通俗解释:没有工具,Agent 只是聊天;有了 HTTP、SQL、工单 API、浏览器自动化,才能改真实世界的状态。
  • 详细解答:与专栏 Function Calling 与 MCP 直接对应:Schema(名字、参数类型、说明)是模型选工具的接口文档;权限(OAuth、服务账号、只读库)要在工具层收口,而不是交给模型「自觉」。

要点:工具要 原子化且可组合:太粗难以纠错,太细则步骤爆炸。高危操作(支付、删数据)应 单独工具 + 强制二次确认或审批流


(四)模块四:执行与观察(Execution & Observation)

  • 通俗解释规划说「查天气」,工具定义了 get_weather(city)执行层负责:序列化参数、发请求、处理超时、把 JSON 变成模型可读的 observation。
  • 详细解答:这一层是 基本循环里「行动 + 观察」的工程化落地:统一 重试策略错误码语义tool_call_id 与日志对齐;观察结果必须 原文或可审计摘要 写回上下文,避免模型 编造未发生的工具输出(幻觉的一种)。

要点:执行层越 确定性(超时、幂等、结构化错误),规划层越稳定。


(五)模块五:约束与治理(Guardrails / Control)

  • 通俗解释:再聪明的 Agent 也需要 红绿灯:最多跑多少步、花多少钱、哪些域名能访问、要不要等人点「确认」。

  • 详细解答:典型控制面包括:

    • 预算:最大步数、最大工具调用次数、token/费用上限。
    • 停止条件:任务完成判定、用户中止、无法恢复错误。
    • 安全:提示注入防护、工具级 RBAC、敏感数据脱敏。
    • 人在回路(HITL):关键节点暂停,等待人工输入或审批。

要点:治理应是 策略可配置 的(按租户/场景),而不是写死在提示词里一段「请你注意安全」。


(六)五大模块如何协作(一张心智图)

可以把一次用户请求想成流水线:

用户目标 → 规划(选路线)→ 读记忆(补事实)→ 选工具(行动意图)→ 执行与观察(拿真结果)→ 写记忆 / 更新状态 → 治理层全程掐预算与权限 → 循环直到停止条件。

模块之间 边界清晰 时,你可以单独升级:换更强的规划模型、换向量库实现记忆、换 MCP 接入新工具,而不必重写整条链路。


三、补充进阶知识点(易懂不晦涩)

  • 1. 单 Agent 里五块全栈 vs 多 Agent 分工
    多 Agent 时,常见做法是 每个子 Agent 仍具备五模块的子集(例如研究员 Agent 重记忆与检索,执行 Agent 重工具与执行),由 编排层 再做上一层规划。

  • 2. 与 RAG 的交界
    「检索」既可视为 工具,也可视为 记忆模块的读取路径——选型看你要 可观测的独立步骤(工具)还是 透明的上下文注入(记忆);很多系统两者兼有。

  • 3. 可观测性
    产品级 Agent 建议为每个模块打 结构化事件(plan_version、memory_hit、tool_latency、guardrail_trigger),否则线上「为什么跑偏」几乎不可复盘。

  • 4. 和专栏其他文章的关联
    MCP 主要落在工具与执行;基本循环 贯穿执行与观察;提示注入与安全 是治理模块的纵深;结构化输出 便于规划与工具参数的稳定解析。


四、文章知识总结

  1. 背景:五大模块是 Agent 工程拆分视角,与 时间循环视角互补。
  2. 规划:隐式/显式计划、计划可验证性与过期处理。
  3. 记忆:工作 / 会话 / 长期分层,注意噪声与带偏。
  4. 工具:Schema、权限、原子性与高危隔离。
  5. 执行与观察:确定性、真实 observation、trace 对齐。
  6. 约束与治理:预算、停止、安全、人在回路、可配置策略。
  7. 核心逻辑模块边界清晰,系统才可迭代治理与执行层越硬,规划层越敢用强模型。

总结:把 Agent 想成一家小公司——规划是作战室,记忆是档案室,工具是外包能力,执行是前台接单,治理是财务与合规。五块都弱,只会「很会聊」;五块都稳,才敢上生产。