Implements agents using Deep Agents. Use when building agents with create_deep_agent, configuring backends, defining subagents, adding middleware, or setting up human-in-the-loop workflows.
Deep Agents 提供了一个基于 LangGraph 构建的开箱即用智能体框架:
返回的智能体是一个编译后的 LangGraph StateGraph,兼容流式传输、检查点和 LangGraph Studio。
python
python
from deepagents import createdeepagent
result = agent.invoke({messages: [{role: user, content: 你好!}]})
python
from langchain_core.tools import tool
from deepagents import createdeepagent
@tool
def web_search(query: str) -> str:
搜索网络获取信息。
return tavily_client.search(query)
agent = createdeepagent(
tools=[web_search],
system_prompt=你是一个研究助手。搜索网络来回答问题。,
)
result = agent.invoke({messages: [{role: user, content: 什么是 LangGraph?}]})
python
from langchain.chatmodels import initchat_model
from deepagents import createdeepagent
agent = createdeepagent(model=model)
python
from langgraph.checkpoint.memory import InMemorySaver
from deepagents import createdeepagent
agent = createdeepagent(checkpointer=InMemorySaver())
智能体支持所有 LangGraph 流模式。
python
for chunk in agent.stream(
{messages: [{role: user, content: 写一份报告}]},
stream_mode=updates
):
print(chunk) # {node_name: {key: value}}
python
for chunk in agent.stream(
{messages: [{role: user, content: 解释量子计算}]},
stream_mode=messages
):
# 实时 Token 流式传输
print(chunk.content, end=, flush=True)
python
async for chunk in agent.astream(
{messages: [...]},
stream_mode=updates
):
print(chunk)
python
for mode, chunk in agent.stream(
{messages: [...]},
stream_mode=[updates, messages]
):
if mode == messages:
print(Token:, chunk.content)
else:
print(更新:, chunk)
文件存储在智能体状态中,仅在线程内持久化。
python
在磁盘上读写实际文件。启用用于 shell 命令的 execute 工具。
python
from deepagents.backends import FilesystemBackend
agent = createdeepagent(
backend=FilesystemBackend(root_dir=/path/to/project),
)
使用 LangGraph Store 实现跨对话持久化。
python
from langgraph.store.memory import InMemoryStore
from deepagents.backends import StoreBackend
store = InMemoryStore()
agent = createdeepagent(
backend=lambda rt: StoreBackend(rt),
store=store, # StoreBackend 必需
)
将不同路径路由到不同后端。
python
from langgraph.store.memory import InMemoryStore
from deepagents.backends import CompositeBackend, StateBackend, StoreBackend
store = InMemoryStore()
agent = createdeepagent(
backend=CompositeBackend(
default=StateBackend(), # /workspace/* → 临时
routes={
/memories/: StoreBackend(store=store), # 持久化
/preferences/: StoreBackend(store=store), # 持久化
},
),
store=store,
)
默认情况下,一个 general-purpose 子智能体可用,包含所有主智能体工具。
python
agent = createdeepagent(tools=[web_search])
python
from deepagents import createdeepagent
research_agent = {
name: researcher,
description: 使用网络搜索对复杂主题进行深入研究,
system_prompt: 你是一位专家研究员。
彻底搜索,交叉引用来源,并综合发现。,
tools: [websearch, documentreader],
}
code_agent = {
name: coder,
description: 编写、审查和调试代码,
system_prompt: 你是一位专家程序员。编写干净、经过测试的代码。,
tools: [code_executor, linter],
model: openai:gpt-4o, # 可选:每个子智能体使用不同模型
}
agent = createdeepagent(
subagents=[researchagent, codeagent],
system_prompt=将研究委托给研究员,将编码委托给编码员。,
)
使用现有的 LangGraph 图作为子智能体。
python
from deepagents import CompiledSubAgent, createdeepagent
from langgraph.prebuilt import createreactagent
agent = createdeepagent(
subagents=[CompiledSubAgent(
name=custom-workflow,
description=运行我的专业分析工作流,
runnable=custom_graph,
)]
)
python
from langchain.agents.middleware import AgentMiddleware
class LoggingMiddleware(AgentMiddleware):
def transform_response(self, response):
print(f子智能体响应:{response})
return response
agent_spec = {
name: logged-agent,
description: 带额外日志记录的智能体,
system_prompt: 你很有帮助。,
tools: [],
middleware: [LoggingMiddleware()], # 在默认中间件之后添加
}
在特定工具之前暂停执行,等待人工批准。
python
from deepagents import createdeepagent
agent = createdeepagent(
tools=[sendemail, deletefile
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 deepagents-implementation-1776067921 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 deepagents-implementation-1776067921 技能
skillhub install deepagents-implementation-1776067921
文件大小: 6.28 KB | 发布时间: 2026-4-17 14:37