GPT-6 的 Tool Search

ˈrevənjuː (企业、组织的)收入,收益;(政府的)税收;税务局,税务署(the revenue)

只说一句话 → AI 自动找工具 → 自动调用工具 → 自动给你最终结果

deferred tools

py 复制代码
from openai.agents import Agent, tool_search_tool
from openai.agents.deferred import DeferredTool

# 1. 定义延迟工具(元数据,无完整Schema)
deferred_tools = [
    DeferredTool(
        namespace="enterprise",
        name="query_monthly_sales",
        description="Query monthly sales revenue by region",
        tags=["database", "sales"],
        schema_hash="sha256:a1b2c3..."
    ),
    DeferredTool(
        namespace="mcp_public",
        name="generate_pdf_report",
        description="Generate PDF report from data",
        tags=["report", "pdf"],
        schema_hash="sha256:d4e5f6..."
    )
]

# 2. 创建 Agent,启用 Tool Search
agent = Agent(
    model="gpt-6",
    instructions="You are a business analyst assistant.",
    tools=[
        # 启用 Tool Search(托管模式),OpenAI = MCP Client,你的工具 = MCP Server
        tool_search_tool(
            namespaces=["enterprise", "mcp_public"], # 允许搜企业内部工具 + 公共 MCP 工具
            limit=3,
            execution="hosted"  # 默认:OpenAI 执行搜索
        )
    ],
    deferred_tools=deferred_tools  # 注册轻量元数据
)

# 3. 执行:自动搜索 → 加载 → 调用
async def main():
    result = await agent.run(
        "分析Q3华东区销售额并生成PDF报告"
    )
    print(result.final_output)

deferred_tools

这是工具元数据(轻量信息)

不包含:

  • 工具的完整 JSON Schema
  • 工具的实现代码
  • 工具的调用地址

只包含:

  • 名字
  • 功能描述
  • 标签
  • 命名空间
  • schema 哈希(用来后面按需加载)

作用:让 GPT 知道 "有哪些工具可以搜",但不占上下文空间

流程

① 用户说:分析 Q3 华东区销售额并生成 PDF 报告

② GPT-6 理解意图

我需要:

  • 查询销售额
  • 生成 PDF 报告

③ GPT-6 自动触发 Tool Search

模型内部发出搜索请求:

plaintext 复制代码
query: ["查询华东区Q3销售额", "生成PDF报告"]
namespaces: ["enterprise", "mcp_public"]

④ OpenAI 搜索匹配到两个工具

query_monthly_sales

generate_pdf_report

⑤ OpenAI 按需加载工具完整 Schema

根据 schema_hash 加载真正的调用格式

⑥ OpenAI 服务器(MCP Client)调用你的工具

第一步:调用查询销售额

OpenAI → 你的MCP服务:query_monthly_sales(region=华东, quarter=Q3)

第二步:调用生成 PDF

OpenAI → 你的MCP服务:generate_pdf_report(数据=xxx)

⑦ GPT-6 整合结果 → 生成最终回答

⑧ 返回给你

  1. deferred_tools = 工具目录(不占上下文),不是工具本身,是工具索引
  2. tool_search_tool = 给 AI 装上 "搜工具" 能力,传统函数调用必须把所有工具 Schema 塞进上下文。Tool Search 只搜需要的&加载需要的
  3. execution="hosted" = OpenAI 直接调用你的 MCP
  • OpenAI = MCP 客户端
  • 你的服务 = MCP 服务端
  • 调用路径:OpenAI → 你的公网 MCP
相关推荐
doiito19 小时前
【Agent Harness】Gliding Horse 上下文动态感知与智能压缩:让 Agent 真正“听得进”每一句话
ai·rust·架构设计·系统设计·ai agent
探索云原生2 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Zy宇2 天前
从养 OpenClaw 到养社区 AI:一套 Multi-Agent 社区的设计思路
人工智能·ai
doiito2 天前
【Agent Harness】Gliding Horse 记忆系统深度剖析:像 CPU 一样思考的 AI 记忆架构
ai·rust·架构设计·系统设计·ai agent
mobility2 天前
免费AI视频生成器:我如何用零成本做出带旁白字幕的多场景AI视频
ai·vibe coding
doiito3 天前
【Agent Harness】Gliding Horse 给 Agent OS 装上双曲空间引擎与默克尔树边云同步
ai·rust·架构设计·系统设计·ai agent
knqiufan3 天前
从 Python 到 TypeScript,用 GLM-5.2 跑通 PowerMem SDK 的长程任务工程
ai·memory·agentic·powermem
小白跃升坊3 天前
Codex 增强部署:基于 Codex++ 接入 DeepSeek
ai·ai编程·codex·deepseek·ai coding·codex++
AlfredZhao3 天前
GPT 省钱,不是别用最新模型,而是别浪费缓存
gpt·ai
doiito4 天前
【Agent Harness】Gliding Horse 本体论系统设计:给 AI Agent 装上“语义大脑”
ai·rust·架构设计·系统设计·ai agent