08-DeepAgents与生产部署
第08章:Deep Agents 与生产部署
版本:LangChain v1.3.7 | 讲师:汤姆小白
1. Deep Agents 概述
1.1 什么是 Deep Agents
Deep Agents是 LangChain 推出的高级 Agent 框架,内置了复杂任务所需的全部能力:任务规划、子代理生成、上下文工程、文件系统、长期记忆等。
create_agent → 单步工具调用 Agent,适合简单任务 LangGraph → 自定义编排,适合中等复杂任务 Deep Agents → 开箱即用的高级 Agent,适合最复杂场景1.2 核心能力
| 能力 | 说明 |
|---|---|
| 任务规划 | 内置write_todos工具,自动分解复杂任务 |
| 子代理(Sub-agents) | 自动生成子代理处理子任务 |
| 上下文工程 | 自动摘要、压缩、大结果卸载到文件系统 |
| 文件系统后端 | 插件式文件系统(内存/磁盘/LangGraph Store) |
| 长期记忆 | 跨会话持久化记忆 |
| 人机协同 | 关键节点可暂停获取人工审批 |
| 沙箱执行 | 代码在隔离环境中运行 |
1.3 安装
pipinstalldeepagents2. Deep Agent 快速入门
2.1 基础用法
fromdeepagents.graphimportcreate_deep_agentfromlangchain.chat_modelsimportinit_chat_model model=init_chat_model("anthropic:claude-sonnet-4-6")agent=create_deep_agent(model=model,system_prompt="你是一个专业的研究助手,能自主搜索、分析、撰写报告。",)# 复杂任务:Agent 会自动规划、分解、执行result=agent.invoke({"messages":[{"role":"user","content":"研究 2026 年 AI Agent 领域的最新趋势,写一份 500 字的报告"}]})2.2 文件系统与上下文管理
Deep Agent 自动管理上下文,大结果卸载到文件系统:
# Deep Agent 会自动将长文档、大段代码等存储到文件系统# 并生成文件引用,而不是全部放在上下文中agent=create_deep_agent(model=model,system_prompt="你是一个代码分析助手",)result=agent.invoke({"messages":[{"role":"user","content":"分析这个项目的全部 Python 文件,找出所有潜在的性能问题"}]})# Agent 会:# 1. 用 task 工具生成子代理逐个分析文件# 2. 子代理的分析结果存入文件系统# 3. 主代理汇总所有结果生成最终报告2.3 子代理协作
Deep Agent 自动派生子代理处理复杂子任务:
agent=create_deep_agent(model=model,tools=[web_search,code_executor],)# 这个请求会自动触发子代理result=agent.invoke({"messages":[{"role":"user","content":""" 完成以下三个任务: 1. 搜索最新的 Python 3.13 新特性 2. 写一段代码演示其中最有趣的特性 3. 将结果整理成 Markdown 报告 """}]})3. Deep Agent 与 create_agent 的定位差异
| 维度 | create_agent | Deep Agent |
|---|---|---|
| 复杂度 | 简单到中等 | 中等至极复杂 |
| 任务规划 | 无 | 自动分解 |
| 子代理 | 无 | 自动生成 |
| 上下文管理 | 手动(Middleware) | 自动(压缩+文件系统) |
| 实现复杂度 | 几行代码 | 开箱即用 |
| 可控性 | 高(底层 LangGraph) | 中(高层抽象) |
建议:简单任务用
create_agent,复杂任务用 Deep Agent,需要极致控制用 LangGraph。
4. 生产部署
4.1 部署范式
LangChain 生态的三种部署方式:
| 方式 | 适用场景 | 工具 |
|---|---|---|
| LangServe | 将链/Agent 部署为 REST API | langserve |
| LangGraph Platform | 生产级 Agent 部署与运维 | LangGraph Cloud |
| 自建服务 | 自定义部署方案 | FastAPI / Flask |
4.2 LangServe 快速部署
pipinstalllangserve# app.pyfromfastapiimportFastAPIfromlangserveimportadd_routesfromlangchain.agentsimportcreate_agentfromlangchain.chat_modelsimportinit_chat_model agent=create_agent(model=init_chat_model("openai:gpt-4o-mini"),tools=[...],system_prompt="你是有用的助手",)app=FastAPI(title="My Agent API")add_routes(app,agent,path="/agent")# 运行:uvicorn app:app --reload访问:
http://localhost:8000/agent/playground— 可视化测试http://localhost:8000/agent/invoke— API 调用
4.3 LangSmith 可观测性
LangSmith 是 LangChain 的追踪和评估平台:
importos os.environ["LANGSMITH_TRACING"]="true"os.environ["LANGSMITH_API_KEY"]="your_key"# 所有 LangChain 调用自动追踪agent=create_agent(...)result=agent.invoke(...)# 在 https://smith.langchain.com 查看完整执行链路LangSmith 提供的功能:
- 追踪(Tracing):可视化 Agent 完整执行链路
- 评估(Evaluation):自动化测试 Agent 质量
- Playground:可视化调试 Prompt
- 监控(Monitoring):生产环境性能监控
5. 技术选型指南
你的任务复杂度是? / \ 低/中 高 / \ create_agent Deep Agents 够不够? / \ 够 不够 / \ Deep Agent LangGraph (开箱即用) (完全自定义)本章小结
| 层级 | 产品 | 适用场景 |
|---|---|---|
| 简单 | create_agent | 工具调用、单步任务 |
| 中等 | LangGraph | 自定义工作流 |
| 复杂 | Deep Agents | 多步规划、子代理协作 |
| 运维 | LangSmith + LangServe | 可观测性 + API 部署 |
