概覽
TokenLab 的 Agent-First API 在錯誤回應中加入了可結構化的提示,AI 代理可以立即解析並採取行動——不需網路搜尋、不需查文件、也不需猜測。 OpenAI 相容的 Chat Completions 與 Responses gateway 錯誤,可在error 物件中包含 did_you_mean、suggestions、hint、retryable 和 retry_after 等可選欄位。Anthropic Messages 與 Gemini 會保留各自的原生錯誤形狀,不承諾這些擴充欄位。
錯誤提示欄位
對 OpenAI 相容 gateway 錯誤而言,所有提示欄位都是error 物件內的可選擴充:
錯誤代碼範例
model_not_found (400)
當模型名稱未匹配到任何啟用中的模型時:did_you_mean 的解析使用:
- 靜態別名對應(來自生產錯誤資料)
- 正規化字串比對(去除連字號、大小寫不敏感)
- 編輯距離比對(閾值 ≤ 3)
did_you_mean、suggestions 與 hint,然後使用受支援的公開模型重試。
insufficient_balance (402)
當帳戶餘額不足以支付估計費用時:suggestions 包含比估計費用更便宜且代理可以切換的模型。
all_channels_failed (503)
當模型暫時不可用時:當原因為
no_channels(此模型未配置任何通道)時,retryable 為 false。只有在像是電路斷路器觸發或額度耗盡等暫時性失敗時才會是 true。rate_limit_exceeded (429)
retry_after 的值是根據實際速率限制窗口重置時間計算得出。
與 OpenAI 相容的端點使用 TokenLab 穩定的公開錯誤類型,例如
rate_limit_exceeded、upstream_error 和 all_channels_failed。與 Anthropic 相容與 Gemini 相容的端點則使用它們各自的原生回應格式。context_length_exceeded (400)
當輸入超過模型的上下文窗口時:原生端點探索
不要根據模型名稱、供應商名稱或 Chat 回應標頭推斷原生協定是否可用。選擇原生端點前,先讀取GET /v1/models/{model},只使用模型詳情明確公告且有同協定路由的請求格式。
應讀取的欄位是 tokenlab.accepted_request_formats。
公告的請求格式只決定端點是否可用;個別欄位與工具是否受支援仍由上游決定。
/v1/models 增強
/v1/models 現在會攜帶非 chat 的推薦 metadata,代理可以在呼叫 image、video、music、3D、TTS、STT、embedding、rerank 或 translation 端點之前使用這些資訊。
當
recommended_for 存在時,agent_preferences 來源於快取的 24 小時成功率快照:
- 窗口:24 小時
- 快照快取:stale-while-revalidate
status = "ready"表示模型有足夠的近期樣本參與排序status = "insufficient_samples"表示該模型仍可見但不會排在有分數模型之前
類別篩選
推薦探索
對於非 chat 的工作流程,代理應先取得當前的推薦候選清單:recommended_for 值為:
imagevideomusic3dttssttembeddingreranktranslation
category 與 recommended_for,兩者必須完全匹配。
推薦的代理流程:
GET /v1/models?recommended_for=<scene>- 選擇第一個
agent_preferences.<scene>.status == "ready"的模型 - 在呼叫端點時明確使用
model=<selected> - 僅在暫時性錯誤時,改用下一個
ready模型重試
llms.txt
可機器解析的 API 概覽位於:- 首次呼叫範本與可運作的範例
- 常見的模型名稱(根據使用資料動態產生)
- 所有 12 個 API 端點
- 模型探索的篩選參數
- 錯誤處理指引
llms.txt 的 AI 代理,通常可以在第一次嘗試就成功。
在代理程式碼中的使用範例
Python (OpenAI SDK)
JavaScript (OpenAI SDK)
設計原則
快速失敗、資訊充足
錯誤會立即回傳代理自我修正所需的所有資料。
不自動路由
API 不會在背後偷偷替換成其他模型。由代理來決定。
資料驅動的建議
所有推薦皆來自生產資料,而非硬編碼清單。
向後相容
所有提示欄位均為可選。現有客戶端看不到差異。