逐步評審特徵 + 規則式步驟評分
為代理的步驟評分需要把證據集中一處——動作是什麼、變了什麼、是否落在目標、宣告的後置條件
是否成立。trajectory_eval 對*已完成的整條軌跡*依靜態準則評分,沒有逐步證據;
agent_trace 發出 OTel span(權杖 / 延遲),而非決策品質;``agent_replay`` 保存
{obs, action, result} 卻不評分。critic_features 正是缺少的逐步層:它把 action_effect
(有無效果、落在何處)、``observation_delta``(變了多少)與 ``postcondition``(預期結果是否成立)
組合成單一精簡記錄,並附上確定性的規則式評分器,使此功能可完整無頭運作——把可選的
LLM-as-judge 留給整合者。
純標準函式庫;組合既有純模組;確定性、可在無裝置下單元測試。不匯入 PySide6。
無頭 API
from je_auto_control import (build_critic_record, score_step_rule_based,
to_judge_prompt)
record = build_critic_record({"type": "click", "x": 480, "y": 260},
before_elements, after_elements,
postcondition={"appears": {"role": "dialog"}})
score = score_step_rule_based(record)
# {"outcome": True, "process_score": 1.0, "reasons": [...]}
prompt = to_judge_prompt(record) # 給 LLM-as-judge 的精簡文字
build_critic_record 回傳 {action, effect, delta_counts},並在給定規格時附上
postcondition 報告。score_step_rule_based 回傳 {outcome, process_score, reasons}
——outcome 為二元成功(動作有效果*且*任何後置條件成立),``process_score`` 為依效果類別的
0..1 品質(後置條件失敗時減半)。to_judge_prompt 把記錄渲染給外部評審。
執行器指令
AC_build_critic_record``(``action / before / after / postcondition /
radius → 該記錄)與 AC_score_step``(``record → {outcome, process_score, reasons})。
兩者以 MCP 工具 ac_build_critic_record / ``ac_score_step``(唯讀)及 Script Builder 指令
Build Critic Record / Score Step (rule-based)**(位於 **Native UI 分類下)形式提供。