DeepAgents : 工具(Tools )
·
DeepAgents : 工具(Tools )
工具模块是连接 Deep Agents 与外部世界的桥梁,支持无缝集成自定义函数、API、数据库及各类 MCP 服务,实现强大的外部能力调用。
灵活的工具接入机制:Deep Agents 兼容自定义工具、标准 LangChain 工具以及 MCP 暴露的接口。通过 tools= 参数,您可轻松将工具集注入 create_deep_agent,并结合内置的运行时工具(如文件操作、任务规划、子智能体调度),快速构建复杂的工作流。
广泛的模型生态支持:框架已原生适配 Google、OpenAI、Anthropic、OpenRouter、Fireworks、Baseten、Ollama 等主流大模型服务商,确保您的 Agent 能够自由选择最优底层模型。
智能体创建示例
from deepagents import create_deep_agent
# Gemini
agent = create_deep_agent(
model="google_genai:gemini-3.5-flash",
tools=[search, fetch_url, run_query],
)
# OpenAI GPT-5.5
agent = create_deep_agent(
model="openai:gpt-5.5",
tools=[search, fetch_url, run_query],
)
# Claude Sonnet 4.6
agent = create_deep_agent(
model="anthropic:claude-sonnet-4-6",
tools=[search, fetch_url, run_query],
)
# OpenRouter GLM-5.2
agent = create_deep_agent(
model="openrouter:z-ai/glm-5.2",
tools=[search, fetch_url, run_query],
)
# Fireworks GLM-5p2
agent = create_deep_agent(
model="fireworks:accounts/fireworks/models/glm-5p2",
tools=[search, fetch_url, run_query],
)
# Baseten GLM-5.2
agent = create_deep_agent(
model="baseten:zai-org/GLM-5.2",
tools=[search, fetch_url, run_query],
)
# Ollama 本地代码模型
agent = create_deep_agent(
model="ollama:north-mini-code-1.0",
tools=[search, fetch_url, run_query],
)
1. 自定义工具 Custom tools
支持直接传入可调用对象:普通函数、@tool 装饰器定义的 LangChain 工具、工具描述字典。
Deep Agents 会自动解析函数签名与文档字符串生成工具入参结构,多数场景无需手动编写工具 Schema。
示例:封装 Tavily 网页搜索工具
import os
from typing import Literal
from tavily import TavilyClient
from deepagents import create_deep_agent
# 从环境变量读取密钥初始化搜索客户端
tavily_client = TavilyClient(api_key=os.environ["TAVILY_API_KEY"])
def internet_search(
query: str,
max_results: int = 5,
topic: Literal["general", "news", "finance"] = "general",
include_raw_content: bool = False,
):
"""互联网网页搜索工具"""
return tavily_client.search(
query,
max_results=max_results,
include_raw_content=include_raw_content,
topic=topic,
)
# 将自定义搜索工具绑定至智能体
agent = create_deep_agent(
model="openai:gpt-5.5",
tools=[internet_search],
)
2. MCP 工具 MCP tools
Deep Agents 原生支持 模型上下文协议(Model Context Protocol, MCP),一套面向智能体对接外部服务的开源标准。
开发者可加载任意 MCP 服务开放的全部工具,直接传入 create_deep_agent 使用。
安装依赖库
pip install langchain-mcp-adapters
示例: MCP 异步接入
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from deepagents import create_deep_agent
async def main():
# 配置本地MCP服务
client = MultiServerMCPClient({
"my_server": {
"transport": "http",
"url": "http://localhost:8000/mcp",
}
})
# 获取MCP服务提供的所有工具
tools = await client.get_tools()
# 创建搭载MCP工具的智能体
agent = create_deep_agent(
model="openai:gpt-5.5",
tools=tools,
)
# 发起对话调用
result = await agent.ainvoke(
{"messages": [{"role": "user", "content": "调用MCP服务完成任务"}]},
config={"configurable": {"thread_id": "1"}},
)
asyncio.run(main())
3 内置运行环境工具 Built-in harness tools
除开发者手动注入的自定义工具外,所有 Deep Agent 实例默认搭载一套由运行环境(Harness)提供的内置工具,开箱即用,无需额外开发。
内置工具清单
| 工具名称 | 功能说明 |
|---|---|
ls |
列出指定目录下所有文件 |
read_file |
读取文件内容,支持分页加载与多模态文件解析 |
write_file |
创建新文件或覆盖已有文件内容 |
edit_file |
基于字符串精准匹配,对文件进行局部修改 |
delete |
删除单个文件;支持递归删除文件夹及其全部内容 |
glob |
使用通配符批量检索、匹配文件 |
grep |
在文件内搜索目标文本 |
execute |
执行 Shell 命令(仅沙箱运行环境可用) |
task |
派生子智能体,用于任务拆分与子任务调度 |
write_todos |
维护结构化待办任务清单 |
4 多模态工具返回 Multimodal tool outputs
多模态大模型不仅支持纯文本返回,还可输出标准结构化内容块,包括文本、图片、音频、视频及文件。
- 纯文本场景:直接返回字符串即可。
- 图文/媒体混合场景:通过有序内容列表(ContentList)组合文本与多媒体资源,按顺序拼接输出。
更多推荐


所有评论(0)