Agent 軌跡評估

當自動化把控制權交給 LLM agent,「它還能運作嗎?」就變成「agent 是否走了可接受的路 徑?」。evaluate_trajectory() 依宣告式**評分標準(rubric)**為一次記錄的執行評 分,為 agent 回歸測試提供確定性、無相依的訊號。

*軌跡(trajectory)*是該次執行所採取步驟的有序清單 —— 每步是一個至少含 "action" 名稱、可選含 "args" / "observation" 的 dict。*評分標準*為純資料(因此可自在地 存於 JSON action 檔或經 MCP 傳入):

Rubric 鍵

意義

required_actions

必須全部出現的動作。

ordered

搭配上者,還要求其相對順序。

forbidden_actions

絕不可出現的動作。

max_steps

軌跡長度上限。

success_contains

必須出現在某個 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 接受 trajectoryrubric``(從視覺化建構器傳入時為 JSON 字串,從 JSON action / MCP 傳入時為已解碼資料),回傳 ``{passed, score, steps, checks}。相同操作亦提供為 MCP 工具 ac_evaluate_trajectory,以及 Script Builder 中 Agent 分類下的指令。