OpenAI Agents SDK + Ertas
使用 OpenAI 官方 Agents SDK 构建智能体——一个极简、可组合的框架,与 OpenAI API 以及通过兼容 OpenAI 端点提供服务的 Ertas 训练模型同样适配。
Overview
OpenAI Agents SDK 是 OpenAI 官方的 Python 智能体框架,作为实验性 Swarm 项目的继任者发布。它有意保持极简——几个核心原语(Agent、Tool、Handoff、Runner)就能组合成任意复杂的智能体工作流,无需旧框架的概念负担。该 SDK 作为 OpenAI 生态的一等公民得到文档化和官方支持,并内置了对追踪、评估以及 OpenAI Responses API 的集成。2026 年 5 月 7 日发布的 v0.17.0 把 RealtimeAgent 的默认模型升级为 `gpt-realtime-2`,并延续了该 SDK 大约两周一次的发布节奏——这是在生产环境中固定 SDK 版本时的一个有用基准。
该框架定义性的设计抉择是它*不会*把你绑定在 OpenAI 的模型上。Agents SDK 接受任何通过兼容 OpenAI API 访问的模型,这包括 Ollama、vLLM、LM Studio Server、llama.cpp 的 HTTP 服务器以及大多数现代自托管推理运行时。这使该 SDK 对于希望获得 OpenAI 开发者体验与工具,但计划在生产中运行本地或微调模型的团队来说,是格外有吸引力的入口。
该 SDK 还通过其同名的 `@openai/agents` 包提供 TypeScript 友好支持——它镜像 Python API,旨在接入相同的后端。对于在 Vercel AI SDK、Next.js 或 React Native 之上构建的团队——大多数移动应用开发者已经身处其中的 JavaScript 生态——OpenAI Agents SDK 是 2026 年最易上手的 Python 或 TypeScript 智能体框架之一。
How Ertas Integrates
Ertas 训练的模型通过框架的标准模型配置与 OpenAI Agents SDK 协同工作。在 Studio 中微调并导出为 GGUF 后,你通过 Ollama、vLLM 或 Ertas Cloud 提供模型服务,然后用你的端点 URL 和占位符 API key 配置 SDK 的 `OpenAIChatCompletionsModel`(或 `OpenAIResponsesModel`)。每个智能体、每次交接以及每个工具调用现在都对你的微调模型运行。
该 SDK 的轻量级设计与 Ertas 客户关心的成本控制故事尤其契合。Agents SDK 的设计前提是智能体每个任务会发起多次模型调用——这正是为何智能体成本悬崖会让移动应用开发者如此困扰。通过把底层模型从前沿 API 调用换成微调本地模型,每任务经济模型就会从随用户规模线性扩张的 API 成本翻转为不变的固定推理成本。无论换什么模型,SDK 的形态不变,变化的只有账单。
对于生产可观测性,SDK 的追踪系统(记录每次模型调用、工具调用与交接)无论模型在何处提供服务都能透明工作。团队可以在开发中针对 OpenAI 托管模型,将 Ertas 训练模型部署到生产,并用同一套工具检视两者——这对调试以及构建反哺到 Studio 进行增量微调的生产追踪数据集都非常有用。
Getting Started
- 1
在 Ertas Studio 中微调任务专用模型
在能够捕获智能体期望推理模式与工具使用轨迹的数据上训练。OpenAI Agents SDK 调用模型的方式与 OpenAI API 相同,因此适用于 OpenAI 微调的任何数据格式都同样适用于 Studio。
- 2
部署到兼容 OpenAI 的端点
导出为 GGUF 并通过 Ollama、vLLM 或 Ertas Cloud 提供服务。SDK 可调用任何暴露标准聊天补全或 responses API 的端点。
- 3
安装 OpenAI Agents SDK 并配置模型
通过 pip 安装 `openai-agents`(Python)或通过 npm 安装 `@openai/agents`(TypeScript)。创建一个 Agent,并通过 model_settings 参数配置模型指向你的 Ertas 推理端点。
- 4
定义工具与交接
使用 SDK 的 @function_tool 装饰器把 Python 或 TypeScript 函数添加为工具。为多智能体工作流定义到其他智能体的交接。SDK 自动处理编排循环。
- 5
运行带内置追踪的智能体
使用你的输入调用 `Runner.run_sync()`(或其异步/流式变体)。SDK 的追踪系统记录每一步。利用追踪数据进行调试,并将其作为 Studio 持续模型改进的输入。
from agents import Agent, Runner, function_tool
from agents.models import OpenAIChatCompletionsModel
from openai import AsyncOpenAI
# Point the SDK at your Ertas-trained model served via Ollama
client = AsyncOpenAI(
base_url="http://localhost:11434/v1",
api_key="not-needed",
)
model = OpenAIChatCompletionsModel(
model="ertas-mobile-assistant-4b",
openai_client=client,
)
@function_tool
async def search_user_calendar(user_id: str, date: str) -> list[dict]:
"""Look up calendar events for a user on a given date."""
return await calendar_api.events(user_id, date)
@function_tool
async def book_meeting(user_id: str, time: str, duration_min: int) -> dict:
"""Book a meeting at the requested time."""
return await calendar_api.create(user_id, time, duration_min)
scheduling_agent = Agent(
name="Scheduling Assistant",
model=model,
instructions="Help the user check availability and book meetings.",
tools=[search_user_calendar, book_meeting],
)
# Run with built-in tracing
result = Runner.run_sync(
scheduling_agent,
input="Find me a 30-minute slot tomorrow afternoon and book it with the design team.",
)
print(result.final_output)Benefits
- 轻量、可组合的设计——概念负担最小
- 默认与模型无关——可与任何兼容 OpenAI 的端点协作
- 一流的 TypeScript 同伴包(@openai/agents)适用于 JavaScript 项目
- 内置追踪、评估与交接原语
- 可作为 OpenAI 托管模型的直接替代品,转用自托管的 Ertas 训练替代方案
- 为智能体成本悬崖用例而设计——按 token 付费或本地运行时形态一致
- 由 OpenAI 工具支持背书的生产级品质
Related Resources
Fine-Tuning
Function Calling
GGUF
Inference
Fine-Tuning for Tool Calling: How to Build Reliable AI Agents with Small Models
Stop Paying GPT-4 to Call Your APIs: Fine-Tune a Local Tool-Calling Model
Building Reliable AI Agents with Fine-Tuned Local Models: Complete Guide
LangGraph
Ollama
Pydantic AI
Vercel AI SDK
vLLM
Ertas for Customer Support
Ertas for AI Automation Agencies
Ertas for Voice Agent Fine-Tuning
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.