芥末
发布于 2026-01-18 / 0 阅读
0
0

Agentic AI 的范式演进与系统架构拆解

Agentic AI 不是简单地让大语言模型多调用几个工具,而是把模型放进一个闭环系统:它能观察环境、拆解任务、选择动作、调用工具、接收反馈、更新记忆,并在失败时重新规划。

可以先区分两个常见概念:

概念含义关注重点
LLM(Large Language Model,大语言模型)通过上下文生成文本、代码或结构化结果的模型语言理解、生成、推理能力
AI Agent(人工智能智能体)以模型为决策核心,能完成任务闭环的软件或硬件系统工具调用、状态管理、环境交互
Agentic AI让 AI 系统具备更强自主性、协作性和持续执行能力的技术范式架构、学习、评估、安全、治理

一句话概括:LLM 更像“大脑”,AI Agent 是“大脑 + 记忆 + 工具 + 反馈”的任务执行系统,Agentic AI 则讨论这种系统如何设计、训练、评估和治理。

从语言模型到 Agent:能力是怎样叠出来的

Agentic AI 的出现并不是突然发生的。它建立在语言建模、神经网络、指令对齐、工具调用和多轮交互这些能力之上。

阶段代表范式主要能力与 Agent 的关系
1990s统计 n-gram用概率预测词序列只能做局部文本建模,几乎没有任务自主性
2000s神经嵌入把词、句子映射到连续向量空间语义表示变得可计算,为任务接地提供基础
2010sRNN(循环神经网络)/ LSTM(长短期记忆网络)处理序列上下文和长短期依赖多步推理和任务规划开始有雏形
2020sTransformer + RLHF(基于人类反馈的强化学习)长上下文理解、指令跟随、多任务泛化模型开始具备工具使用、规划、反思等 Agent 能力
2020s 后期Agentic AI闭环执行、长期记忆、多 Agent 协作、可验证行动从“回答问题”转向“完成任务”

语言模型到 Agent 的关键变化,不是模型参数变大这么简单,而是交互方式发生了变化。

传统 LLM 的典型模式是:

flowchart LR
    A[用户输入] --> B[LLM 生成回答]
    B --> C[用户阅读结果]

Agent 的典型模式是:

flowchart LR
    A[用户目标] --> B[感知环境]
    B --> C[推理与规划]
    C --> D[调用工具或执行动作]
    D --> E[环境返回反馈]
    E --> F[验证结果]
    F -->|成功| G[输出结果]
    F -->|失败| C
    F --> H[写入记忆]
    H --> C

区别很明显:LLM 的输出通常是一次性的,Agent 的执行过程则会持续观察、行动和修正。只要任务需要跨步骤、跨工具、跨时间完成,就会进入 Agentic AI 的问题空间。

Agent 的核心循环:感知、推理、行动、记忆、验证

一个 Agent 系统通常包含五类组件:

flowchart TB
    U[用户目标 / 外部任务] --> P[感知 Perception]
    P --> R[推理与规划 Reasoning]
    R --> A[行动 Action]
    A --> T[工具 Tools / API / 代码 / 机器人]
    T --> E[环境 Environment]
    E --> O[观测 Observation]
    O --> V[验证器 Validator / 批评家 Critic]
    V -->|通过| OUT[任务结果]
    V -->|失败或不确定| R
    O --> M[记忆 Memory]
    M --> R

可以把 Agent 抽象成一个五元组:

Agent = (πθ, M, T, V, E)
符号含义例子
πθ策略核心,通常由 LLM 或 VLM(Vision-Language Model,视觉语言模型)承担GPT、Claude、Qwen、Llama、Gemini
M记忆系统向量数据库、摘要记忆、任务状态、历史轨迹
T工具集合API(应用程序编程接口)、搜索、代码解释器、数据库、浏览器、机器人控制器
V验证器或批评家单元测试、规则检查器、事实核验器、安全策略、人工审批
E环境网页、代码仓库、企业系统、物理世界、仿真平台

这里的关键点在于:πθ 不是孤立工作的模型,而是一个“策略函数”。它根据目标、记忆、工具结果和环境反馈来决定下一步动作。

一个最小化的 Agent 循环可以写成伪代码:

