OpenAI Agents SDK 教學:安裝、第一個智能體、工具與多智能體交接(Python)

OpenAI Agents SDK 是什麼、怎麼上手?按官方 README 和 Quickstart 講清安裝命令、設定 API Key、十行代碼跑起第一個智能體、給它加函數工具、用 handoffs 做多智能體分工、在 Trace viewer 裏看調用過程,以及它的核心概念各是什麼。

NNathaniel bigo··原創首發·AI 輔助撰寫
8 分鐘讀完
資料核對於 2026-10-11 · 依據官方文檔與公開資料整理 其他 帳號
本文根據 OpenAI Agents SDK 官方倉庫 README 和官方文檔 Quickstart 整理,資料核對於 2026-10-11。文中代碼取自官方頁面,沒有在本機運行驗證。還沒有 API Key 的話先看《OpenAI API Key 怎麼獲取》。

適用於誰

  • 搜「openai agents sdk 教學」「openai agents sdk 使用」「openai agents sdk 是什麼」的人;
  • 已經會調 OpenAI API,想從「一問一答」升級到「能自己調用工具、多步完成任務」的人;
  • 在幾個智能體框架之間做選擇,想先知道官方這一套長什麼樣的人。

結論先說

  1. 它是 OpenAI 官方的智能體開發框架,README 的定位是:一個輕量但功能完整的、用來構建多智能體工作流的框架。
  2. 安裝一行:pip install openai-agents,需要 Python 3.10 及以上,並設定環境變量 OPENAI_API_KEY。
  3. 最小程式只有三步:定義 Agent(名稱加指令)→ 用 Runner 運行 → 讀 result.final_output。
  4. 兩種多智能體模式:交接(handoffs,把對話轉給另一個智能體)和把智能體當工具用(主智能體保持控制權)。
  5. 自帶追蹤。每次運行的過程可以在 OpenAI 控制台的 Trace viewer 裏看到。

一、核心概念

README 列出的概念和各自的定義:

概念含義
Agents(智能體)配置了指令、工具、護欄和交接的大模型
Tools(工具)讓智能體執行操作的函數、MCP 伺服器和託管工具
Handoffs / Agents as tools把特定任務委派給其他智能體
Guardrails(護欄)可配置的輸入、輸出安全校驗
Sessions(會話)跨多次運行自動管理對話歷史
Tracing(追蹤)內置的運行記錄,用來查看、調試和優化工作流
Human in the loop在智能體運行過程中讓人參與的內置機制
Sandbox agents預先配置好、能在容器里長時間工作的智能體
Realtime / Voice agents低延遲的語音與多模態智能體;語音轉文字、智能體、文字轉語音組成的流水線

入門只需要前三個。

二、安裝與設定

bash
mkdir my_project
cd my_project
python -m venv .venv

激活虛擬環境:macOS / Linux 用 source .venv/bin/activate,Windows 用 .venv\Scripts\activate。然後安裝:

bash
pip install openai-agents

用 uv 的話是 uv init 之後 uv add openai-agents。

設定 API Key(把 sk-... 換成你自己的):

bash
export OPENAI_API_KEY=sk-...

Windows PowerShell 的寫法是 $env:OPENAI_API_KEY = "sk-..."。

可選的附加項:語音功能 pip install 'openai-agents[voice]',用 Redis 存會話 pip install 'openai-agents[redis]'。

三、第一個智能體

README 的 Hello world:

python
from agents import Agent, Runner

agent = Agent(name="Assistant", instructions="You are a helpful assistant")

result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)
  • Agent(name=..., instructions=...):instructions 相當於這個智能體的系統提示詞;
  • Runner.run_sync(...):同步運行。它內部是一個循環:調用模型,模型要用工具就執行工具,把結果交回模型,直到產出最終回答;
  • result.final_output:最終的回答。

異步寫法(Quickstart 的例子):

python
import asyncio
from agents import Agent, Runner

agent = Agent(
    name="History Tutor",
    instructions="You answer history questions clearly and concisely.",
)

