Deep Agents 是一个由LangChainAI开发的Python工具包,专注于帮助用户快速构建能够处理复杂任务的AI代理。它基于LangGraph框架,提供内置的规划工具、子代理、虚拟文件系统和详细的系统提示。用户可以通过简单的安装和配置,快速创建支持长时任务和复杂工作流的智能代理。Deepagents适合需要自动化研究、编码或其他复杂任务的开发者,强调开箱即用和灵活定制。项目采用MIT许可证,代码开源,社区活跃,持续更新。
功能列表
- 提供内置规划工具,自动分解复杂任务为可执行步骤。
- 支持子代理协作,分配任务给多个AI代理并协调工作。
- 包含虚拟文件系统,模拟文件操作以支持代理任务。
- 预置详细系统提示,优化AI代理的决策和输出。
- 基于LangGraph框架,支持低层次定制和扩展。
- 开箱即用的Python包,简化安装和初始配置。
- 支持异步操作,提升复杂任务的执行效率。
- 提供示例代码和文档,帮助用户快速上手。
使用帮助
安装流程
Deepagents的安装过程简单,适合熟悉Python的开发者。以下是详细的安装步骤:
- 确保环境要求:
- 需要Python 3.8或更高版本。
- 推荐使用虚拟环境以避免依赖冲突。
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
- 安装Deepagents:
- 使用pip直接安装最新版本。
pip install deepagents
- 安装完成后,检查是否成功。
python -m deepagents --version
- 配置API密钥:
- Deepagents依赖外部LLM(如OpenAI或Anthropic)提供智能支持。需要在环境变量中配置API密钥。
- 创建
.env
文件或直接导出环境变量:
export OPENAI_API_KEY=your_openai_key export TAVILY_API_KEY=your_tavily_key # 用于搜索功能
- 确保
.env
文件不上传至公共仓库,以保护密钥安全。
- 验证安装:
- 运行示例代码,确认环境配置正确。
from deepagents import DeepAgent agent = DeepAgent() print(agent.run("Hello, world!"))
主要功能操作
Deepagents的核心在于构建和运行AI代理。以下是主要功能的使用方法:
- 创建AI代理:
- 使用
DeepAgent
类初始化代理,指定任务目标。
from deepagents import DeepAgent agent = DeepAgent(task="研究2025年AI发展趋势")
- 使用
- 任务规划与分解:
- Deepagents的规划工具会自动将复杂任务分解为子任务。用户只需提供任务描述,代理会生成执行计划。
- 示例:运行研究任务。
result = agent.plan_and_execute() print(result)
- 规划结果存储在虚拟文件系统中,供子代理访问。
- 子代理协作:
- Deepagents支持多个子代理并行工作。用户可以通过配置文件指定子代理数量和职责。
- 示例:配置两个子代理,一个负责搜索,一个负责总结。
agent.add_subagent(role="searcher", tool="tavily_search") agent.add_subagent(role="summarizer", tool="text_processor") agent.execute_collaboration()
- 虚拟文件系统:
- 代理在虚拟文件系统中存储中间结果,模拟真实文件操作。
- 用户可以访问文件内容:
files = agent.filesystem.list_files() content = agent.filesystem.read_file("research_summary.txt") print(content)
- 自定义系统提示:
- Deepagents允许用户修改系统提示,优化代理行为。
- 示例:设置研究任务的提示。
agent.set_system_prompt("请以客观语气生成研究报告,引用可靠来源。")
特色功能操作
Deepagents的特色在于其对复杂任务的支持。以下是具体操作流程:
- 处理长时任务:
- Deepagents通过工具调用循环和子代理协作,适合需要多步骤推理的任务。
- 示例:分析市场趋势。
agent = DeepAgent(task="分析2025年电动车市场趋势") agent.plan_and_execute(max_iterations=10) # 最多10次迭代 report = agent.filesystem.read_file("market_report.md") print(report)
- 异步任务执行:
- 支持异步操作,适合高并发场景。
import asyncio async def run_agent(): agent = DeepAgent(task="搜索最新AI论文") return await agent.async_execute() result = asyncio.run(run_agent()) print(result)
- 与LangGraph集成:
- 用户可以深入LangGraph层,定制代理工作流。
- 示例:修改工作流节点。
from langgraph.graph import StateGraph graph = StateGraph() graph.add_node("research", agent.run_research) agent.set_graph(graph)
使用注意事项
- 确保网络连接稳定,部分功能(如搜索)需要访问外部API。
- 定期检查Deepagents的GitHub仓库,获取最新更新和修复。
- 如果遇到依赖冲突,尝试升级pip或使用干净的虚拟环境。
- 社区支持活跃,可通过GitHub Issues提交问题或加入Discord讨论。
应用场景
- 学术研究辅助
研究人员可以使用Deepagents自动化收集论文、分析数据并生成报告。例如,输入“研究量子计算最新进展”,代理会搜索权威来源,总结关键发现,并生成Markdown报告。 - 软件开发支持
开发者可以利用Deepagents分析代码库、生成文档或自动化调试。输入“分析GitHub仓库的代码结构”,代理会分解任务,调用子代理检查代码并生成分析报告。 - 市场情报收集
企业用户可以让Deepagents研究市场趋势或竞争对手动态。例如,输入“分析2025年AI行业投资趋势”,代理会搜索新闻、报告和社交媒体,生成详细情报。 - 教育内容生成
教师可以使用Deepagents生成教学材料或课程大纲。输入“为AI入门课程生成大纲”,代理会搜索相关资源,规划内容并输出结构化文档。
QA
- Deepagents支持哪些LLM?
Deepagents兼容OpenAI、Anthropic等主流LLM,也支持通过LangChain适配器使用开源模型,如Llama。需要在配置文件中指定模型和API密钥。 - 如何处理API密钥泄露?
不要将.env
文件上传至公共仓库。使用环境变量管理密钥,并在生产环境中限制密钥权限。 - Deepagents是否适合初学者?
是的,Deepagents提供详细文档和示例代码,安装简单。初学者只需基本的Python知识即可上手。 - 运行时遇到依赖错误怎么办?
尝试升级pip(pip install --upgrade pip
)或重新创建虚拟环境。如果问题持续,检查GitHub Issues或提交新问题。 - 可以离线使用Deepagents吗?
部分功能(如搜索)需要联网,但规划和文件系统功能支持离线运行。需预先配置本地LLM。