def agent_loop(goal, policy, memory, tools, validator, max_steps=10):
    observation = None

    for step in range(max_steps):
        context = memory.retrieve(goal=goal, observation=observation)

        action = policy.decide(
            goal=goal,
            context=context,
            observation=observation,
            available_tools=tools.list()
        )

        result = tools.run(action)

        verdict = validator.check(
            goal=goal,
            action=action,
            result=result
        )

        memory.write({
            "step": step,
            "goal": goal,
            "action": action,
            "result": result,
            "verdict": verdict
        })

        if verdict.passed:
            return result

        observation = verdict.feedback

    raise RuntimeError("Agent did not finish within max_steps")

工程上最容易出问题的地方也在这个循环里:模型可能选错工具,工具可能返回噪声,验证器可能过于宽松,记忆可能把错误信息保存下来,环境也可能在执行过程中发生变化。

ReAct:单 Agent 的基础工作流

ReAct 可以理解为 “Reason + Act”,也就是让模型在推理和行动之间交替进行。它不是只输出最终答案,而是把任务拆成一系列“思考—行动—观察”的小循环。

sequenceDiagram
    participant User as 用户
    participant Agent as ReAct Agent
    participant Tool as 工具
    participant Env as 环境

    User->>Agent: 提交任务
    Agent->>Agent: Thought:分析目标和下一步
    Agent->>Tool: Action:调用工具
    Tool->>Env: 查询或执行
    Env-->>Tool: 返回结果
    Tool-->>Agent: Observation:工具反馈
    Agent->>Agent: 根据反馈继续推理
    Agent-->>User: 返回最终结果

一个典型 ReAct 轨迹可能长这样:

Goal: 修复仓库中的一个测试失败问题

Thought: 需要先定位失败测试。
Action: run_tests()
Observation: test_user_service.py::test_create_user 失败。

Thought: 需要查看相关代码。
Action: read_file("services/user_service.py")
Observation: create_user 没有处理重复邮箱。

Thought: 应添加重复邮箱检查,并补充错误返回。
Action: edit_file(...)
Observation: 修改完成。

Thought: 运行测试确认。
Action: run_tests()
Observation: 所有测试通过。

Final: 已修复重复邮箱导致的测试失败。

单 Agent 的优势是结构简单、状态可控、调试成本低。问题也很集中:一旦模型在某个步骤产生幻觉或误解任务,后面的动作会沿着错误方向继续执行。

维度单 Agent ReAct
适合任务简单工具链、代码修改、信息检索、网页操作
主要优点架构简单,调用链短,日志容易追踪
主要风险单点幻觉、长程任务误差累积、复杂任务规划能力不足
工程补救加验证器、限制工具权限、强制小步执行、失败回滚

多 Agent:把复杂任务拆给不同角色

多 Agent 系统会把任务拆成多个角色,例如规划者、执行者、审查者、检索者、代码生成者等。每个 Agent 负责一部分工作,再通过消息协议和共享记忆协作。

flowchart TB
    U[用户目标] --> S[协调者 / Supervisor]

    S --> P[规划 Agent]
    S --> R[检索 Agent]
    S --> C[代码 Agent]
    S --> K[审查 Agent]

    P --> SM[(共享记忆)]
    R --> SM
    C --> SM
    K --> SM

    R --> T1[搜索 / 数据库]
    C --> T2[代码仓库 / 测试工具]
    K --> T3[规则 / 事实核验]

    SM --> S
    S --> OUT[整合结果]

多 Agent 的价值在于分工。复杂任务往往需要不同能力:有人负责制定计划,有人负责查资料,有人负责写代码,有人负责审查风险。如果全部交给一个 Agent,提示词会变得很长,状态也会混乱。

但多 Agent 并不是越多越好。角色越多,通信成本越高,误解也可能级联传播。

维度单 Agent多 Agent
协调成本高,需要角色分配、消息协议和冲突仲裁
记忆方式本地状态或向量库共享知识池、任务黑板、事件日志
失败模式单点幻觉级联误解、重复劳动、互相等待
适合场景简单工具链、短任务审稿、谈判、创意生成、复杂企业流程
必要约束工具权限、结果验证通信规范、角色边界、最终裁决者

多 Agent 系统需要三个基础机制:

  1. 通信原语:角色之间如何发消息,消息包含目标、证据、置信度还是动作请求。
  2. 冲突仲裁:多个 Agent 给出不同结论时,由谁决定继续、重试或交给人工。
  3. 动态分治:任务规模变化时,系统能新增或合并角色,而不是固定一套流程跑到底。

如果没有这些机制,多 Agent 很容易变成多个模型轮流聊天,成本上升,结果却不可控。

