上周我收到一位读者的私信,他表示自己看不懂我的文章,查阅了相关资料后对 LLM & Agent 以及一些术语很困惑,为此,我特地写了这篇Agent层级及发展趋势分析,希望能够帮助到广大从业人员

我认为我们首先需要明确一些对AI感兴趣或刚入行的人员容易混淆的概念

Agent ≠ LLM
Agent = 多层确定性系统 + 少量非确定性推理

一个工业级 Agent 系统,从外到内,通常可以拆成 7 层

 ┌─────────────────────────────┐
 │ 用户交互层(User Interface)│
 └───────────────▲─────────────┘
                 │
 ┌───────────────┴─────────────┐
 │ 会话与状态层(Session / State)│
 └───────────────▲─────────────┘
                 │
 ┌───────────────┴─────────────┐
 │ Agent 编排层(Agent Orchestration)│
 └───────────────▲─────────────┘
                 │
 ┌───────────────┴─────────────┐
 │ 推理与规划层(LLM Reasoning)│
 └───────────────▲─────────────┘
                 │
 ┌───────────────┴─────────────┐
 │ 工具调度 / 执行层(Tool Execution)│
 └───────────────▲─────────────┘
                 │
 ┌───────────────┴─────────────┐
 │ 扩展与控制层(Extensions / Guards)│
 └───────────────▲─────────────┘
                 │
 ┌───────────────┴─────────────┐
 │ 基础设施层(Infra / Runtime)│
 └─────────────────────────────┘
 

1、用户交互层(User Interface Layer)

核心职责:负责“人如何把意图送进系统,以及如何把结果展示出来”

这一层只允许做:

  • 输入采集(文本 / 语音 / 文件 / 多模态)
  • 基础鉴权(Token、登录态)
  • 输出展示(流式 / 富文本 / 表格 / 卡片)

明确禁止做什么

  • 不做 Prompt 拼接
  • 不维护对话记忆
  • 不调用工具
  • 不包含任何 Agent 逻辑

工程判断标准

UI 层换一套前端,Agent 行为不能有任何变化

用户输入:

“帮我查一下北京今天的天气,然后写一段穿衣建议”

Agent输出:

“今天北京多云,22℃,建议穿……”

2、会话与状态层(Session / State Layer)

核心职责:负责“这个 Agent 此刻记得什么,以及之后还能不能接着跑”

包括:

  • 历史消息
    • Human
    • AI
    • Tool
  • 当前任务状态
    • 当前 step
    • 未完成的 step
  • 短期记忆
    • 当前任务的上下文
  • 长期记忆:
    • 主动将推理结果反向写入向量库或处理为结构化知识
  • Memory ≠ 检索,工业级 Agent 必须:
    • 主动写 Memory
    • 反向总结
    • 可版本化
  • 中断恢复点
    • Crash / 超时 / Retry
    • 系统重启后,Agent 能否从中断点继续,而不是“失忆重来”

如果没有它:

  • 多轮对话断裂
  • 工具结果对不上
  • 任务跑一半全忘了

当前较为主流的方案是将 RAG 与 Agent 的深度融合,构建 Memory 架构

将短期记忆视为 “session state”

将向量数据库和知识图谱中的数据视为长期记忆,并且此处的 Agent 也并非只做检索,而是主动将理结果反向写入长期记忆

3、Agent 编排层(Agent Orchestration Layer)

3.1、这一层是很多人最困惑搞不明白干什么的?

通俗的讲,这一层负责“这次要不要继续、走哪条路、什么时候停”

也就是:

  • 是否继续下一轮 LLM 推理
  • 是否还有未完成的 tool_call
  • 是结束、重试、回滚、还是分支

可以简单理解为

Agent 编排层 = 流水线调度员 / 项目经理

  • 不写业务
  • 不推理
  • 不调用 API
  • 它是确定性的,负责处理循环(Loop)、分支(Conditional Edge)和退出条件

4、推理与规划层(LLM Reasoning / Planning Layer)

4.1、这一层是负责干什么的?

这是“模型真正思考的地方,是唯一“非确定性”的一层,负责:

  • 理解用户需求
  • 理解工具能力
  • 决定:
    • 用不用工具
    • 用哪个
    • 参数怎么填
    • 是否多步

这一点有很多人误解,并非每一步都需要去调用模型,而是一次调用里可能就包含了完整的规划,同样的输入,多次运行可能不同,但必须在“允许的策略空间内”,所以,它是非确定性的,受模型能力影响

