評估工具使用與函式呼叫
如何在多種軌跡格式(OpenAI、Anthropic、ReAct、LangChain)中,藉助 Potato 的逐輪評分標註並評估智慧體的工具呼叫與函式呼叫。
當智慧體呼叫工具,比如搜尋、計算器、API、資料庫時,每一次呼叫都是一個可供評估的決策:這是不是正確的工具?參數對不對?結果有沒有被正確使用? 工具使用評估把這些決策轉化為針對智慧體軌跡的逐步標籤。
這是對自動化函式呼叫基準測試的人工判斷補充:一次呼叫在語法上可能完全有效,卻對當前任務而言是錯誤的。
在每次工具呼叫時判斷什麼
- 工具選擇:這是合適的工具嗎,還是應該用別的工具(或根本不該呼叫)?
- 參數:參數是否正確且完整?
- 必要性:這次呼叫是必需的,還是多餘的?
- 結果處理:智慧體是否正確解讀並使用了輸出?
讀取來自任意框架的軌跡
Potato 能把 15 種軌跡格式轉換為統一的步驟檢視,因此無論智慧體是如何構建的,你都可以評估其工具使用:OpenAI 和 Anthropic 的工具/函式呼叫、ReAct 的思考-行動-觀察軌跡、LangChain、LangFuse 等等。參見智慧體標註。
逐步評分設定
為每一步(每次工具呼叫)附加一個評分,併為失敗情況設定一個條件式追問:
yaml
annotation_schemes:
- annotation_type: trajectory_eval
name: tool_call_correctness
description: "For each tool call, judge whether it was the right call."
steps_key: agentic_steps
correctness_options: ["Correct", "Wrong tool", "Wrong arguments", "Unnecessary"]
- annotation_type: text
name: notes
description: "If not correct, what should it have done?"
label_requirement:
required: false品質考量
- 要展示工具的輸出,而不僅僅是呼叫本身,否則標註者無法判斷結果處理是否得當。
- 把 JSON 參數和響應格式化輸出,使其易於閱讀(Potato 在智慧體軌跡顯示中會這樣做)。
- 區分"用錯工具"與"工具對、參數錯",二者指向不同的模型修復方向。