三层学习策略:In-Context、IL、RL

Agent 能力的来源不只靠提示词。更完整的训练和优化体系通常分三层:上下文学习、模仿学习、强化学习。

flowchart TB
    A[In-Context Learning 上下文学习] --> B[快速调整提示词、工具说明、策略规则]
    C[IL Imitation Learning 模仿学习] --> D[从专家轨迹学习可执行行为]
    E[RL Reinforcement Learning 强化学习] --> F[通过长期回报优化多步决策]

    B --> G[Agent 系统行为]
    D --> G
    F --> G
层次训练对象数据来源适合解决的问题主要难点
In-Context Learning(上下文学习)不改模型参数,只改提示词和上下文工具描述、示例轨迹、规则模板快速适配新工具、新流程上下文长度有限,复杂任务稳定性不足
IL(Imitation Learning,模仿学习)学习专家行为轨迹人类演示、历史工单、成功执行日志让 Agent 学会标准流程专家数据贵,分布漂移会导致错误累积
RL(Reinforcement Learning,强化学习)优化长期任务回报环境反馈、奖励函数、自动评测多步规划、工具选择、成本控制奖励稀疏,探索成本高,安全边界难定义

上下文学习:把 Prompt 当作软程序

对于很多业务系统,最先落地的往往是上下文学习。它不需要重新训练模型,而是通过提示词、工具 schema、few-shot 示例和策略规则控制 Agent 行为。

一个工具调用模板可以这样设计:

{
  "role": "system",
  "policy": [
    "每次只执行一个外部动作",
    "调用工具前必须说明目标",
    "涉及删除、付款、权限变更时必须请求人工确认",
    "工具失败后最多重试两次"
  ],
  "tools": [
    {
      "name": "search_ticket",
      "description": "按关键词查询工单",
      "input_schema": {
        "keyword": "string",
        "limit": "integer"
      }
    }
  ]
}

这种方式适合快速迭代,但提示词不是强约束。只要任务变长、状态变复杂,系统就需要更强的验证器和外部状态管理。

模仿学习:从专家轨迹学流程

模仿学习的目标是让 Agent 复现专家做事的步骤。比如企业客服 Agent 可以从历史工单中学习:如何判断问题类型、什么时候查询知识库、什么时候升级给人工。

常见做法是行为克隆:把专家轨迹整理成“状态 → 动作”的训练样本,让模型学会在相似状态下选择相似动作。

状态:用户反馈登录失败,错误码为 403
专家动作:查询权限变更记录
工具结果:用户所属角色昨日被移除
专家动作:提交权限恢复审批

行为克隆的风险是分布漂移。训练数据里可能都是“正确前一步”之后的状态,而真实 Agent 一旦走错一步,就会进入专家数据没有覆盖的状态。DAgger(Dataset Aggregation,数据集聚合)会让专家对 Agent 自己产生的状态继续标注,从而扩大训练分布。

强化学习:优化长程任务收益

强化学习更适合处理长程任务,例如自动修复代码、网页连续操作、机器人导航。因为这些任务的成败不取决于单次回答,而取决于一串动作是否最终达到目标。

强化学习要定义奖励:

任务可能的奖励信号
自动编程测试通过、代码改动小、没有引入新错误
网页操作成功完成表单、点击次数少、没有触发危险操作
企业工单解决率、人工接管率、处理时长、合规检查通过
机器人控制到达目标、碰撞次数少、能耗低

困难在于奖励通常很稀疏。比如自动编程任务只有在跑完测试后才知道是否成功,中间每一步修改是否正确并不容易判断。这也是验证器、沙箱环境和可回放日志很重要的原因。

六类 Agent 系统:能力边界和风险不同

Agentic AI 覆盖的系统很广,不同类型的 Agent 需要不同的评估方式。

类型典型场景核心能力主要痛点
Generalist Agent编程、浏览器操作、企业工作流跨工具完成通用任务长程误差累积,成本难控
Embodied Agent机器人、智能设备、自动驾驶辅助感知物理环境并执行动作实时安全边界要求高
Sim-to-Real Agent游戏、仿真训练、WebArena 类网页环境在仿真中学习,再迁移到真实环境环境漂移导致策略失效
Generative Agent故事生成、社会模拟、虚拟角色多角色行为生成和一致性维护角色记忆和世界状态容易漂移
Knowledge & Logic Agent医疗、金融、法务、合规证据检索、逻辑约束、可追溯推理幻觉成本高,必须保留证据链
LLM/VLM Backbone Agent多模态助理、AR/VR、复杂编排器文本、图像、音频、动作统一调度模态对齐和幻觉动作风险

