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 之上的團隊——大多數行動 app 建構者已使用的 JavaScript 生態系——OpenAI Agents SDK 是 2026 年最容易上手的 Python 或 TypeScript 代理框架之一。
How Ertas Integrates
Ertas 訓練的模型透過框架的標準模型設定與 OpenAI Agents SDK 協同運作。在 Studio 微調並匯出為 GGUF 後,你透過 Ollama、vLLM 或 Ertas Cloud 提供模型服務,再以你的端點 URL 與佔位用 API 金鑰設定 SDK 的 `OpenAIChatCompletionsModel`(或 `OpenAIResponsesModel`)。每個代理、每次轉交、每次工具呼叫現在都會對你的微調模型執行。
SDK 的輕量級設計與 Ertas 客戶關心的成本控制故事特別相得益彰。Agents SDK 的設計假設代理對每個任務進行多次模型呼叫——這正是代理成本懸崖深深咬住行動 app 建構者的原因。透過將底層模型從前沿 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 呼叫任何暴露標準 chat-completion 或 responses API 的端點。
- 3
安裝 OpenAI Agents SDK 並設定模型
安裝 `openai-agents`(Python 透過 pip)或 `@openai/agents`(TypeScript 透過 npm)。建立一個 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 相容端點協同運作
- 為 JavaScript 專案提供一級 TypeScript 姊妹套件(@openai/agents)
- 內建追蹤、評估與轉交原語
- 可作為 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.