基础概念
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)
能够分析需求并自主调用工具。
工作流程:
- LLM 分析用户需求。
- LLM 决定是否调用工具,以及调用哪个工具。
- 执行工具,将结果返回给 LLM。
- 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 的手和脚。通过清晰的 description 和 schema,让 LLM 能够准确使用外部能力。
记忆管理(Memory)
- 短期记忆:对话历史(Messages),通过状态传递。
- 长期记忆:用户偏好、知识库,通过持久化存储。
规划能力(Planning)
对于复杂任务,Agent 需要先分解任务,再逐个执行。
4️⃣ 自定义 Agent 架构
人机协作(Human-in-the-Loop)
在关键节点(如转账、敏感操作)暂停,等待人工确认。LangGraph 提供了 interrupt 机制来实现这一点。
多代理系统
多个专业 Agent(如“研究员”、“撰稿人”、“审核员”)协作完成任务。
💡 练习题
-
选择题:以下哪种架构最适合处理“根据用户问题类型,转发给不同部门”的场景?
- A. ReAct 架构
- B. 路由器架构
- C. 工具调用架构
- D. 纯 LLM 生成
-
分析题:为什么工具的
description对于 Tool Calling Agent 至关重要?如果描述不清晰会发生什么?
📚 参考资源
官方文档
✅ 总结
本章要点:
- Agent 的核心在于利用 LLM 进行动态决策。
- 从简单的路由到复杂的 ReAct 循环,架构的选择取决于业务复杂度。
- 工具调用和记忆管理是构建强大 Agent 的两大基石。
下一步:掌握了理论,我们需要动手实践了。下一章《环境搭建》将带你准备好开发环境。
登录以继续阅读
解锁完整文档、代码示例及更多高级功能。