设计 Agent 时不能只问“模型够不够强”,还要问:

  • 任务失败的代价是什么?
  • 是否允许自动执行真实动作?
  • 是否需要人工审批?
  • 是否必须给出证据来源?
  • 是否需要长期记忆?
  • 是否存在实时延迟约束?

医疗、金融、机器人控制这类场景不能依赖“模型看起来回答得不错”,必须引入权限控制、审计日志、事实核验和人工闸门。

工业场景中的关键设计模式

Agent 落地时,任务成功率只是一个指标。更重要的是能不能被监控、能不能回滚、能不能解释、能不能限制风险。

场景关键设计模式常用评测方式
自主编程仓库级检索、小步 diff、单元测试、失败回滚SWE-bench、测试通过率、补丁大小
企业工单策略即代码、角色权限、人工审批、审计日志解决率、升级率、合规检查通过率
网页操作ReAct、DOM(Document Object Model,文档对象模型)观测、可恢复动作WebArena、任务完成率、点击步数
实时多模态感知工具链、缓存、保守拒绝策略延迟、幻觉率、误操作率
知识问答检索增强、引用证据、答案验证事实一致性、证据覆盖率、拒答准确率

自主编程:不要让 Agent 一次改太多

代码 Agent 最怕“大步修改”。更稳的方式是:

flowchart LR
    A[读取 issue / 测试失败信息] --> B[检索相关文件]
    B --> C[生成最小修改计划]
    C --> D[应用小步 diff]
    D --> E[运行测试]
    E -->|通过| F[输出补丁]
    E -->|失败| G[回滚或缩小修改范围]
    G --> C

小步 diff 的好处很实际:测试失败时更容易定位是哪一步引入的问题,代码审查也更容易接受。

企业工单:权限比能力更重要

企业 Agent 会接触客户数据、内部系统和业务操作。它不应该拥有无限权限,而应该按任务类型拿到最小必要权限。

policy:
  reset_password:
    allowed_roles:
      - support_agent
    require_human_approval: false

  refund_payment:
    allowed_roles:
      - finance_agent
    require_human_approval: true
    max_amount: 500

  delete_customer_data:
    allowed_roles:
      - data_protection_agent
    require_human_approval: true
    require_audit_log: true

策略即代码的价值在于:权限规则不再散落在提示词里,而是能被测试、审计和版本管理。

网页操作:DOM 观测比截图更稳定

让 Agent 操作网页时,可以给它截图,也可以给它 DOM 结构。截图适合多模态理解,但按钮位置、样式变化会影响稳定性;DOM 观测能提供更明确的元素层级、文本和属性。

一个网页操作动作可以记录成结构化日志:

{
  "step": 4,
  "observation": {
    "url": "https://example.com/settings",
    "visible_text": ["Account", "Security", "Change password"]
  },
  "action": {
    "type": "click",
    "target": "button[text='Change password']"
  },
  "result": {
    "status": "success",
    "next_url": "https://example.com/settings/password"
  }
}

这种日志能支持回放和错误分析。只保存自然语言对话,很难定位 Agent 到底点错了哪里。

评估 Agent:不能只看最终答案

传统问答评测通常关注答案对不对。Agent 评测要复杂得多,因为它涉及路径、成本、安全和可恢复性。

指标说明
任务成功率是否完成目标
步数和成本调用了多少次模型、多少个工具、花了多少钱
延迟用户等待时间是否可接受
可恢复性工具失败或中间步骤错误时能否重试
证据可追溯结论是否能追踪到数据来源
安全合规是否越权、泄露数据、执行危险动作
人工接管率多少任务需要人类介入
可复现性同样输入是否能得到稳定轨迹

一个可审计的 Agent 系统至少要保留这些信息:

{
  "trace_id": "agent-run-20260607-001",
  "goal": "修复登录失败工单",
  "model": "llm-policy-v1",
  "tools_used": ["search_ticket", "query_user_role", "create_approval"],
  "actions": [
    {
      "step": 1,
      "tool": "search_ticket",
      "input": {"keyword": "login 403"},
      "output_hash": "sha256:...",
      "verdict": "passed"
    }
  ],
  "permission_checks": [
    {
      "action": "create_approval",
      "allowed": true,
      "policy": "support_agent.create_approval"
    }
  ],
  "final_status": "handoff_required"
}

