AI Agent 概念模型:从大模型到完整系统
上一篇聊了 Agent 的宏观定义,这一篇把它拆成一张可以落地设计的概念模型:一个 Agent 到底由哪些模块组成,状态如何流转,边界在哪里。
一句话模型
Agent = 目标驱动 + 感知环境 + 记忆状态 + 工具行动 + 反馈闭环。
大模型只负责其中一部分:把当前状态转成下一步决策。真正的 Agent 系统,是围绕模型搭出来的一个可执行、可观察、可迭代的循环。
五层概念模型
一个典型的 Agent 可以抽象成五层:
| 层级 | 职责 | 关键问题 |
|---|---|---|
| 感知层 | 接收用户输入、环境状态、外部数据 | 什么信息进入上下文?如何清洗和结构化? |
| 决策层 | 理解意图、生成规划、选择动作 | 用一次调用还是多轮推理?如何约束输出? |
| 记忆层 | 保存短期上下文与长期经验 | 哪些需要遗忘?哪些需要持久化? |
| 工具层 | 调用 API、搜索、执行代码、读写文件 | 工具如何描述?参数如何校验?错误如何恢复? |
| 行动层 | 把决策变成真实动作并返回结果 | 动作是否幂等?失败如何重试?权限如何控制? |
这五层不是流水线,而是同一个循环里的不同侧面。
核心循环:感知 → 规划 → 行动 → 观察 → 反思
目标
│
▼
感知 ──► 规划 ──► 行动 ──► 观察
│ │ │ │
│ └─────────┴─────────┘
│ 上下文更新
▼
反思 ──► 是否达成目标?
│
├── 是 ──► 输出结果
└── 否 ──► 回到规划关键点是观察必须写回上下文。如果工具返回结果没有进入下一轮决策,Agent 就退化成一次性调用。
记忆模型
记忆不是简单的“缓存”,它决定 Agent 能理解多深的上下文:
- 短期记忆:当前任务的对话窗口,通常由 token 限制,需要做摘要、裁剪或关键信息抽取。
- 长期记忆:向量数据库存储的历史经验、文档、用户偏好,通过检索进入上下文。
- 工作记忆:当前规划、已执行动作、待办步骤,一般用结构化状态表示。
设计记忆时要回答三个问题:什么必须记住、什么应该遗忘、什么时候触发检索。
决策模型
常见的决策策略决定了 Agent 的“性格”:
| 策略 | 思路 | 适合场景 |
|---|---|---|
| ReAct | 思考 → 行动 → 观察,循环推进 | 探索性强、步骤不固定 |
| Plan-and-Execute | 先制定完整计划,再逐步执行 | 任务边界清晰、依赖关系明确 |
| Reflexion | 执行后自我评估,失败则调整重来 | 需要结果质量的场景 |
实际系统里可以混合使用:先用一次规划确定骨架,再对不确定的步骤走 ReAct。
概念模型的边界
模型只是决策引擎,不能替 Agent 解决所有问题:
- 上下文有上限,不是所有历史都该塞进 prompt。
- 工具会失败,必须设计错误处理而不是假设调用一定成功。
- 输出可能不可靠,关键结果需要校验和人工兜底。
- 成本与延迟,每一步循环都在消耗时间和 token。
设计检查清单
在设计 Agent 概念模型时,可以逐项检查:
- 目标是否可拆解、可验证?
- 感知到的信息是否足够做出决策?
- 记忆的写入和检索是否有明确触发条件?
- 每个工具的参数、返回格式、错误码是否清晰?
- 观察结果是否一定会写回上下文?
- 失败后是重试、换策略,还是交给用户?
把这些问题想清楚,再写代码,Agent 才不会只是“套了一层循环的聊天机器人”。