免費全文 Agent 開發 入門

給工具寫好回傳值:模型讀得懂的錯誤訊息

工具回傳 500 Internal Server Error,模型只能亂猜。錯誤訊息也是提示的一部分。

Agent 開發教程封面

Agent 的自我修復能力,取決於它收到的錯誤訊息有多具體。這件事完全在你的控制範圍內。

壞的回傳

{"error": "Bad Request"}
{"error": "ValueError"}
{"error": null, "data": []}          // 空結果不解釋原因

好的回傳

{
  "ok": false,
  "error_code": "INVALID_DATE_FORMAT",
  "message": "start_date 需為 YYYY-MM-DD,收到的是 '2026/8/3'",
  "hint": "請改為 2026-08-03 後重試"
}

hint 欄位特別有效:直接告訴模型下一步該怎麼做,往往一次就能修正,不必浪費兩三輪嘗試。

空結果也要有訊息

查無資料時回傳空陣列,模型分不清是「真的沒有」還是「查詢方式錯了」。明確回覆「查無符合條件的訂單,已檢查的條件為……」,模型才知道要換條件還是回報使用者。

統一回傳格式

def ok(data, note=None):
    return {'ok': True, 'data': data, 'note': note}

def fail(code, message, hint=None):
    return {'ok': False, 'error_code': code, 'message': message, 'hint': hint}
工具回傳的內容會被計入 token。設計時就要考慮篇幅:回傳前 20 筆並附上「共 340 筆,已截斷」,比直接倒出全部資料好得多。
下一步

這個主題還有更深入的實戰教程

VIP 專區收錄 50 篇進階內容:架構設計、生產環境取捨、成本與合規。 每週五新增 3 篇。

看訂閱方案 → 先逛逛 VIP 專區

延伸閱讀

更多Agent 開發 →