没有轨迹日志,Agent 系统很难进入严肃业务场景。因为一旦出错,团队需要知道它为什么做这个动作、用过哪些数据、有没有越权、是否应该由人工接管。

六个关键挑战

Agentic AI 要从演示走向稳定生产,需要解决六类问题。

1. 可验证规划

Agent 生成计划不难,难的是计划能不能被检查。可验证规划要求动作序列有明确前置条件、后置条件和失败处理。

动作:refund_payment(order_id, amount)

前置条件:
- order_id 存在
- amount <= 可退款金额
- 用户身份已验证
- 金额超过阈值时需要人工审批

后置条件:
- 退款记录写入数据库
- 用户收到通知
- 审计日志保存成功

如果计划只是自然语言描述,系统很难自动判断风险。把计划转成结构化动作,才方便验证器检查。

2. 实时可解释

链式思维不适合作为审计材料,因为它可能包含不稳定的推理文本,也可能泄露不该展示的信息。更实用的是“链式证据”:记录每个结论依赖哪些工具结果、规则和数据来源。

不稳定做法更可控做法
展示模型完整思考过程展示可验证证据和决策摘要
让模型自己解释为什么可信用工具结果、测试结果、规则命中解释
只保存最终答案保存动作、输入、输出、验证结果

3. 持续记忆

长期运行的 Agent 不能把所有历史都塞进上下文。更合理的记忆系统可以分三层:

记忆类型内容用途
Episodic Memory(情节记忆)某次任务发生了什么回放、追踪、个性化
Semantic Memory(语义记忆)稳定事实和知识检索、问答、规则匹配
Procedural Memory(程序记忆)怎样完成某类任务流程复用、策略优化

记忆写入必须谨慎。错误结论一旦进入长期记忆,后续任务可能持续受污染。工程上通常需要给记忆加来源、时间、置信度和过期策略。

4. 多 Agent 协议

多 Agent 需要比“互相发消息”更严格的协议。每条消息最好包含:

{
  "sender": "critic_agent",
  "receiver": "planner_agent",
  "message_type": "risk_report",
  "claim": "退款动作需要人工审批",
  "evidence": ["policy.refund.max_amount", "order.amount"],
  "confidence": 0.94,
  "requested_action": "revise_plan"
}

结构化消息能减少误解,也方便协调者做冲突仲裁。

5. 绿色推理

Agent 往往会多轮调用模型和工具,成本可能迅速上升。绿色推理不是一句口号,而是具体的路由和缓存策略:

方法做法
动态模型选择简单任务走小模型,复杂规划走大模型
工具结果缓存相同查询不重复调用外部工具
轨迹复用相似任务复用成功步骤
早停机制验证器确认成功后停止继续推理
稀疏上下文只检索相关记忆,不把全部历史放入上下文

6. 治理基础设施

生产级 Agent 需要治理能力,尤其是涉及真实用户、资金、权限和隐私数据的系统。

治理基础设施至少包括:

  • 权限即代码:所有高风险动作都有可测试的权限规则。
  • 审计日志:每次工具调用、模型决策和人工审批都可追踪。
  • 合规基准:针对行业要求设置自动检查。
  • 沙箱执行:代码、网页、机器人动作先在隔离环境验证。
  • 人工闸门:高风险动作必须由人确认。
  • 数据最小化:Agent 只能读取完成任务所需的数据。

一个可落地的 Agent 设计清单

构建 Agent 系统时,可以按这张清单检查:

问题设计要求
目标是否明确把用户目标转成可执行任务和终止条件
工具是否可控每个工具有 schema、权限和失败处理
记忆是否可靠记忆有来源、时间、置信度和过期机制
行动是否可验证高风险动作有规则检查和人工审批
失败是否可恢复支持重试、回滚、降级和人工接管
成本是否可监控记录模型调用、工具调用、延迟和费用
结果是否可审计保存完整执行轨迹和证据链

Agentic AI 的核心不是让模型表现得更像人在聊天,而是让它在真实环境中以可控方式完成任务。模型能力决定上限,系统架构决定稳定性,验证和治理决定能不能进入生产环境。

参考资料

https://arxiv.org/abs/2601.01743
AI Agent Systems: Architectures, Applications, and Evaluation

https://arxiv.org/abs/2601.02749
The Path Ahead for Agentic AI: Challenges and Opportunities

评论