🎯 课程主题
介绍Agent(智能体)的概念、核心要素,以及LangChain 1.0中统一的Agent创建入口 create_agent。
📝 核心知识点
1. Agent的定义与定位
- 概念说明:Agent是以大语言模型为推理和决策核心,结合记忆和工具调用,具备规划决策能力并能执行复杂任务的智能体。
- 关键细节:
- Agent是当前AI工程应用的"终极形态",大模型应用开发本质上就是Agent开发。
- 之前章节讲的模型创建、提示词、工具调用、结构化输出等,都是为Agent赋能的。
- AGI(通用人工智能)是AI的终极形态,Agent则是现阶段离AGI最近的工程实践。
2. Agent的核心要素(按重要性排序)
- 必须存在:行动(Action)—— 必须有一个具体的推理/执行过程。
- 几乎总是存在:工具(Tools)—— 极大拓展Agent的能力边界。
- 有条件存在:规划决策(Planning)—— 复杂任务需要拆解,简单任务可省略。
- 最容易被省略:记忆(Memory)—— 但实际上也几乎是必须的。
- 核心两个:工具 + 记忆。
3. LangChain 0.x vs 1.0 的Agent创建方式演变
- 0.x时代:具体场景具体分析,不同需求创建不同Agent(如
reactagent、结构化输出agent、工具调用agent),还需要通过AgentExecutor来调用。- 痛点:每种Agent需单独记忆API和参数,心智负担高;多Agent协作时无法统一调度;碎片化严重。
- 1.0时代:统一入口 ——
create_agent()一个函数替代所有旧方式。
4. 本章内容概览
- 基本使用:模型传入方式、invoke()调用方式、工具绑定。
- 高级使用:Agent命名、系统提示词设置、结构化输出、流式输出。
- 实战:创建多功能智能助手。
🏗️ 架构与工作流
Agent的底层基于LangGraph的 CompiledStateGraph 构建。通过 create_agent 创建的Agent本质上是一个图结构,包含:
- 节点:model节点(负责推理决策)、tools节点(负责工具执行)
- 路由:start → model → (需要工具?) → tools → model → (不需要工具?) → end
- 多个Agent之间可以相互通信协作,构成多智能体系统(主流开发模式)。
💻 代码实战
from langchain.agents import create_agent
# LangChain 1.0 统一的Agent创建方式
# create_agent 最重要的两个参数:model 和 tools
agent = create_agent(
model="deepseek:deepseek-chat", # 模型
tools=[...], # 工具列表
)
⚠️ 常见问题与避坑指南
- 几个要素不一定需要同时出现才叫Agent,最精简的情况下只要有"行动"即可。
- 旧版
AgentExecutor方式已废弃,不要再用。
💡 个人总结与延伸
Agent是LangChain框架的核心抽象,前期学的所有内容(模型、提示词、工具、结构化输出、中间件、记忆、RAG、MCP等)本质上都是为Agent赋能的"插件"。LangChain 1.0通过 create_agent 统一了创建入口,大大降低了使用门槛。多智能体协同是未来大模型应用开发的主战场。