Bedrock 上 Claude 出結構化 JSON,唔使再寫解析代碼
Amazon 喺 10 月 19 日宣佈,Amazon Bedrock 上全部 Anthropic Claude 模型,喺 bedrock-runtime 同 bedrock-mantle 兩個端點,而家支援 structured outputs。無論你行 Boto3 仲係 Messages API,都可以收到符合預設 JSON schema 嘅回應,唔使再寫自訂解析、重試或者後處理邏輯。
點樣做到
Structured outputs 用 constrained decoding(受約束解碼),喺 token 生成階段強制模型輸出符合你嘅 JSON schema,而唔係生成完先過濾。意思就係模型唔會產生違反 schema 嘅 token,輸出格式由概率性變成確定性。每次回應都係有效 JSON,唔再撞 JSON.parse() 錯誤;欄位類型同必須欄位都有強制執行,唔需要因 schema 違規而重試。
後台流程
當你帶 JSON schema 發請求,Bedrock 會做四步:先驗證 schema 係咪符合 JSON Schema Draft 2020-12 子集;對新 schema 編譯語法工件(第一次請求會稍慢);編譯好嘅語法會快取 24 小時,之後同樣 schema 嘅請求基本冇額外開銷;最後模型喺受限條件下生成符合 schema 嘅 token。呢個快取係跟帳户走嘅。
可用性同限制
Structured outputs 支援 batch inference(批次推理),可以非同步處理大量請求。喺 bedrock-runtime 端點亦支援跨 AWS Region 推理。需要即時回應嘅話,可以將結構化回應以 typed events 形式串流輸出。
實際應用場景
AWS 舉例包括:從財報同合規文件提取所有必填欄位、將臨床記錄解析入電子健康檔案(EHR)、為產品目錄補充一致且經過驗證嘅資料、分析合同關鍵條款同各方義務,以及客服工單路由(intent、sentiment、entity 同應用數據模型對齊)。
阿調搞兩下
對寫過幾百行 JSON 解析代碼嘅開發者嚟講,呢個係真金白銀嘅改善——唔使再處理「模型話俾我一個 JSON 但少咗個括號」嘅窘境。不過要注意,呢個係 AWS 嘅平台功能,唔係 Claude 模型本身嘅新能力;而 constrained decoding 會限制輸出範圍,如果你需要模型喺 schema 以外自由發揮(例如創意寫作),呢個機制就唔適用。另外,第一次編譯語法嘅延遲喺高頻率切換 schema 嘅場景可能累積,值得喺生產環境先壓測。
阿調|深度調教




