DEV Community

韩

Posted on

OpenAI Agents SDK的5个隐藏用法 🔥

你知道吗?OpenAI 官方 Agents SDK 已经支持连接任何 MCP Server,但 90% 的开发者还在把它当成高级聊天机器人用。

这个框架在 GitHub 上有 26,779 Stars,HN Algolia 上关于 MCP 支持的讨论获得了 807 分(2026 年最高分之一)。它不仅仅是一个多 Agent 框架——它内置了大量生产级功能,但大多数教程从未提及。

今天我们深入挖掘 5 个隐藏用法,让你在 2026 年构建 AI 应用时遥遥领先。


隐藏用法 #1:3行代码连接任何 MCP Server

大多数人的用法: 手动编写 JSON Schema 定义工具函数,写大量冗长的 function_call 处理器。

隐藏技巧: SDK 原生支持 MCP 协议。只需 3 行代码就能连接任何 Model Context Protocol Server,不需要手写任何工具定义。

from agents.mcp import MCPToolset

# 连接 MCP Server(如文件系统 MCP、Slack MCP 等)
tools = MCPToolset(
    command="npx",
    args=["@modelcontextprotocol/server-filesystem", "/path/to/dir"]
)

agent = Agent(
    name="文件助手",
    instructions="你可以读取和写入工作区中的文件。",
    tools=tools
)
Enter fullscreen mode Exit fullscreen mode

效果: 你的 Agent 立即获得 MCP Server 暴露的所有工具权限——文件操作、API 调用、数据库查询——无需手写任何工具定义。

数据来源: OpenAI Agents SDK GitHub 26,779 Stars,HN Algolia "OpenAI adds MCP support to Agents SDK" 807分(故事 #43485566)


隐藏用法 #2:Sandbox Agent — 在容器中运行真实代码

大多数人的用法: 让 Agent 生成代码,然后手动在外部执行。

隐藏技巧: SandboxAgent 在完全隔离的容器中运行——支持文件系统访问、git 操作,以及跨对话轮次的持久化工作区。

from agents import Runner
from agents.sandbox import Manifest, SandboxAgent, SandboxRunConfig
from agents.sandbox.entries import GitRepo
from agents.sandbox.sandboxes import UnixLocalSandboxClient

agent = SandboxAgent(
    name="代码审查助手",
    instructions="审查代码仓库并提出改进建议。",
    default_manifest=Manifest(
        entries={"repo": GitRepo(repo="openai/openai-agents-python", ref="main")}
    )
)

result = Runner.run_sync(
    agent,
    "总结这个仓库的架构。",
    run_config=RunConfig(sandbox=SandboxRunConfig(client=UnixLocalSandboxClient()))
)
print(result.final_output)
Enter fullscreen mode Exit fullscreen mode

效果: Agent 自动克隆仓库、检查文件、运行命令、施加补丁——全部在隔离的 Linux 容器内完成,跨对话轮次保持完整工作区状态。

数据来源: OpenAI Agents SDK GitHub 26,779 Stars,官方文档 openai.github.io/openai-agents-python/sandbox_agents/


隐藏用法 #3:Guardrails 在入口处拦截无效输入

大多数人的用法: 完全跳过输入验证,或者事后用正则表达式打补丁。

隐藏技巧: Guardrail 作为独立验证步骤,在 Agent 处理任何输入之前运行——带有结构化的通过/失败结果和自动恢复机制。

from agents import Agent, Guardrail, GuardrailFunctionOutput
from pydantic import BaseModel

class UserIntent(BaseModel):
    is_code_request: bool
    requested_language: str | None

def check_intent(output: GuardrailFunctionOutput) -> bool:
    """仅允许代码相关请求通过。"""
    return output.output.is_code_request

guardrail = Guardrail(
    name="code_request_filter",
    n=1,
    output_type=UserIntent,
    on_fail=check_intent
)

agent = Agent(
    name="开发助手",
    instructions="帮助用户编写和调试代码。",
    input_guardrails=[guardrail]
)
Enter fullscreen mode Exit fullscreen mode

效果: 任何非代码输入在到达 LLM 之前就被拦截——在入口处减少幻觉和跑题响应。

数据来源: OpenAI Agents SDK GitHub 26,779 Stars,官方文档 openai.github.io/openai-agents-python/guardrails/


隐藏用法 #4:Tracing 让你真正看到 Agent 在想什么

大多数人的用法: 添加 print 语句然后祈祷——对工具调用序列、Token 使用量或中间推理过程完全没有可见性。

隐藏技巧: SDK 内置 Tracing 功能,记录每一步:Agent 推理、工具调用、LLM 响应和延迟——全部可在可视化仪表板中查看。

from agents import Runner, Agent
from agents.tracing import trace

# 用 trace() 包裹任何 Agent 运行,自动完成仪表化
with trace(agent_name="my-assistant", tags=["production", "v1"]):
    agent = Agent(name="我的助手", instructions="你是一个有用的助手。")
    result = Runner.run_sync(agent, "用 Python 写一个 Hello World。")
    print(result.final_output)

# 在以下地址查看 traces:https://platform.openai.com/traces
Enter fullscreen mode Exit fullscreen mode

效果: 每次 Agent 运行都会生成结构化 trace,包含每次 LLM 调用、工具调用和 Guardrail 检查的跨度信息——使调试多轮对话像阅读时间线一样简单。

数据来源: OpenAI Agents SDK GitHub 26,779 Stars,官方文档 openai.github.io/openai-agents-python/tracing/


隐藏用法 #5:Realtime Agent — 语音对话背后有完整 Agent 能力

大多数人的用法: 将 OpenAI Realtime API 单独使用,手动与 Agent 逻辑缝合在一起。

隐藏技巧: Agents SDK 原生支持 RealtimeAgent——语音对话背后有完整的 Agent 能力支撑:工具调用、Guardrails 和多 Agent 交接。

from agents.realtime import RealtimeAgent, RealtimeConfig
from agents import Runner

agent = RealtimeAgent(
    name="语音助手",
    instructions="你是一个有工具访问权限的语音助手。",
    voice="alloy"  # 使用 OpenAI 的语音模型
)

# 带有完整工具访问权限的语音 Agent——无需手动缝合
config = RealtimeConfig(model="gpt-realtime-2", tools=[...], guardrails=[...])
Runner.run(agent, config=config)
Enter fullscreen mode Exit fullscreen mode

效果: 语音对话可以真正使用工具——搜索网页、运行代码、查询数据库——同时在多轮对话中保持完整的上下文。OpenAI 自己的 Advanced Voice 框架内部也在使用这个 SDK(HN 266分)。

数据来源: OpenAI Agents SDK GitHub 26,779 Stars,HN Algolia "Open source framework OpenAI uses for Advanced Voice" 266分(故事 #41743327)


总结:5 个技巧

  1. MCP Server 集成 — 3 行代码连接任何 MCP Server,无需手写 Schema
  2. Sandbox Agent — 在隔离容器中运行 Agent,支持 git/文件系统访问
  3. Guardrails — 在入口处拦截无效输入,防止有害输出到达用户
  4. Tracing — 对 Agent 推理、工具调用和延迟获得完整可见性
  5. Realtime Voice Agent — 语音对话背后有完整 Agent 能力支撑

3 个内链:

你最喜欢的隐藏用法是什么?在评论区分享!

Top comments (0)