Agent 軌跡評估
當自動化把控制權交給 LLM agent,「它還能運作嗎?」就變成「agent 是否走了可接受的路
徑?」。evaluate_trajectory() 依宣告式**評分標準(rubric)**為一次記錄的執行評
分,為 agent 回歸測試提供確定性、無相依的訊號。
*軌跡(trajectory)*是該次執行所採取步驟的有序清單 —— 每步是一個至少含 "action"
名稱、可選含 "args" / "observation" 的 dict。*評分標準*為純資料(因此可自在地
存於 JSON action 檔或經 MCP 傳入):
Rubric 鍵 |
意義 |
|---|---|
|
必須全部出現的動作。 |
|
搭配上者,還要求其相對順序。 |
|
絕不可出現的動作。 |
|
軌跡長度上限。 |
|
必須出現在某個 observation 中的子字串。 |
無頭 API
from je_auto_control import evaluate_trajectory
trajectory = [
{"action": "AC_focus_window", "observation": "focused"},
{"action": "AC_type_text", "observation": "typed"},
{"action": "AC_click_mouse", "observation": "Saved successfully"},
]
result = evaluate_trajectory(trajectory, {
"required_actions": ["AC_type_text", "AC_click_mouse"],
"forbidden_actions": ["AC_kill_process"],
"max_steps": 10,
"success_contains": "Saved",
})
assert result["passed"] # 所有適用的檢查都通過
print(result["score"], result["checks"])
score 為通過的適用檢查佔比;``passed`` 僅在全部通過時為真;空 rubric 直接通過。
checks 中每個項目為 {name, passed, detail},因此失敗時可精準指出被違反的期望。
執行器指令
AC_evaluate_trajectory 接受 trajectory 與 rubric``(從視覺化建構器傳入時為
JSON 字串,從 JSON action 檔 / MCP 傳入時為已解碼資料),回傳
``{passed, score, steps, checks}。相同操作亦提供為 MCP 工具
ac_evaluate_trajectory,以及 Script Builder 中 Agent 分類下的指令。