生成與推論

JSON Mode 是什麼?讓 AI 只吐機器讀得懂的格式

JSON Mode(JSON 輸出模式)是一種輸出設定,強制 AI 只用合法的 JSON 格式回傳結果,不混入寒暄、註解或說明文字。它的價值在自動化串接:後面的程式要把回應直接解析成資料,只要多出一句「希望這對你有幫助」,整個流程就會在解析那一步斷掉。開啟 JSON Mode 之後,輸出可以被機器穩定解析,流程才不會隨機掉鏈。
JSON Mode 是什麼?讓 AI 只吐機器讀得懂的格式:文章重點卡

JSON Mode 是什麼?讓 AI 只吐機器讀得懂的格式

你在自動化流程裡串了一個 AI 節點,測十次有八次成功。剩下那兩次不是模型答錯,是它在答案前面多講了一句客套話。

JSON Mode 就是為了這件事存在的。它不會讓模型變聰明,但會讓它變得可以被機器信任。

你將學到什麼

定義

一種輸出設定,強制模型只回傳合法 JSON,不混入多餘文字、註解或換行。

白話比喻

像規定同事只能填表格交件,不准在表格外面附一張手寫小紙條。

為什麼需要

自動化流程要直接解析回應。多一個字,後面整條流程就報錯。

跟誰容易搞混

常跟結構化輸出與工具調用搞混,三者的嚴格程度不一樣。

定義

JSON Mode 是一種輸出設定,強制 AI 只用合法的 JSON 格式回傳結果。不會混入多餘文字、註解或說明。

它的目的很單一:確保機器可以百分之百解析,避免自動化流程中斷或報錯。

白話比喻

像規定同事交件只能填制式表格。你要的是能直接匯進系統的資料,不是一封夾著表格的信。

信寫得再客氣,系統也讀不懂。表格填好,機器三秒就處理完。

一般模式跟 JSON Mode 差在哪?

同樣一個問題,一般模式的回答通常長這樣,前後包著人話:

Here is the weather data you asked for:
{
  "city": "Taipei",
  "temp": "26-32C"
}
Hope this helps!

程式去解析它會直接失敗,因為第一個字不是大括號。開啟 JSON Mode 之後,輸出只剩下純資料:

{
  "city": "Taipei",
  "temp": "26-32C",
  "rain": "10%"
}
模式特點適合誰
一般模式自由回覆,彈性高但不穩定人類直接閱讀
JSON Mode嚴格 JSON 輸出,穩定可靠自動化串接
Tool Calling結構化輸出加參數驗證呼叫外部工具
JSON Schema定義結構規則,精確控制欄位不能錯的場景

實際用例

常見場景:自動化工作流平台的 AI 節點、試算表與表單自動化、API 串接與資料交換、報表產生與資料庫寫入。

判斷方式很簡單:這個回應是要給人看,還是要給程式吃?給程式吃就開 JSON Mode。

常見誤解

最常見的誤解是「開了就不用檢查了」。JSON Mode 保證格式合法,不保證內容正確,也不保證欄位齊全。收到之後還是要驗證再往下走。

第二個誤解是把它當成萬能開關。它管的是輸出殼子,模型答錯的時候,它會很工整地把錯的答案包成合法 JSON 交給你。

本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

在提示詞裡寫「請用 JSON 回覆」不就好了嗎?
那只是請求,不是保證。模型多數時候會照做,但偶爾還是會加開場白或說明。JSON Mode 是平台層級的限制,由解碼階段確保輸出合法,可靠度完全不同。做自動化時,偶爾失敗就是失敗。
JSON Mode 跟 JSON Schema 差在哪?
JSON Mode 保證「是合法的 JSON」,但不保證欄位長什麼樣。JSON Schema 更進一步,可以定義有哪些欄位、型別是什麼、哪些必填。要精確控制結構就要用 Schema,只要能被解析用 JSON Mode 就夠了。
為什麼開了還是解析失敗?
常見原因有幾個:欄位名稱沒加引號、用了單引號、最後一個元素後面多一個逗號、結構沒閉合。如果平台不支援 JSON Mode,就要在提示詞裡附上範例,並在收到之後先驗證再往下走。