Marp终极指南:5分钟学会用Markdown制作专业PPT
2026/5/6 12:08:29
目录
1. create_agent - LangChain 标准函数
2. create_deep_agent - DeepAgents 高级函数
核心区别对比
实际应用对比
工作流程对比
何时使用哪个?
总结
来源:langchain.agents
作用:创建基础智能体
特点:
使用示例:
from langchain.agents import create_agent agent = create_agent( model=llm, tools=[search_tool, calculator], system_prompt="你是一个助手" ) # 运行 result = agent.invoke({"messages": ["查询天气"]})来源: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 |
子代理支持 | ❌ 不支持 | ✅ 支持 |
多智能体协作 | ❌ 不支持 | ✅ 支持 |
并行执行 | ❌ 不支持 | ✅ 支持 |
任务拆解 | ❌ 手动 | ✅ 自动 |
适用场景 | 简单任务 | 复杂多步骤任务 |
复杂度 | 低 | 高 |
from langchain.agents import create_agent # 简单的天气查询 agent = create_agent( model=llm, tools=[weather_tool], system_prompt="你是天气助手" ) result = agent.invoke({"messages": ["北京今天天气怎么样?"]})适用:单一工具、简单查询
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趋势并撰写分析报告"] })适用:多步骤、多角色、需要协作的复杂任务
用户请求 ↓ LLM 理解意图 ↓ 调用工具(如果有) ↓ 返回结果用户请求 ↓ 主代理分析任务 ↓ 拆解为子任务 ↓ 并行调用子代理 ├─→ 研究员:搜索信息 ├─→ 分析师:分析数据 └─→ 作家:撰写内容 ↓ 整合子代理结果 ↓ 返回最终结果函数 | 一句话概括 |
create_agent | 单兵作战的智能体 |
create_deep_agent | 团队协作的智能体 |
简单理解:
create_agent= 单个员工create_deep_agent= 项目经理 + 多个专业员工