OpenAI 在 2026 年 9 月 3 日公布 GPT-6 Astra,API 識別為 gpt-6-astra,4 日對 API 客戶開放。很多人搜「怎麼呼叫」,不是因為不知道它貴或上下文有 105 萬,而是卡在更土的地方:ChatGPT 裡已經能看到 GPT-6 Pro,Python 卻報 model_not_found;或者把去年的 Chat Completions 範例原樣貼上,一加 tools 就 400。本文不重複「Astra 是什麼」——那篇見站內 發布時間、價格與 Agent 解析——只把你從 API Key 帶到第一次成功的 output_text。
為什麼第一次請求經常失敗
舊方式是:旗艦一出,把腳本裡的模型字串改成「最新那個」。新方式是:先對齊四件事——付費專案、環境變數裡的 Key、端點、釘死的模型 ID 與 effort。分水嶺不是你會不會寫 OpenAI(),而是你有沒有把 ChatGPT 視窗和 API 專案當成兩個系統。
最常見的五條失敗路徑彼此無關,卻經常疊在一起。第一,Plus / Pro 能聊 GPT-6 Pro,並不等於 platform.openai.com 的專案已經開通 Astra。第二,企業工作區預設關閉該模型,管理員沒開開關時,SDK 報的不是「去找管理員」,而是模型不可用。第三,免費 API 檔明確不支援 Astra,儲值或升級用量檔之前不要懷疑 SDK。第四,官方當前指引是:純文字還可以走 Chat Completions,工具呼叫必須走 Responses。第五,有人把 Key 寫進腳本、提交到 Git,或用聊天紀錄裡的截圖當金鑰,輪替後舊請求會突然 401。
知識截止為 2026 年 4 月 30 日。推理強度 reasoning.effort 支援 low、medium、high、xhigh、max,不支援 none,亂寫會 400。閘道預設常為 low。第一次探測就用 low:你要驗證的是通路,不是把 max 推理費燒在「hello」上。
先分類:Key、端點、模型 ID
把你聽到的名字拆成四層,避免把「我已經登入 ChatGPT」當成「我已經能打 API」。
| 層 | 你聽到的名字 | 第一次請求時的實際含義 |
|---|---|---|
| 產品入口 | ChatGPT / API / Azure / Bedrock | 本教學走 OpenAI API;雲廠商要換自己的 SDK 與部署名 |
| 金鑰 | User key / Project key | 在付費專案裡建立,只放環境變數,不寫進源碼 |
| 端點 | Responses / Chat Completions / Batch | 新專案預設 Responses;純文字可退 Completions;離線批次走 Batch |
| 模型 | GPT-6 / Astra / GPT-6 Pro / Ultra | 請求裡只寫 gpt-6-astra,生產再鎖官方快照 |
拿 Key 的最短路徑:打開 platform.openai.com,確認目前組織與專案已開通計費,不是免費檔;進入 API keys 建立一把只給本機或本 CI 用的金鑰;立刻複製一次,之後介面不再回顯完整值。Windows 用系統環境變數或金鑰管理器,macOS / Linux 用 export。不要把 Key 傳給同事聊天視窗,也不要寫進 Jupyter 的預設輸出。
# macOS / Linux export OPENAI_API_KEY="sk-..." # never commit the key echo 'OPENAI_API_KEY=sk-...' >> .env echo '.env' >> .gitignore
SDK 用官方 openai 套件。版本過舊時,client.responses 可能根本不存在,看起來像「Astra 沒開」,其實是你還在用 Completions-only 的舊客戶端。
python3 -m pip install -U "openai>=1.0" python3 -c "import openai; print(openai.__version__)"
模態上,上線時支援文字和圖像輸入、文字輸出;音訊和視訊輸入未開放。Responses 工具包括網頁搜尋、檔案搜尋、圖像生成、程式碼直譯器、託管 shell、apply patch、Skills、Computer Use、MCP 和 tool search。支援函式呼叫與結構化輸出,不支援微調。這些能力都建立在「第一條文字請求已經成功」之上,不要第一步就接 Computer Use。
Responses 和 Chat Completions 怎麼選
非對稱結論先寫在這:純文字兩條路都能打 Astra;只要出現工具、託管能力和非同步 tool,就必須走 Responses。 不要為了「我熟悉 messages 陣列」把整個 Agent 焊死在 Completions 上。
| 能力 | Responses API | Chat Completions | Batch / Flex |
|---|---|---|---|
純文字 gpt-6-astra | 支援,新專案預設 | 支援,適合存量文字通路 | 支援,標準價 50% |
| 函式呼叫 / 結構化輸出 | 支援,官方推薦入口 | 不要作為 Astra 新工具鏈的預設 | 按批次規則 |
| 託管工具(搜尋、shell、Computer Use) | 支援 | 不是這條線的主路徑 | 不適合互動式桌面任務 |
| 串流輸出 | 支援 | 支援 | 不用於即時終端 |
| 第一次探測 | 推薦 | 僅當你必須相容舊閘道 | 不要用來驗證 Key |
價格仍是每百萬 token 輸入 10 美元、輸出 50 美元;快取讀 1 美元、快取寫 12.50 美元。上下文 1,050,000,最大輸出 128,000。輸入超過 272K,整單按 2× 輸入與快取、1.5× 輸出計。Fast 為適用費率的兩倍。搜尋和 Computer Use 另收工具費。第一次請求用一句話、low effort,帳單應接近「可以忽略」;若第一次就燒出長推理,是你把探測寫成了評測。
工具迴圈的協議層沒有變:模型產出結構化請求,執行時負責副作用。若你還在把三家 JSON 方言寫進業務 if-else,先把內部 ToolCall 收攏。細節見 Function Calling 協議對照。和 Gemini、上一代 GPT 的分流,可參考 Gemini 4 vs GPT-5.6。
最小 Python:從 Key 到第一次請求
下面這條請求只做三件事:讀環境變數、釘死 gpt-6-astra、用 low effort 換一句確認。成功標準不是文采,而是你能列印 output_text 和 response.id。把 ID 留下,排障時比「我剛才好像成功了」有用。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
instructions="You are a concise engineering assistant.",
input="Reply with one sentence: Astra API is reachable.",
reasoning={"effort": "low"},
)
print(response.output_text)
print(response.id)
print(getattr(response, "usage", None))
若組織規定存量閘道只能打 Chat Completions,文字探測可以先走這條。它能證明 Key 和模型 ID 通了,不能證明你以後能接 hosted shell。
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-6-astra",
messages=[
{"role": "system", "content": "You are a concise engineering assistant."},
{"role": "user", "content": "Reply with one sentence: Astra API is reachable."},
],
)
print(completion.choices[0].message.content)
串流是可選的第二步,不是第一課。先保證非串流成功,再打開 stream=True。事件類型以你安裝的 SDK 為準;下面按常見的 response.output_text.delta 讀取增量。若欄位名有出入,列印 event.type 對照官方事件表,不要猜。
from openai import OpenAI
client = OpenAI()
stream = client.responses.create(
model="gpt-6-astra",
input="List three safe checks before a production cutover.",
reasoning={"effort": "low"},
stream=True,
)
for event in stream:
if getattr(event, "type", "") == "response.output_text.delta":
print(event.delta, end="", flush=True)
錯誤不要一律重試。連線失敗才看網路和代理;429 先看 Retry-After 和用量檔;400 多半是模型 ID、effort 或 schema 寫錯,重試一萬次也不會好。401 / 403 回到專案開關和 Key 範圍。免費檔或企業未放行時,不要在應用層寫「自動換一個模型」——那會把生產靜默切回舊旗艦。
from openai import APIConnectionError, APIStatusError, OpenAI, RateLimitError
client = OpenAI()
try:
client.responses.create(
model="gpt-6-astra",
input="ping",
reasoning={"effort": "low"},
)
except APIConnectionError as exc:
print("network", exc)
except RateLimitError as exc:
print("rate_limit", exc)
except APIStatusError as exc:
print(exc.status_code, exc.message)
場景怎麼選
| 如果你是 | 就選 | 原因 |
|---|---|---|
| 第一次驗證 Key 和模型 ID | Responses + gpt-6-astra + effort low | 路徑最短,帳單最低,排障欄位最完整 |
| 存量閘道只能發 messages 陣列 | 先用 Chat Completions 做文字探測 | 能證明准入;新工具鏈仍應遷到 Responses |
| 要接函式、搜尋、shell、Computer Use | Responses,不要焊 Completions | 官方把託管工具放在 Responses |
| 離線評測、可延遲的大批量 | Batch / Flex | 半價,但不適合「我現在要看到第一句」 |
| 會改倉庫、跑測試、開瀏覽器 | 任意文字通路 + 隔離 Mac | 缺的是執行邊界,不是又一個 print |
| 安全研究、漏洞驗證 | 不要用公開模型寫攻擊證明 | 公開模型會拒絕;走審核通道 |
推薦組合
A — 個人開發者: 本機環境變數 + openai SDK + Responses 最小腳本。預設 low。只有這條通路連續成功,再打開串流。金鑰與 ChatGPT 登入態分開。日常補全仍可走更便宜的模型,Astra 留給探測失敗重試和長任務。
B — 小團隊閘道: 專案級 Key,CI 用獨立唯讀金鑰。設定中心鎖定 gpt-6-astra 與快照,禁止隱式跟隨「最新旗艦」。聊天走便宜模型,編碼與 computer-use 走 Astra。工具迴圈的 JSON 協議先收攏,再接託管工具。
C — 企業: 管理員先開工作區開關;合格客戶再談零資料保留。預算告警按專案。長提示強制快取前綴,並盯住 272K 整單升檔。會寫磁碟的會話放到可銷毀的遠端 Mac,權限白名單。帳戶與交付邊界看 說明中心,算節點月費看 Mac mini 定價。
常見誤區
- 以為 ChatGPT 裡出現 GPT-6 Pro 就等於 API 已開通。
- 把 Key 寫進源碼、筆記本輸出或群聊,然後怪模型「不穩定」。
- 第一次請求就
effort=max或塞進半個倉庫,觸發長推理和 272K 升檔。 - 新工具鏈繼續焊在 Chat Completions 上,直到 hosted shell 全部 400。
- 模型字串寫成
gpt-6、chatgpt-6或傳聞中的 Ultra。
落地步驟:7 步
- 確認 API 專案已開通計費,且不是免費檔;企業找管理員打開 Astra。
- 在平台建立 Key,只寫入環境變數或金鑰管理器,加入
.gitignore。 - 安裝目前
openaiSDK,確認存在client.responses.create。 - 用 Responses 發送
model="gpt-6-astra"、reasoning.effort="low"的一句話請求。 - 列印
output_text、response.id和 usage;保存 ID 方便對帳。 - 文字通路穩定後,再加串流或工具;工具協議對照站內 Function Calling 文。
- 會改檔案、跑命令、開瀏覽器的會話放到隔離 遠端 Mac,會話結束銷毀。
FAQ
ChatGPT 裡已經有 GPT-6 Pro,為什麼 Python 還是調不通?
ChatGPT 訂閱和 API 是兩套帳單與准入。企業工作區預設關閉 Astra,免費 API 檔不支援該模型。到 platform.openai.com 的付費專案裡建 Key。
第一次請求該用 Responses 還是 Chat Completions?
純文字兩條都能打 gpt-6-astra。新專案預設 Responses。函式呼叫、託管工具、結構化輸出與非同步工具必須走 Responses。
模型 ID 到底寫什麼?
寫 gpt-6-astra。生產再鎖官方目錄裡的日期快照。不要猜 gpt-6、chatgpt-6 或未公布的 Ultra。
reasoning.effort 可以設 none 嗎?
不行。Astra 支援 low、medium、high、xhigh、max。none 會 400。第一次探測用 low。
Key 應該寫在腳本裡嗎?
不應該。只用環境變數或金鑰管理器,禁止提交到 Git。輪替時舊 Key 立刻作廢。
總結
呼叫 GPT-6 Astra 的第一課不是崇拜旗艦,而是把四件事對齊:付費專案、環境變數裡的 Key、Responses(或你被迫使用的 Completions 文字通路)、以及釘死的 gpt-6-astra。第一次請求用一句話和 low effort,能列印 output_text 才算通路成立。工具、長上下文和 Computer Use 是下一課,而且必須落在可銷毀的執行環境上。需要穩定的遠端 Mac 時,從 租用頁 和 定價頁 看節點,帳戶問題走 說明中心。