跳到主要内容

什么是 Agent

从人类智能到人工智能

人类在复杂的模式识别任务中表现卓越,但通常需要借助工具(如书籍、搜索引擎或计算器)来补充先验知识以得出结论。同理,生成式 AI 模型可通过训练使用工具获取实时信息或执行实际动作。

例如:

  • 模型可利用数据库检索工具获取客户购买历史以生成个性化购物推荐
  • 基于用户查询,模型可通过 API 调用发送邮件或完成金融交易

Agent 的核心能力

为实现上述能力,模型需具备两个关键组件:

  1. 外部工具集访问权限 — 模型能够调用外部工具获取信息或执行操作
  2. 自主规划与执行任务的推理能力 — 模型能够推理下一步应该做什么

这种结合推理逻辑与外部信息访问的系统,即构成智能体(Agent)

Agent 的认知架构

智能体的认知架构中有三个基本组件:

组件作用
模型(Model)负责推理和决策的大脑
工具(Tools)外部能力扩展,如 API、数据库、计算器等
提示(Prompt)提供指令和上下文

执行循环

LLM 在一个循环中运行,每次迭代包括:

  1. 选择工具 — 决定调用哪个工具
  2. 提供输入 — 将参数传递给工具
  3. 接收观察 — 获取工具返回的结果
  4. 指导下一个动作 — 基于观察结果决定下一步

循环会一直持续,直到满足停止条件——通常是 Agent 已经收集到足够的信息来响应用户时。

Agent vs Workflow

Anthropic 将 Agent 系统划分为两类:

Workflow(工作流)

遵循预定义的工作流,编排 LLM 和工具,固定代码路径。适用于流程明确、步骤可预测的场景。

Agent(智能体)

完全自主的系统,在较长时间内独立运行,可以动态地指导自身流程和工具使用。通过自身的推理、规划能力,自主控制完成任务。

特性WorkflowAgent
流程控制预定义固定动态自主
工具调用按编排顺序自主决策
适用场景流程稳定复杂多变

LangGraph 中的 Agent

在 LangGraph 中,一切都是图,Agent 是图中的一个节点。使用 create_react_agent 创建一个 Agent(相当于一个节点的工作流),并且也得到了一个图。

from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

model = ChatOpenAI("xxx")

def tool_example(query: str) -> str:
"""一个示例工具"""
return f"处理结果: {query}"

agent = create_react_agent(
model,
tools=[tool_example],
)

# 查看生成的图结构
agent.get_graph().draw_mermaid_png()

工作流与 Agent 的关系

智能体由于自主决策(先调哪个工具、后调哪个工具由智能体自主决策),会产生很多不确定性。为了防止智能体由于自主决策产生的幻觉,就需要做一些固定编排,这样就形成了工作流

工作流和 Agent 是相辅相成的:

  • 工作流提供稳定性和可预测性
  • Agent提供灵活性和自适应能力

从广义上来说,工作流和图都是智能体;从细节上来说,工作流可以由多个智能体组成。


速记要点

概念关键词速记
Agent 核心模型 + 工具 + 推理大脑 + 手
执行循环选择 → 输入 → 观察 → 行动选→给→看→做
Agent vs Workflow自主 vs 固定Agent 灵活 / Workflow 稳定
LangGraph一切皆图图 = 节点 + 边
create_react_agentAgent 构建一行代码搞定 Agent

核心一句话

Agent = LLM + 工具 + 循环推理

Workflow = Agent + 固定编排

记忆口诀

  • Agent 三组件:模型是脑,工具是手,提示是指挥
  • Workflow 本质:给 Agent 套上缰绳,防止"跑偏"
  • LangGraph 核心:记住八个字 — 状态流转、节点执行

Agent 核心能力

能力说明对比大模型
感知理解环境、接收信息(通过工具获取外部数据)大模型只能基于训练数据
规划分解目标、制定执行步骤大模型只能一次性回答
决策自主选择调用哪个工具、如何响应大模型无决策能力
行动调用工具执行具体操作大模型只能生成文本

一句话总结:Agent = 大模型 + 工具 + 循环推理,具备感知→规划→决策→行动的完整闭环,而大模型只是"只会说不会做"的语言模型。