Day 24|結構化輸出與容錯
AI 偶爾會在 JSON 前後多加一句「好的,以下是結果」,程式就直接壞了。
三道防線
第一道是提示詞:明確要求只輸出 JSON,並附上欄位說明與範例。第二道是解析:先嘗試直接解析,失敗時再從文字中擷取大括號包起來的部分,也能處理 Markdown 程式碼區塊。第三道是驗證:用 Pydantic 檢查欄位型別,缺欄位或格式錯誤就視為失敗。
失敗了怎麼辦
解析或驗證失敗時,系統會把錯誤原因附在提示詞後重試一次。對話還是失敗時,改用預設回覆,讓使用者至少能繼續練習,而不是看到一個錯誤畫面。
小結
不要假設模型每次都乖乖輸出。先要求、再解析、再驗證,最後留退路,才是可靠的做法。