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)组合文本与多媒体资源,按顺序拼接输出。
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