目录
1. create_agent - LangChain 标准函数
2. create_deep_agent - DeepAgents 高级函数
核心区别对比
实际应用对比
工作流程对比
何时使用哪个?
总结
1. create_agent - LangChain 标准函数
来源:langchain.agents
作用:创建基础智能体
特点:
- ✅ 基础功能:LLM + Tools
- ✅ 简单直接:适合单智能体场景
- ❌ 不支持子代理协作
- ❌ 不支持复杂的多智能体编排
使用示例:
from langchain.agents import create_agent agent = create_agent( model=llm, tools=[search_tool, calculator], system_prompt="你是一个助手" ) # 运行 result = agent.invoke({"messages": ["查询天气"]})2. create_deep_agent - DeepAgents 高级函数
来源:deepagents库
作用:创建支持子代理协作的高级智能体
特点:
- ✅支持子代理:可以调用多个子代理协作
- ✅多智能体编排:主代理协调子代理完成任务
- ✅并行执行:支持多个子代理并行工作
- ✅复杂任务拆解:自动将复杂任务拆分给不同子代理
- ✅层级架构:支持多层级代理结构
使用示例:
from deepagents import create_deep_agent # 定义子代理 research_agent = { "name": "research_agent", "system_prompt": "你是研究员", "tools": [search_tool] } writer_agent = { "name": "writer_agent", "system_prompt": "你是作家", "tools": [] } # 创建主代理(协调员) coordinator = create_deep_agent( model=llm, tools=[], system_prompt="你是项目协调员", subagents=[research_agent, writer_agent] # 关键:支持子代理 ) # 运行 result = coordinator.invoke({ "messages": ["研究AI趋势并写报告"] })核心区别对比
特性 | create_agent | create_deep_agent |
来源 | LangChain | DeepAgents |
子代理支持 | ❌ 不支持 | ✅ 支持 |
多智能体协作 | ❌ 不支持 | ✅ 支持 |
并行执行 | ❌ 不支持 | ✅ 支持 |
任务拆解 | ❌ 手动 | ✅ 自动 |
适用场景 | 简单任务 | 复杂多步骤任务 |
复杂度 | 低 | 高 |
实际应用对比
场景1:简单查询(使用 create_agent)
from langchain.agents import create_agent # 简单的天气查询 agent = create_agent( model=llm, tools=[weather_tool], system_prompt="你是天气助手" ) result = agent.invoke({"messages": ["北京今天天气怎么样?"]})适用:单一工具、简单查询
场景2:复杂项目(使用 create_deep_agent)
from deepagents import create_deep_agent # 研究员子代理 researcher = { "name": "researcher", "system_prompt": "收集信息", "tools": [search_tool] } # 分析师子代理 analyst = { "name": "analyst", "system_prompt": "分析数据", "tools": [calculator] } # 作家子代理 writer = { "name": "writer", "system_prompt": "撰写报告", "tools": [] } # 主协调员 coordinator = create_deep_agent( model=llm, tools=[], system_prompt="协调子代理完成项目", subagents=[researcher, analyst, writer] ) # 复杂任务:研究→分析→撰写 result = coordinator.invoke({ "messages": ["研究AI趋势并撰写分析报告"] })适用:多步骤、多角色、需要协作的复杂任务
工作流程对比
create_agent 工作流程:
用户请求 ↓ LLM 理解意图 ↓ 调用工具(如果有) ↓ 返回结果create_deep_agent 工作流程:
用户请求 ↓ 主代理分析任务 ↓ 拆解为子任务 ↓ 并行调用子代理 ├─→ 研究员:搜索信息 ├─→ 分析师:分析数据 └─→ 作家:撰写内容 ↓ 整合子代理结果 ↓ 返回最终结果何时使用哪个?
使用 create_agent:
- ✅ 简单的问答场景
- ✅ 单一工具调用
- ✅ 不需要多智能体协作
- ✅ 快速原型开发
使用 create_deep_agent:
- ✅ 复杂的多步骤任务
- ✅ 需要多个专业角色协作
- ✅ 需要并行处理
- ✅ 需要任务自动拆解
- ✅ 构建企业级应用
总结
函数 | 一句话概括 |
create_agent | 单兵作战的智能体 |
create_deep_agent | 团队协作的智能体 |
简单理解:
create_agent= 单个员工create_deep_agent= 项目经理 + 多个专业员工