async def main():
    result = await Runner.run(agent, "When did the Roman Empire fall?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

四、加一個函數工具

把一個普通的 Python 函數變成智能體可以調用的工具。Quickstart 當前頁面的寫法:

python
from agents import Agent
from agents.decorators import tool

@tool
def history_fun_fact() -> str:
    """Return a short history fact."""
    return "Sharks are older than trees."

agent = Agent(
    name="History Tutor",
    instructions="Answer history questions clearly. Use history_fun_fact when it helps.",
    tools=[history_fun_fact],
)

函數的名稱、參數類型和文檔字符串會成為給模型看的工具定義。所以文檔字符串要寫清這個工具做什麼、什麼時候該用;在 instructions 裏點一下「什麼情況下用哪個工具」也有幫助。

工具的基本原理見《Claude 工具調用入門》,各家的機制是相通的。

五、多智能體:交接

一個分診智能體把問題轉給合適的專家智能體。每個專家設定 handoff_description,告訴分診者什麼時候該轉給它:

python
history_tutor_agent = Agent(
    name="History Tutor",
    handoff_description="Specialist agent for historical questions",
    instructions="You answer history questions clearly and concisely.",
)

分診者用 handoffs=[...] 聲明可以轉給誰:

python
triage_agent = Agent(
    name="Triage Agent",
    instructions="Route each homework question to the right specialist.",
    handoffs=[history_tutor_agent, math_tutor_agent],
)

(math_tutor_agent 的定義方式和歷史老師相同。)運行時對 triage_agent 調用 Runner.run 即可。

交接和「智能體當工具」的區別:交接之後,接手的智能體直接負責後面的對話;把智能體當工具用時,主智能體始終保持控制,只是把專家的輸出當作一次工具結果。官方文檔把後者稱為 Agents as tools 模式,適合需要彙總多個專家結果的場景。

六、看運行過程

SDK 預設開啟追蹤。官方給的查看位置是 OpenAI 控制台的 Trace viewer:https://platform.openai.com/traces。在那裏可以看到每次運行裏模型調用了什麼、工具返回了什麼、在哪一步交接。

智能體行為不符合預期時,先看追蹤,再改指令或工具說明,比盲目改提示詞有效。

七、能用別家的模型嗎

README 的說法:SDK 支持 OpenAI 的 Responses API 和 Chat Completions API,並且是「provider-agnostic」的,還能通過可選依賴接入 100 多種其他大模型,README 點名的集成途徑是 any-llm 和 LiteLLM。具體配置以官方文檔為準。

Responses API 是什麼見《OpenAI Responses API》。

八、Sandbox agents

README 把它放在了顯眼的位置:預先配置好、在容器里長時間工作的智能體。README 的示例使用 UnixLocalSandboxClient,支持 macOS 和 Linux;Windows 上官方建議用 DockerSandboxClient 或託管的沙箱客戶端。細節見官方的 Sandbox agents 文檔。

常見問題

Q:和直接調 Responses API 有什麼區別?

直接調 API 時,「模型要調用工具 → 你執行 → 把結果傳回去 → 再調用」這個循環要自己寫。SDK 把循環、交接、會話歷史和追蹤都做好了。

Q:和 Claude Agent SDK 是一類東西嗎?

都是官方的智能體開發工具包,設計取向不同。Claude 那一套見《Claude Agent SDK 快速上手》。

Q:報 429 或提示額度不足?

這是 API 層面的限制,見《OpenAI API 429 錯誤》。智能體一次任務會調用模型多次,用量比單次問答大,測試時留意消耗。

Q:智能體會自己執行危險操作嗎?

它只能調用你給它的工具。有副作用的工具(刪除、付款、發消息)要麼不給,要麼配合護欄和人工確認機制使用。

參考資料

  • openai/openai-agents-python(官方倉庫):https://github.com/openai/openai-agents-python
  • Quickstart(官方文檔):https://openai.github.io/openai-agents-python/quickstart/
需要開通或續費?ChatGPT Plus 充值 →

Nathaniel 的更多內容

  1. 01

    AI 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同模型

  1. 01

    提示詞怎麼寫:ChatGPT / Claude 官方提示詞技巧與萬能公式

    提示詞怎麼寫才有效?本文把 OpenAI 和 Anthropic 官方提示詞指南的要點整理成一個「目標 / 背景 / 輸出 / 邊界」通用公式,附改寫前後對比、迭代追問方法和兩家模型各自的注意點。

    ChatGPTClaude0

同產品的其他教學

  1. 01

    AI圖片放大與高清修復:Midjourney、ChatGPT、Gemini 怎麼出高解像度圖

    AI 生成的圖不夠清晰,想打印或做大圖怎麼辦?本文按官方文檔講清 Midjourney 的 Subtle / Creative 放大和 HD 直出、Gemini 與 ChatGPT 的解像度選項、Flow 的影片放大,以及「AI 放大會編造細節」的注意事項。

    Gemini其他 AI 工具0
  2. 02

    AI影片運鏡提示詞大全:推拉搖移跟升降、環繞、甩鏡怎麼寫(中英對照)

    AI 影片的運鏡提示詞怎麼寫?本文按 Google 官方影片提示指南整理鏡頭運動、機位角度、鏡頭光學效果三張中英對照表,每個術語配效果說明和例句,並給出組合運鏡的寫法和常見翻車原因,適用於 Veo、即夢、可靈等工具。

    Gemini其他 AI 工具0
  3. 03

    AI 影片翻譯怎麼做:用 ElevenLabs 給影片自動配音翻譯、轉寫並生成字幕

    想把一段影片翻譯成另一種語言並保留原聲音色?本文按 ElevenLabs 官方文檔講清 Dubbing 自動配音翻譯的操作步驟、文件限制、免費檔水印與計費方式,以及用 Speech to Text 轉寫、在字幕編輯器裏調整並導出字幕的流程。

    其他 AI 工具0
  4. 04

    MCP Inspector 怎麼用:安裝、啟動命令、調試 MCP 伺服器與 v2 的變化

    MCP Inspector 是什麼、怎麼安裝和使用?按 MCP 官方文檔講清網頁、命令行、終端介面三種模式的啟動命令,怎麼連本地和遠程伺服器、怎麼傳環境變量,密鑰存在哪,以及 v2 相比舊教學在端口、令牌變量名和 Node 版本上的變化。

    Claude其他 AI 工具0
  5. 05

    MCP 的 stdio、SSE 和 Streamable HTTP 有什麼區別:本地與遠程 MCP 怎麼選

    MCP 配置裏的 stdio、sse、http 到底差在哪?按 MCP 官方規範講清兩種標準傳輸方式的工作原理、Streamable HTTP 與舊的 HTTP+SSE 的關係、會話與斷線續傳、規範對安全的硬性要求,以及本地伺服器和遠程伺服器各適合什麼場景。

    Claude其他 AI 工具0
  6. 06

    Midjourney 可以商用嗎:作品歸屬、商用條件與隱身模式

    Midjourney 生成的圖片和影片能不能商用、版權歸誰、公司用要什麼套餐、作品會不會被別人看到?本文按 Midjourney 服務條款逐條解釋,並補充中美對 AI 生成圖片版權的官方 / 司法觀點。

    其他 AI 工具0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~