DeepAgents:LangChain 推出的全能 AI 智能体框架
DeepAgents:LangChain 推出的全能 AI 智能体框架
DeepAgents 是 LangChain 团队推出的"电池内置"(batteries-included)智能体框架。它是一个开箱即用的 AI 智能体解决方案,无需手动组装提示词、工具和上下文管理,即可获得一个功能完备的智能体。
什么是 DeepAgents?
DeepAgents 是一个基于 LangChain 和 LangGraph 构建的智能体框架(Agent Harness),它的核心理念是:
- 开箱即用:几分钟内启动一个功能完备的智能体
- 功能完整:内置规划、文件系统、子智能体等核心功能
- 完全开源:MIT 许可证,100% 可扩展
- 模型无关:支持任何支持工具调用的 LLM
- 生产就绪:基于 LangGraph 的运行时,支持流式输出、持久化和检查点
核心功能
1. 智能规划(Planning)
内置 write_todos 工具,用于任务分解和进度跟踪:
- 将复杂任务分解为可执行的子任务
- 跟踪任务完成进度
- 动态调整计划
agent = create_deep_agent()
result = agent.invoke({
"messages": [{
"role": "user",
"content": "Research LangGraph and write a summary"
}]
})智能体会自动:
- 创建任务列表
- 逐步完成每个任务
- 跟踪进度并更新状态
2. 完整的文件系统
提供完整的文件操作能力:
read_file— 读取文件内容write_file— 写入新文件edit_file— 编辑现有文件ls— 列出目录内容glob— 模式匹配查找文件grep— 在文件中搜索内容
这使得智能体能够:
- 持久化上下文信息
- 管理大型项目文件
- 实现代码库级别的操作
3. Shell 访问
通过 execute 工具运行命令:
# 执行系统命令(带沙箱保护)
result = agent.invoke({
"messages": [{
"role": "user",
"content": "Run tests and fix any failures"
}]
})安全特性:
- 沙箱化执行环境
- 隔离的运行时
- 可配置的权限控制
4. 子智能体(Sub-agents)
task 工具用于委托工作并隔离上下文:
# 智能体可以创建子智能体来处理独立任务
result = agent.invoke({
"messages": [{
"role": "user",
"content": "Analyze these three repositories in parallel"
}]
})优势:
- 独立的上下文窗口
- 并行任务处理
- 清晰的职责分离
5. 智能上下文管理
自动处理长对话和大输出:
- 对话过长时自动总结
- 大型输出自动保存到文件
- 智能的信息检索和引用
6. 精心设计的提示词
内置提示词教模型如何有效使用工具:
- 清晰的工具使用指南
- 最佳实践模式
- 错误恢复策略
快速开始
安装
pip install deepagents
# 或使用 uv
uv add deepagents基础使用
from deepagents import create_deep_agent
# 创建智能体
agent = create_deep_agent()
# 执行任务
result = agent.invoke({
"messages": [{
"role": "user",
"content": "Research LangGraph and write a summary"
}]
})
print(result["messages"][-1].content)就这么简单!智能体可以:
- 规划任务
- 读写文件
- 管理上下文
- 执行命令
- 创建子智能体
高级定制
自定义模型
from langchain.chat_models import init_chat_model
agent = create_deep_agent(
model=init_chat_model("openai:gpt-4o")
)支持的模型:
- OpenAI (GPT-4, GPT-3.5)
- Anthropic (Claude 3 系列)
- 其他支持工具调用的模型
添加自定义工具
from langchain.tools import tool
@tool
def my_custom_tool(query: str) -> str:
"""My custom tool that does something useful."""
return f"Result for: {query}"
agent = create_deep_agent(
tools=[my_custom_tool]
)自定义系统提示词
agent = create_deep_agent(
system_prompt="You are a research assistant specializing in AI papers."
)配置子智能体
agent = create_deep_agent(
# 子智能体配置
sub_agent_config={
"max_iterations": 10,
"timeout": 300
}
)MCP 支持
通过 langchain-mcp-adapters 支持 MCP(Model Context Protocol):
from langchain_mcp_adapters import get_mcp_tools
mcp_tools = get_mcp_tools()
agent = create_deep_agent(
tools=mcp_tools
)DeepAgents CLI
除了 SDK,DeepAgents 还提供了一个强大的命令行界面(CLI),类似 Claude Code 或 Cursor:
安装 CLI
curl -LsSf https://raw.githubusercontent.com/langchain-ai/deepagents/main/libs/cli/scripts/install.sh | bash主要特性
交互式 TUI
丰富的终端界面,支持:
- 流式响应显示
- 实时输出
- 语法高亮
Web 搜索
内置网络搜索能力,基于实时信息生成响应。
无头模式
支持非交互模式,用于:
- 脚本自动化
- CI/CD 集成
- 批处理任务
完整功能
CLI 包含所有 SDK 功能:
- 远程沙箱
- 持久化记忆
- 自定义技能
- 人工审批流程
LangGraph 原生集成
create_deep_agent 返回的是编译后的 LangGraph 图,这意味着你可以:
流式输出
for event in agent.stream({
"messages": [{"role": "user", "content": "Hello"}]
}):
print(event)Studio 可视化
在 LangSmith Studio 中可视化和调试智能体行为。
状态持久化
from langgraph.checkpoint.memory import MemorySaver
agent = create_deep_agent(
checkpointer=MemorySaver()
)
# 支持对话历史和状态恢复
config = {"configurable": {"thread_id": "123"}}
result = agent.invoke(input_data, config=config)实际应用场景
1. 代码开发助手
agent = create_deep_agent()
result = agent.invoke({
"messages": [{
"role": "user",
"content": """
Implement a REST API for user management with:
- User registration
- Login/logout
- Profile update
Use Python and FastAPI.
"""
}]
})智能体会:
- 规划项目结构
- 创建必要的文件
- 编写代码
- 运行测试
- 修复错误
2. 数据分析助手
result = agent.invoke({
"messages": [{
"role": "user",
"content": """
Analyze the sales data in data/sales_2024.csv
and create a report with visualizations.
"""
}]
})3. 文档生成器
result = agent.invoke({
"messages": [{
"role": "user",
"content": """
Read all the code in src/ directory
and generate comprehensive API documentation.
"""
}]
})4. 自动化测试
result = agent.invoke({
"messages": [{
"role": "user",
"content": """
Run the test suite, identify failing tests,
and fix the bugs.
"""
}]
})安全考虑
DeepAgents 遵循"信任 LLM"模型:
- 智能体可以做其工具允许的任何事
- 在工具/沙箱层面强制执行边界
- 不要期望模型自我约束
安全最佳实践
沙箱化执行环境
agent = create_deep_agent( sandbox_config={ "network": False, "filesystem": "restricted" } )限制工具访问
# 只提供必要的工具 agent = create_deep_agent( tools=[safe_tools_only] )人工审批流程
agent = create_deep_agent( human_in_the_loop=True )
与其他框架对比
vs. Claude Code
| 特性 | DeepAgents | Claude Code |
|---|---|---|
| 开源 | ✅ MIT | ❌ |
| 模型无关 | ✅ | ❌ Claude only |
| 可定制性 | ✅ 高 | ⚠️ 有限 |
| 生产就绪 | ✅ LangGraph | ✅ |
| CLI | ✅ | ✅ |
vs. AutoGPT
| 特性 | DeepAgents | AutoGPT |
|---|---|---|
| 易用性 | ✅ 简单 | ⚠️ 复杂 |
| 上下文管理 | ✅ 自动 | ⚠️ 手动 |
| 生产就绪 | ✅ | ⚠️ 实验性 |
| 社区支持 | ✅ LangChain | ⚠️ 较小 |
为什么选择 DeepAgents?
- 100% 开源 — MIT 许可,完全可扩展
- 模型无关 — 支持任何支持工具调用的 LLM
- LangGraph 支持 — 生产就绪的运行时
- 电池内置 — 规划、文件、子智能体开箱即用
- 秒级启动 —
uv add deepagents即可使用 - 分钟级定制 — 需要时再添加工具、调模型、改提示词
相关资源
- DeepAgents GitHub
- LangChain 文档
- API 参考文档
- Chat LangChain — 与文档对话
- LangChain 论坛 — 社区交流
总结
DeepAgents 是一个功能完备、开箱即用的 AI 智能体框架。它通过提供内置的规划、文件系统、Shell 访问和子智能体等功能,让开发者能够在几分钟内启动一个生产就绪的智能体。
无论你是要构建代码助手、数据分析工具、自动化系统还是其他 AI 应用,DeepAgents 都能提供坚实的基础和灵活的定制能力。
灵感来自 Claude Code,DeepAgents 将其核心理念进一步推广,创建了一个更加通用、更加开放、更加可定制的智能体框架。
本文发布于 2026 年 3 月 28 日,基于 DeepAgents 最新版本编写