2025年后,推理和规划层向

  • Planning 与 Acting 解耦
  • Chain-of-Thought 不再外显
  • 输出结构化 Plan

发展

5、工具调度 / 执行层(Tool Execution Layer)

在MCP没有诞生之前,我们使用自定义的进程函数来构建工具,但在MCP诞生之后,工具不再是函数,而是“受控能力服务”

5.1、这一层是负责干什么的?(MCP 语境下)

负责将模型生成的“调用意图”,在安全、可控、可审计的环境中,转化为真实世界的动作

MCP下的完整执行链:

LLM tool_call
   ↓
结构校验(Schema)
   ↓
权限 / 策略检查
   ↓
MCP Request
   ↓
MCP Runtime
   ↓
Sandbox Execution
   ↓
MCP Response
   ↓
ToolMessage

MCP(Model Context Protocol) 体系下,这一层的职责发生了关键升级:

  • 工具在系统层面不再是进程内函数,而是 通过 MCP 暴露的标准化能力服务
  • 执行层不直接执行模型生成的代码或命令,而是通过 MCP Runtime + Sandbox 间接执行

其核心职责包括:

  1. 参数与结构校验
    • 基于 JSON Schema / Pydantic
    • 防止模型生成非法或危险参数
  2. 权限与策略检查
    • 是否允许该 Agent / 会话调用该能力
    • 是否涉及敏感资源(文件系统、网络、密钥)
  3. 执行调度(通过 MCP)
    • 将 tool_call 转换为 MCP 请求
    • 路由至对应的 MCP Server / Runtime
  4. 沙箱执行(Sandboxed Execution)
    • 所有 Code Interpreter / 计算类工具必须运行在隔离环境中
    • 限制文件、网络、CPU、内存、执行时间
  5. 异常捕获与标准化
    • 无论是代码异常、超时、权限错误
    • 均转换为模型可理解的 ToolMessage
  6. 结果回填(Observation)
    • 执行结果通过 MCP Response 返回
    • 最终封装为 ToolMessage 回传给模型

示例

模型:我想查天气
执行层:我校验参数 → 通过 MCP 调用天气服务 → 在受控环境中执行 → 把结果安全地告诉你

我可以很负责任的讲:MCP 的引入,标志着 Agent 的工具执行层从“函数调用时代”,正式进入“安全服务调用时代”,MCP 并没有改变“模型如何调用工具”,它改变的是“系统如何安全地执行模型的意图”,即使模型生成 rm -rf / curl 黑网,也什么都不会发生

视角 你看到的是什么 实际发生的是什么
LLM Tool MCP 暴露的能力
Agent tool_call MCP Request
执行层 调用工具 调度安全服务
MCP Runtime 不可见 能力注册 + 沙箱
Sandbox 不可见 真正执行
ToolMessage 返回结果 MCP Response

6、扩展与控制层(Extensions / Guard / Control Layer)

6.1、这一层是干什么的?

这一层是最后一道“系统理性防线”,负责“非业务、但必须存在的控制逻辑”,即:

模型可能对
执行层可能对
但系统不一定该放行

Guardrails 是一种“与模型解耦的、强制生效的系统控制机制”,它的核心目标只有一个:

即使模型做错了,也不让系统出事

Guardrails 的三大类:

  1. Input Guardrails:
    • Prompt 注入检测
    • 敏感指令拦截
  2. output Guardrails
    • PII 检测
    • 合规过滤
    • 幻觉检测
  3. 行为级Guardrails
    • 成本控制
    • 调用频率
    • 幂等性
    • 审计
为什么不能放在执行层?

因为:

执行层 = “怎么做”
扩展层 = “能不能做 / 做到什么程度”

这样的话,即使 LLM 完全胡说,也不会造成系统级事故

7、基础设施层(Infra / Runtime Layer)

7.1、这一层干什么?

保证 Agent “活着、跑稳、可扩展”

包括:

  • 模型服务(OpenAI / 自建)
  • 网络
  • 并发
  • 缓存
  • 日志
  • 监控
  • 异步调度

2026 趋势:端侧化

  • SLM 做编排
  • 云端 LLM 做复杂推理
  • 延迟 / 成本下降

要能够做到 Agent 数量 ×10,代码不改,系统还能跑

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