OpenAI Agents SDK 獨立開發者實戰指南(2026 年 4 月版)
你想用 AI Agent 做 side project,但光是把 tracing、sandbox、multi-agent 協作這些基礎設施拼起來就花掉大半時間?OpenAI Agents SDK 在 2026 年 4 月推出重大更新,把這些散落的拼圖整合成一套統一 API。但在你 pip install 之前,有幾件事官方文件不會直接告訴你。
TL;DR
- Agents SDK 是免費開源的(MIT 授權),但 hosted tools 和模型呼叫會產生費用,成本結構是非線性的
- 「Model-agnostic」有條件:模型推理層可替換,但用了 hosted tools 就被綁在 OpenAI 平台上
- 2026/04 新功能全是 Python-only:sandbox、harness、code mode 都沒有 TypeScript 版
- Harness/compute 分離才是真正的架構革新,不是 sandbox 本身
- 月預算 $20-50 的開發者:E2B 做測試,Modal 做部署,用 Manifest 掛自有儲存避免 vendor lock-in
你以為 Agents SDK 是 model-agnostic,但這個自由是有條件的
OpenAI 官方文件聲稱 Agents SDK 支援 100+ LLMs,這句話技術上沒錯。SDK 的模型推理層確實可以透過 OpenAI-compatible API 接入 Claude、Gemini、DeepSeek 等模型,第三方 adapter 如 LangDB 也有完整教學。
但這裡有個關鍵區分:模型替換不等於平台替換。
一旦你使用了 Threads、Vector Stores、File Search 或 Code Interpreter 這些 hosted tools,你的 agent 資料就存在 OpenAI 的平台上。這些工具沒有對應的「通用介面」,你無法把 Vector Store 裡的索引直接搬到 Pinecone,也無法把 Thread 的對話記錄匯出到其他框架。
對獨立開發者來說,務實的策略是:
- 推理層:放心用 OpenAI 模型起步,知道日後可以切換
- 資料層:謹慎評估每一個 hosted tool,能用自有替代方案的就用自己的
- 儲存層:用 Manifest 掛載 S3/GCS(後面會詳細說明),保持資料可攜性
真正的架構革新不是 sandbox,而是 harness 與 compute 的分離
多數媒體報導把焦點放在「sandbox 新功能」,但 The New Stack 的技術分析點出了更深層的設計哲學:這次更新的核心是 harness(控制層)與 compute(執行層)的分離。
為什麼這很重要?在傳統架構裡,你的 API key、資料庫密碼、第三方服務 token 都存在跟 agent 程式碼一起執行的環境裡。如果模型被 prompt injection 攻擊,攻擊者理論上可以讓 agent 把你的 credentials 吐出來。
Harness/compute 分離的設計假設是:假設威脅一定會發生(assume threats will occur)。Credentials 永遠存放在 harness 層,不會進入 model-generated code 執行的沙箱環境。即使沙箱被攻破,攻擊者也拿不到你的密鑰。
我在測試時,在 Modal sandbox 環境內用 import os; print(os.environ.get("OPENAI_API_KEY")) 直接嘗試讀取 harness 層設置的 API key,結果回傳 None,確認 harness 層的隔離是有效的(harness credentials 不會注入 sandbox 的環境變數)。對獨立開發者來說,這意味著你不再需要自己搭建一套 credential isolation 機制,SDK 在架構層就幫你解決了。
這個設計也是說服公司資安部門的有力論點:不只是「我們加了 sandbox」,而是「我們從根本上假設攻擊會發生,所以敏感資料根本不在執行環境裡」。
零到第一個 Agent:Indie Maker 最快的上手路徑
先裝起來再說。Agents SDK 目前版本是 v0.14.2(本文以此版本為基準,SDK 仍在快速迭代中,請以官方文件確認最新 API),需要 Python 3.10+:
pip install openai-agents
前提條件:你已有 OpenAI API key(設為環境變數 OPENAI_API_KEY)並安裝 Python 3.10+。
最小可行的 agent 只需要幾行程式碼:
from agents import Agent, Runner
agent = Agent(
name="idea-validator",
instructions="你是一個 side project idea 驗證助手。分析使用者的 idea,給出市場可行性評估和建議的 MVP 功能清單。"
)
result = Runner.run_sync(agent, "我想做一個用 AI 自動生成週報的 Slack bot")
print(result.final_output)
這就是最簡版本。但 Agents SDK 真正讓我省時間的不是 Agent 本身,而是內建 tracing 不需要額外設定。每次 Runner.run() 都會自動記錄完整的執行軌跡,包括每個 tool call 的輸入輸出、token 消耗、延遲時間。在 OpenAI Dashboard 就能看到。
如果你之前用 LangChain 做 agent,應該知道搭 LangSmith tracing 要多花多少時間。Agents SDK 把這件事變成零配置,對只有週末時間做 side project 的人來說,這省下的不只是設定時間,而是 debug 時間。
加上 tool 也很直覺:
from agents import Agent, Runner, function_tool
@function_tool
def check_domain(domain: str) -> str:
"""檢查網域名稱是否可用"""
# 你的檢查邏輯
return f"{domain} 可用"
agent = Agent(
name="idea-validator",
instructions="你是一個 side project idea 驗證助手。可以檢查網域名稱是否可用。",
tools=[check_domain]
)
從安裝到跑出第一個有 tool 的 agent,實測不超過 30 分鐘(前提:已有 API key 和 Python 3.10+ 環境)。
Sandbox 供應商選型:E2B vs Modal vs Daytona
如果你的 agent 需要執行程式碼、讀寫檔案或跑 shell 指令,就需要 sandbox。Agents SDK 在 v0.14.0 內建了 SandboxAgent,官方支援多個沙箱供應商。以下是以獨立開發者月預算 $20-50 為前提的選型建議:
| 比較項目 | E2B | Modal | Daytona |
|---|---|---|---|
| 免費額度 | $100 一次性額度 | 每月 $30 | $200 一次性額度 |
| 計費方式 | 按秒計費 | 按秒計費 | 按秒計費 |
| 單價參考 | 1 vCPU 約 $0.05/hr | CPU $0.059/hr 起 | 按實際 compute |
| 最大 session | 免費版 1 小時 | 無硬性限制 | 依方案而定 |
| 適合場景 | 開發測試、原型驗證 | 正式部署、偶發性使用 | 企業合規、自托管 |
| 獨立開發者推薦度 | 入門首選 | 正式部署首選 | 除非有合規需求,否則過重 |
我的實際選擇:開發階段用 E2B 的免費額度快速驗證,確認 agent 行為穩定後切到 Modal 部署。Modal 的按秒計費和每月 $30 免費額度,對只在週末跑幾個小時的 side project 來說非常經濟。
E2B 免費額度用完怎麼辦:E2B $100 額度是一次性的,用完後需要付費(計費方式也是按秒,1 vCPU 約 $0.05/hr)。如果你的開發測試期已結束,建議直接切換到 Modal,而不是持續付費給 E2B,因為 Modal 的免費額度是每月重置的,更適合低頻使用的 side project。
成本全貌:Agent 費用不只是 token
很多人以為用 Agents SDK 的成本就是 token 費用,但實際上有三個維度會疊加:
1. 模型 token 費用:這是基本的,依你選的模型而定。
2. Hosted tools 固定費用:
- Code Interpreter:$0.03/session(每個 20 分鐘 container)
- File Search:$0.10/GB/天(儲存)+ $2.50/千次呼叫
3. Multi-step workflow 的 token 膨脹:每個 agent turn 都會把完整 context 重傳一次。一個 5 步驟的 workflow,實際 token 消耗可能是你預期的 3-4 倍。
成本試算範例(估算,僅供規劃參考,實際費用視使用模式而定):
假設你做一個程式碼審查 agent,每次審查跑 5 個 step,平均每 step 輸入 2,000 tokens + 輸出 500 tokens(含 context 重傳),使用 GPT-4o,並觸發 1 次 Code Interpreter session:
- 模型 token(GPT-4o:$2.50/M input, $10/M output):約 $0.025-0.05/次
- Code Interpreter session:$0.03/次
- Context 重傳膨脹(multi-step 導致每步 context 累積):額外 $0.02-0.06/次
- 單次審查總成本:約 $0.075-0.14
如果你每天跑 20 次測試,一天就是 $1.5-2.8,一個月可能 $45-84。還沒算 sandbox 供應商的費用。
成本護欄建議:
- 在 OpenAI Dashboard 設定每月用量上限
- 用
max_turns參數限制 agent 最大執行步數 - 開發階段用便宜的模型(如 GPT-4o-mini),確認流程後再換強模型
- File Search 的儲存費是按天計的,測試完記得清理 Vector Store
TypeScript 開發者的現實:2026/04 功能全是 Python-only
這是我認為目前 Agents SDK 最大的遺憾。TechCrunch 和 OpenAI 官方公告都確認:sandbox、新 harness 架構、code mode、subagents,本次更新的所有核心新功能均先在 Python SDK 推出。TypeScript 版本支援「計畫在未來版本」,但沒有任何具體時程。
如果你是習慣 TypeScript 的獨立開發者,有三個現實選項:
- 等:但沒有 ETA,可能是幾週也可能是幾個月
- 學 Python 用新功能:Agents SDK 的 Python API 設計得很 Pythonic,如果你有 JS 基礎,學習曲線不算陡。花一個週末跟著官方 quickstart 做,基本上就能上手
- TypeScript + REST API 繞道:用 TypeScript 寫主邏輯,透過 REST API 呼叫 OpenAI 的 hosted tools。能用但繞路,而且無法享受 SDK 層級的 tracing 和 type safety
我的建議是:如果你對 sandbox 和 harness 功能有需求,直接用 Python。省下的繞路時間遠超過學習成本。
多 Agent 協作:handoff 現在能做什麼,subagents 還在哪裡
Agents SDK 的多 agent 機制目前分兩塊,一塊已經可以用,一塊還在 roadmap:
現在可用:Handoff(Sequential Orchestration)
Handoff 讓你定義 agent 之間的移交邏輯。比如一個「分類 agent」判斷使用者意圖後,把對話交給對應的「專家 agent」:
# 注意:import 路徑請以最新官方文件為準,SDK 仍在快速迭代中
from agents import Agent, handoff
billing_agent = Agent(name="billing", instructions="處理帳單相關問題")
tech_agent = Agent(name="tech-support", instructions="處理技術問題")
triage_agent = Agent(
name="triage",
instructions="判斷使用者問題類型並轉交給對應的專家",
handoffs=[handoff(billing_agent), handoff(tech_agent)]
)
Handoff 是 sequential 的:一次只有一個 agent 在執行,執行完後把控制權交出去。對大多數 indie maker 的 use case 來說這夠用了。
還在 Roadmap:Subagents(Parallel Task Decomposition)
如果你想讓多個 agent 同時執行不同任務(例如:一個查資料、一個寫程式碼、一個做測試),subagents 功能目前還在 roadmap 上。
現階段要做 parallel 執行,需要自己管理 asyncio:
import asyncio
from agents import Runner
async def parallel_agents():
results = await asyncio.gather(
Runner.run(research_agent, "查詢市場數據"),
Runner.run(code_agent, "產生 MVP 程式碼"),
)
return results
可以用,但沒有 SDK 層級的 tracing 整合和錯誤處理。設計新專案架構時,不要假設 subagents 已可用,避免之後需要重寫。
進階:用 Manifest 策略避免 Vendor Lock-in
如果你擔心被 OpenAI 生態系綁死,Manifest 是目前最實用的逃生口。
Manifest 是 Agents SDK 的抽象層,讓你定義 agent 的 workspace(檔案系統、環境變數、資源掛載),不需要綁定特定 compute provider。關鍵是:你可以透過 Manifest 掛載自有的雲端儲存。
Hybrid 架構策略:
┌─────────────────────────────────┐
│ 你的控制範圍 │
│ ┌───────────┐ ┌─────────────┐ │
│ │ Harness │ │ 自有儲存 │ │
│ │ + Tracing │ │ (S3 / GCS) │ │
│ │ (SDK) │ │ │ │
│ └─────┬─────┘ └──────┬──────┘ │
│ │ Manifest │ │
│ └───────┬────────┘ │
└────────────────┼─────────────────┘
│
┌───────┴───────┐
│ Sandbox │
│ (E2B / Modal) │
└───────────────┘
這個策略的核心思路:
- 用 SDK 的 harness + tracing:這些是 Agents SDK 的核心價值,且不涉及資料鎖定
- Storage 用自己的 S3/GCS:透過 Manifest 掛載,讓 sandbox 內的 agent 讀寫你自己的儲存
- 避免 hosted tools 的資料依賴:File Search 可以用自建的向量資料庫替代,Vector Stores 裡不放無法匯出的核心資料
Manifest 最小範例(概念示意,請參閱官方文件確認最新 API):
from agents.sandbox import SandboxAgent, Manifest
# 定義 agent workspace,掛載自有 S3 儲存
manifest = Manifest(
filesystem={
"/data": {"type": "s3", "bucket": "my-bucket", "prefix": "agent-output/"}
},
env_vars={} # 敏感 credentials 存在 harness,不放入 manifest
)
agent = SandboxAgent(
name="data-processor",
instructions="處理 /data 目錄下的資料檔案",
manifest=manifest
)
注意:Manifest API 仍在更新中,請以官方沙箱文件為準。上方為概念示意,幫助你理解掛載方式,實際語法請查閱最新文件。
這樣做的好處是:哪天你想換框架,tracing 資料可以匯出,儲存在自己手上,唯一要重寫的是 agent 邏輯本身。
Agents SDK vs LangGraph vs CrewAI:選型決策表
根據 Composio 的框架比較和我的實際使用經驗,不同背景的開發者適合不同的工具:
| 決策條件 | Agents SDK | LangGraph | CrewAI |
|---|---|---|---|
| 學習曲線 | 低(Python 開發者) | 中高(需理解 graph 概念) | 低(role-based DSL) |
| Tracing 整合 | 內建,零配置 | 需搭 LangSmith | 需自建或外掛 |
| 安全隔離 | Harness/compute 分離 | 需自建 | 需自建 |
| Multi-agent | Handoff 可用,subagents 開發中 | 完整 DAG 支援 | Role-based 協作成熟 |
| 模型彈性 | 有條件的 model-agnostic | 完全 model-agnostic | 完全 model-agnostic |
| 社群生態 | 快速成長(PyPI 30 天 1470 萬下載,公司自述) | 成熟 | 活躍但較小 |
你應該選哪個?
- 獨立開發者,想最快出 MVP:Agents SDK。統一 API + 內建 tracing + 低學習曲線,省下自己組裝基礎設施的時間
- 需要複雜 DAG workflow(例如:分支判斷、條件迴圈、parallel 執行):LangGraph。它在 graph orchestration 上比 Agents SDK 成熟
- 非工程師想做 agent(PM、產品人):CrewAI 的 role-based DSL 比較直覺,不需要深入理解 async programming
- 已有 LangChain 系統想遷移:先評估遷移成本。如果你主要用 tracing 和 simple chain,Agents SDK 值得換;如果你重度依賴 LangGraph 的 DAG 功能,短期內不建議遷移
風險揭露
- Vendor lock-in 風險:使用 hosted tools(File Search、Vector Stores、Code Interpreter)會產生平台依賴。建議開發初期就規劃 Manifest + 自有儲存的 hybrid 架構
- 成本風險:多步驟 agent workflow 的 token 消耗是非線性的。務必設定每月用量上限和
max_turns限制 - 功能缺口風險:TypeScript 新功能無明確時程,subagents 仍在 roadmap。不要基於 roadmap 功能設計架構
- 安全風險:harness/compute 分離大幅提升安全性,但不代表零風險。仍需遵循最小權限原則設定 sandbox 權限
上線前必查清單:Agents SDK Production Checklist
在你把 agent side project 推上生產環境之前,確認以下 10 項:
- Harness credential 隔離測試:確認 API key 和敏感 token 不會在 sandbox 內被存取
- 每月費用上限設定:在 OpenAI Dashboard 設定 spending limit
- max_turns 限制:避免 agent 無限迴圈吃光預算
- Tracing 覆蓋率:確認所有 tool call 都有被 tracing 記錄
- TypeScript 功能缺口確認:如果前端需要呼叫 agent,確認 REST API 能滿足需求
- Sandbox 供應商選定:E2B(測試)/ Modal(正式)/ Daytona(合規)
- Manifest + 自有儲存:核心資料不要只存在 OpenAI hosted tools 裡
- 錯誤處理:sandbox crash 時的 retry 邏輯和 fallback 方案
- Rate limit 規劃:了解你使用的模型的 TPM/RPM 限制,設計對應的排隊機制
- 成本監控:設定每日/每週費用警報,避免一次測試就超出月預算
結論
OpenAI Agents SDK 在 2026 年 4 月的更新把 AI Agent 開發的門檻拉低了一個台階。harness/compute 分離的安全架構、內建 tracing、統一的 tool API,這些過去需要自己花幾週搭建的基礎設施,現在一個 pip install 就有了。
但它不是銀彈。model-agnostic 是有條件的、TypeScript 支援落後、成本結構有隱藏的非線性膨脹。知道這些限制,才能做出正確的架構決策。
如果你是月預算 $20-50 的獨立開發者,我的建議是:先用 Python + Agents SDK 做出最小版本的 agent,用 E2B 免費額度測試,確認可行後切到 Modal 部署,從第一天就用 Manifest 掛自有儲存。這條路徑讓你用最低成本驗證 idea,同時保留日後切換框架的自由。
現在就 pip install openai-agents,把你一直想做的那個 AI side project 搞起來。
FAQ
Agents SDK 要收費嗎?是免費開源的嗎?
SDK 本身是 MIT 授權的免費開源專案(pip install openai-agents),但使用 OpenAI 的模型和 hosted tools(Code Interpreter、File Search)會產生 API 費用。Code Interpreter 每 session $0.03,File Search 每 GB/天 $0.10 加上每千次呼叫 $2.50。
可以用 Claude 或 Gemini 搭配 Agents SDK 嗎?
可以,但有條件。SDK 的模型推理層支援透過 OpenAI-compatible API 或第三方 adapter(如 LangDB)接入 Claude、Gemini 等模型。但如果你使用了 Threads、Vector Stores、File Search 等 hosted tools,這些功能只在 OpenAI 平台上運作,無法跟著模型一起搬走。
Sandbox 供應商哪個最便宜?E2B、Modal、Daytona 怎麼選?
開發測試用 E2B(免費 $100 額度),正式部署用 Modal(每月 $30 免費額度,按秒計費無最低消費),企業合規需求用 Daytona($200 免費額度,支援自托管)。月預算 $20-50 的獨立開發者,Modal 的按秒計費模式最友善。
和舊的 Assistants API 有什麼差別?Assistants API 還能用嗎?
Agents SDK 是 Assistants API 的進化版,核心差異是 harness/compute 分離架構和開源可控性。Assistants API 目前仍可使用,但 OpenAI 的開發重心已全面轉向 Agents SDK,建議新專案直接採用 Agents SDK。
我不懂 Python,能用 TypeScript 寫 Agents SDK 嗎?
Agents SDK 有 TypeScript 版本,但 2026 年 4 月的所有新功能(sandbox、harness、code mode、subagents)僅限 Python。TypeScript 支援「計畫在未來版本」但無明確時程。如果你需要這些新功能,目前只能用 Python。

