GPT-6 Astra API 教學:使用 Responses API 建立你的第一個應用程式
使用 Responses API、推理控制、結構化輸出、工具、對話狀態和生產環境安全機制,打造您的第一個 GPT-6 Astra 應用程式。

使用 GPT-6 Astra 進行建置最乾淨的方式是 Responses API。OpenAI 支援 Chat Completions 來處理基本的 Astra 請求,但其目前的模型指南指出,工具呼叫需要 Responses。這使得 Responses 成為需要網頁或檔案搜尋、自訂函式、電腦使用、影像生成、結構化輸出或多輪狀態的新應用程式之實用預設選擇。
本教學將建立一個小型「製作摘要審查工具」。它能接收創意摘要、識別遺漏的決策,並回傳可供其他介面使用的結構化結果。同樣的架構也適用於研究助理、程式開發工具及文件工作流程。
這些範例刻意保持範圍狹窄。驗證方式、SDK 版本發布及產品存取權限可能有所變動,因此在部署前,請與官方 Responses API 文件比對實作細節。
開始前需要準備的事項
您需要一個已啟用計費且能存取 gpt-6-astra 的 OpenAI API 專案。ChatGPT 訂閱與 API 計費是分開的。Astra 模型頁面目前未列出任何免費層級的 API 支援。
對於 Node.js,請透過您慣用的套件管理工具安裝最新的 OpenAI SDK,並將 API 金鑰存放在伺服器端的環境變數中。請勿將其嵌入瀏覽器程式碼或提交至儲存庫。
我們的第一個請求只需要三個欄位:
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-6-astra",
reasoning: { effort: "medium" },
輸入:「請審閱這份簡報:一名快遞員發現一封寄給明天的信。」
});
console.log(response.output_text);
output_text 是從回應中收集文字的便利屬性。生產環境中的應用程式也應檢查回應狀態、錯誤和使用情況,而非假設每次呼叫都正常完成。
了解請求的形狀
model
使用確切的模型識別碼 gpt-6-astra。請勿猜測官方目錄中未列出的別名或帶日期的快照。
輸入
輸入可以是字串或結構化內容。Astra 接受文字和圖片輸入。它原生產生文字;音訊和影片在目前的模型頁面上不支援為模型模態。
reasoning
reasoning.effort 欄位控制模型套用多少推理。Astra 支援 low、medium、high、xhigh 和 max。它不支援 none;OpenAI 表示設定該值會回傳 HTTP 400。
從中等設定開始評估。比較相同任務下的較低與較高設定,而非假設更多推理總是更經濟。
將結果用於後續流程: 當您的應用程式產出經核准的腳本或拍攝簡報後,創作者可將其傳送至 Elser AI 進行角色設計、分鏡繪製、場景生成與剪輯。此為工作流程交接,並非原生整合之聲明。
為模型提供真實的輸出合約
一個純文字段落難以驗證。我們的審查員應回傳一個穩定的物件,其中包含摘要、遺漏的決策,以及簡報是否準備好進入故事板階段。
使用結構化輸出,在 text.format 下定義一個 JSON 架構:
const briefSchema = {
type: "object",
properties: {
logline: { type: "string" },
missing_decisions: {
type: "array",
},
ready_for_storyboard: { type: "boolean" }
},
必要: ["logline", "missing_decisions", "ready_for_storyboard"],
additionalProperties: false
};
const response = await client.responses.create({
model: "gpt-6-astra",
reasoning: { effort: "medium" },
說明: [
"審查創意簡報以確認製作準備就緒。",
"不要憑空編造缺失的預算、權利、觀眾或片長決定。"
].join(" "),
input: "一位快遞員發現一封寫給明天的信。"
text: {
格式:{
type: "json_schema",
name: "簡短評論",
strict: true,
schema: briefSchema
}
}
});
const review = JSON.parse(response.output_text);
Schema 的有效性並不保證事實或創意品質。也請驗證必要的業務規則。例如,當 runtime、audience 或 rights 限制不存在時,ready_for_storyboard 應為 false。
新增自訂函數
假設已核准的角色記錄存在於您的資料庫中。讓 Astra 請求該記錄,而不是將整個目錄貼到每個提示中。
概念上,定義一個具有名稱、描述、嚴格參數結構以及執行邏輯的函式工具。當回應包含函式呼叫時:
- 解析並驗證其參數;
- 授權當前用戶的存取權限;
- 在您的應用程式中執行該函式;
- 使用原始的
call_id回傳一個function_call_output; - 繼續「回應」對話。
模型不會執行你的資料庫函式,而是由你的程式碼來執行。工具描述僅用於引導選擇,並非安全邊界。
GPT-6 Astra 也支援非同步工具呼叫。在符合條件的函式或自訂工具上設定 async: true,可讓模型在應用程式執行工具時繼續獨立作業。當工作完成後,在後續的 Responses 請求中,使用原始呼叫 ID 傳送其輸出。這與背景模式不同:非同步工具呼叫會改變模型是否等待工具結果,而背景模式則關乎回應生成本身。
維持多輪對話狀態
若要進行簡短的後續追問,請傳遞先前的回應 ID:
const first = await client.responses.create({ model: "gpt-6-astra", reasoning: { effort: "medium" }, input: "審閱這份六鏡頭製作簡報:..." });
const revised = await client.responses.create({ model: "gpt-6-astra", previous_response_id: first.id, reasoning: { effort: "medium" }, input: "修改30秒直式影片的評論。" });
OpenAI 將 `store: true` 與先前的回應視為一種保留狀態的方式。具有不同保留需求的組織應審查可用的無狀態與加密推理選項,而非盲目複製持久化模式。
請勿無止盡地發送不受控的對話歷史。過長的上下文會增加成本,可能包含過時的指令,並可能超過 272,000 個輸入令牌的高價門檻。
## 在對話中途改變推理努力程度
Astra 在標準的單一代理模式下支援 `configuration_update` 項目。它們可以在保留請求層級提示前綴以利快取的同時,提高或降低推理努力程度。
例如,以低負擔開始例行檢討,再逐步升級至失效分析:
```javascript
const next = await client.responses.create({ model: "gpt-6-astra", previous_response_id: first.id, reasoning: { effort: "低" }, input: [ { type: "configuration_update", reasoning: { effort: "high" } }, { role: "使用者", content: "找出連續性失敗並提出最小的修復方案。" } ] });
官方推理指南指出相容性限制:設定更新僅限於 Astra,適用於標準單一代理模式,不能在歷史記錄中相鄰,且不與自動壓縮或截斷功能結合。在廣泛採用前,請先閱讀當前指南。
## 謹慎添加圖片
圖像輸入能幫助審閱者比較分鏡畫面與角色簡介。請在結構化輸入中提供文字及 `input_image` 項目,並要求模型區分可觀察到的現象與推論。
例如,要求一份涵蓋髮型、配件側邊、色調與服裝結構的檢查清單。請勿要求它從外觀推斷個性,或在圖像模糊時將細微視覺細節視為確定無疑。
若結果將用於正式生產環境,請在將身分規則儲存至 [Elser AI](https://www.elser.ai/) 前,先由人員核准這些規則。視覺分析可減少審查工作量,但無法完全取代。
## 處理錯誤與不完整的回應
正式程式碼應處理的不僅是網路故障。請檢查:
- 驗證與專案存取錯誤;
- 因不支援的欄位或推理值而產生的 HTTP 400 錯誤;
- 速率限制;
- 因輸出限制導致的不完整回應;
- 工具呼叫引數驗證失敗;
- 已過期的外部工作;
- 符合結構但語意上無法使用的輸出;
- 使用者取消與時間限制。
針對真正暫時性的失敗,使用帶有退避機制的有限重試。不要對無效請求原封不動地重試。記錄請求識別碼、模型、延遲時間、令牌使用量及工具結果,避免不必要地儲存敏感內容。
## 使用 Astra 時應避免的參數
OpenAI 目前的 Astra 遷移指南指出,應移除 `temperature`、`top_p` 和 `top_logprobs`。Chat Completions 請求也應移除 `logprobs`,而 Responses 請求則應從 `include` 中省略 `message.output_text.logprobs`。
從通用 API 參考複製的範例可能顯示其他模型接受的欄位。特定模型的指引會規範您的 Astra 請求。
## 測試應用程式,而不僅僅是模型
建立一個包含以下內容的小型評估集:
- 完成簡報;
- 缺少執行時間或觀眾的簡報;
- 角色細節衝突;
- 上傳文件中包含的惡意指令;
- 一張細節模糊的圖片;
- 應被拒絕的函數呼叫;
- 一份非常長的簡報,接近您的成本上限。
先衡量首次通過接受率、結構化輸出的有效性、未經證實的主張、工具成功率、延遲、Token 成本與人工修正時間。針對完整的工具迴圈進行紅隊測試,因為權限與外部資料會帶來基礎文字提示詞無法解決的風險。
## 從 API 輸出到動畫
樣本審閱者在推理與呈現之間建立了清晰的界線。它能回傳經過驗證的劇情概要、遺漏的決策以及分鏡準備狀態。生產服務可透過角色鎖定、時間鏡頭與連貫性規則來擴展此架構。
審核通過後,使用 [Elser AI](https://www.elser.ai/) 建立角色與分鏡、生成場景素材、加入配音或音樂,並完成最終剪輯。保留 API 結果的版本紀錄,讓製作過程中的變更可追溯。
## 常見問題
### 我應該使用哪個 API 來處理 GPT-6 Astra?
新專案及工具呼叫請使用 Responses API。雖然支援基本的 Chat Completions 請求,但 Astra 工具呼叫必須使用 Responses。
### GPT-6 Astra 模型 ID 是什麼?
使用 `gpt-6-astra`。
### 我可以為 GPT-6 Astra 設定溫度嗎?
OpenAI 目前的遷移指南建議移除 `temperature`、`top_p` 和 `top_logprobs`。
### GPT-6 Astra 是否支援 JSON 輸出?
是的,支援結構化輸出。請定義並驗證適當的 JSON 結構,而非依賴非正式的格式指示。
### GPT-6 Astra 可以呼叫我的應用程式函式嗎?
是的。模型可以請求函式呼叫,但您的應用程式會驗證權限、執行程式碼並回傳結果。
### GPT-6 Astra 是否可在 API 免費方案中使用?
目前模型頁面將免費方案列為不支援。
## 結論
一個可靠的 GPT-6 Astra 應用程式始於 Responses API、明確的推理設定,以及你的軟體可以驗證的輸出合約。僅在獲得授權與可觀測性的情況下添加工具,保持對話狀態的邊界,並像測試理想輸入一樣仔細地測試失敗情況。
對於創意系統,使用 Astra 讓簡報精確且可審查。然後將已接受的腳本與鏡頭資料轉入 [Elser AI](https://www.elser.ai/) 進行視覺製作。
## 官方來源
- [GPT-6 Astra 模型頁面](https://developers.openai.com/api/docs/models/gpt-6-astra)
- [GPT-6 Astra 模型指南](https://developers.openai.com/api/docs/guides/latest-model)
- [遷移至回應 API](https://developers.openai.com/api/docs/guides/migrate-to-responses)
- [非同步工具呼叫](https://developers.openai.com/api/docs/guides/async-tool-calling)
- [推理模型](https://developers.openai.com/api/docs/guides/reasoning)
*技術細節已於2026年9月4日根據OpenAI官方文件驗證。在正式使用前,請先以當前SDK測試範例。*






















































































