OpenAI Agents SDK 的追踪系统能为 AI 工作流提供可见性,捕获重要事件,帮助开发者有效监控和调试应用程序。
什么是 OpenAI Agents SDK?
OpenAI Agents SDK 是一个 Python 工具包,可简化 AI 代理的开发。作为 OpenAI SWARM 项目的生产级进化版本,它提供了构建智能、协作且安全的 AI 系统的功能。其核心是基于 LLM 的代理,可配置特定指令和工具,支持自定义角色,并与 OpenAI 模型(o1、o3-mini、gpt-4o)以及兼容 OpenAI API 的第三方模型兼容。
OpenAI Agents SDK 的关键功能
工具与功能扩展:
- 函数调用:使用
@function_tool装饰器将 Python 函数转换为工具,自动生成模式并进行 Pydantic 验证 - 内置代理循环:处理工具调用、结果反馈和任务循环,实现代理与 LLM 之间的无缝交互
- 任务移交:允许代理将任务委派给其他专门代理,支持多代理协作
安全与监控机制:
- 防护栏:输入筛选可防止有害内容,输出验证确保回复质量和适当性
- 追踪工具:内置追踪功能可可视化并监控整个代理流程,辅助调试和优化
开发者友好特性:
- Python 原生方法:利用 Python 语言特性进行代理编排和链式调用,减少学习新抽象概念的需要
- 高度可定制:提供自定义工具、结构化输出类型以及外部 LLM 提供商集成能力
- 轻量设计:简单而强大的基础原语,学习曲线低
OpenAI Agents SDK 的优势
开发效率
- 简化设置流程,流畅开发代理应用,降低 AI 代理开发门槛
增强系统能力:
- 支持复杂任务执行和高效多代理协作
- 创建专门的协作系统以解决复杂问题
- 集成外部 LLM 模型,灵活性更高
安全与可靠性:
- 防护栏确保安全的 AI 交互
- 增强 AI 代理系统的可靠性和适当行为
- 简化 AI 代理应用为生产环境准备的流程
分析与优化:
- 追踪系统提供代理行为洞察
- 改进用户模式分析和瓶颈识别
- 增强调试和工作流优化能力
OpenAI Agents SDK 示例
步骤 1:设置代理
初始化代理,创建一个名为 AccountingAssistant 的虚拟助手,并为其功能提供清晰指令。
步骤 2:集成工具
集成必要工具,包括:
- 网页搜索工具:获取税务更新。
- API 调用:分析财务报表。
- 文件搜索工具:定位相关文档。
步骤 3:定义任务
将工作流分解为具体任务:
- 任务 1:获取最新税务更新。
- 任务 2:使用 API 分析财务数据。
- 任务 3:基于最新数据生成报告。
步骤 4:执行任务
顺序或并行运行任务。例如:
Runner.run_sync(agent, "Generate a report based on the latest tax laws and financial data.")
步骤 5:监控与调试
使用追踪工具监控任务执行情况,并识别潜在问题进行调试。
如何将 Novita AI 与 OpenAI Agents SDK 集成?
1. 设置 Python 环境并安装 Agents SDK。
python -m venv env
source env/bin/activate
pip install openai-agents
2. 设置您的 Novita API 密钥。

3. 移交示例
import os
from openai import AsyncOpenAI
from agents import (
Agent,
Runner,
set_default_openai_api,
set_default_openai_client,
set_tracing_disabled,
)
BASE_URL = "https://api.novita.ai/v3/openai"
API_KEY = os.getenv("NOVITA_API_KEY")
MODEL_NAME = os.getenv("MODEL_NAME")
# 由于 Novita 不支持 responses API,我们改用 chat completions API。
set_default_openai_api("chat_completions")
set_default_openai_client(AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY))
# 为此示例禁用追踪
# 请参考 https://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list 使用自定义 spans。
set_tracing_disabled(disabled=True)
agent = Agent(name="Assistant",
instructions="You are a helpful assistant", model=MODEL_NAME)
result = Runner.run_sync(
agent, "Write a haiku about recursion in programming.")
print(result.final_output)
# Code within the code,
# Functions calling themselves,
# Infinite loop's dance.
借助灵活的追踪功能,开发者可以通过内置功能和第三方集成来追踪代理行为,确保更好的性能和可靠性。
常见问题
我可以在 OpenAI Agents SDK 中使用哪些 LLM 模型?
兼容 OpenAI 模型(o1、o3-mini、gpt-4o)以及使用兼容 OpenAI API 的第三方模型(如 Novita AI)。
OpenAI Agents SDK 如何处理工具集成?
使用 @function_tool 装饰器将 Python 函数转换为工具,自动生成模式并进行 Pydantic 验证。
OpenAI Agents SDK 是否适用于生产环境?
是的,它包含安全功能(如防护栏)、全面的追踪和监控能力。
Novita AI 是一个 AI 云平台,为开发者提供通过简单 API 部署 AI 模型的简便方法,同时提供价格实惠且可靠的 GPU 云用于构建和扩展。
