基础概念

Agent(智能代理)概念

深入理解智能代理的核心概念、架构类型和在 LangGraph 中的实现方式

📚 学习目标

学完这篇文章后,你将能够:

  • 理解 Agent 与传统固定流程应用的核心区别
  • 掌握三种主要的 Agent 架构(路由器、工具调用、ReAct)
  • 学会在 LangGraph 中实现基本的 Agent 逻辑
  • 了解 Human-in-the-Loop(人机交互)模式

前置知识

在开始学习之前,建议先阅读:

你需要了解:

  • 基本的图结构和节点定义
  • LLM 的基本能力(推理、生成)

1️⃣ 什么是 Agent?

Agent(智能代理) 是一个使用 LLM 来决定应用控制流的系统。

核心能力

  • 自主决策:根据当前情况选择下一步行动
  • 动态适应:根据环境变化调整策略
  • 工具使用:选择和使用各种外部工具
  • 学习记忆:从历史经验中学习和改进

Agent vs 传统应用

特性传统应用Agent 应用
流程固定(预处理 -> LLM -> 后处理)动态循环(感知 -> 决策 -> 行动 -> 观察)
灵活性低,路径预定义高,路径运行时决定
复杂度

2️⃣ Agent 架构类型

1. 路由器(Router)

最简单的 Agent 类型,从预定义的多个路径中选择一条。

实现要点:使用 addConditionalEdges 根据分类结果路由到不同节点。

2. 工具调用代理(Tool Calling Agent)

能够分析需求并自主调用工具。

工作流程

  1. LLM 分析用户需求。
  2. LLM 决定是否调用工具,以及调用哪个工具。
  3. 执行工具,将结果返回给 LLM。
  4. LLM 根据工具结果生成最终回答。

代码示例

const searchTool = tool(async ({ query }) => "搜索结果...", {
  name: "search",
  description: "搜索相关信息",
  schema: z.object({ query: z.string() })
});
// LLM 会根据 description 决定何时调用

3. ReAct 架构

ReAct = Reasoning(推理)+ Acting(行动)。

它让 Agent 在每一步都能“思考-行动-观察”,从而解决复杂问题。


3️⃣ Agent 的核心组件

工具调用(Tool Calling)

Agent 的手和脚。通过清晰的 descriptionschema,让 LLM 能够准确使用外部能力。

记忆管理(Memory)

  • 短期记忆:对话历史(Messages),通过状态传递。
  • 长期记忆:用户偏好、知识库,通过持久化存储。

规划能力(Planning)

对于复杂任务,Agent 需要先分解任务,再逐个执行。


4️⃣ 自定义 Agent 架构

人机协作(Human-in-the-Loop)

在关键节点(如转账、敏感操作)暂停,等待人工确认。LangGraph 提供了 interrupt 机制来实现这一点。

多代理系统

多个专业 Agent(如“研究员”、“撰稿人”、“审核员”)协作完成任务。


💡 练习题

  1. 选择题:以下哪种架构最适合处理“根据用户问题类型,转发给不同部门”的场景?

    • A. ReAct 架构
    • B. 路由器架构
    • C. 工具调用架构
    • D. 纯 LLM 生成
  2. 分析题:为什么工具的 description 对于 Tool Calling Agent 至关重要?如果描述不清晰会发生什么?


📚 参考资源

官方文档


✅ 总结

本章要点

  • Agent 的核心在于利用 LLM 进行动态决策。
  • 从简单的路由到复杂的 ReAct 循环,架构的选择取决于业务复杂度。
  • 工具调用和记忆管理是构建强大 Agent 的两大基石。

下一步:掌握了理论,我们需要动手实践了。下一章《环境搭建》将带你准备好开发环境。

登录以继续阅读

解锁完整文档、代码示例及更多高级功能。

立即登录

On this page