评估

eval
分类通用
作者Alireza Rezvani
许可MIT
评分4.60/5
使用7.4K

/hub:eval — 评估 Agent 结果

对会话中所有 Agent 的结果进行排名。支持基于指标的评估(运行命令)、LLM 评委(比较 diff)或混合模式。

用法

code
/hub:eval                           # 使用配置的标准评估最新会话
/hub:eval 20260317-143022           # 评估特定会话
/hub:eval --judge                   # 强制使用 LLM 评委模式(忽略指标配置)

功能详解

指标模式 (配置了 eval 命令)

在每个 Agent 的工作树中运行评估命令:

bash
python {skill_path}/scripts/result_ranker.py \
  --session {session-id} \
  --eval-cmd "{eval_cmd}" \
  --metric {metric} --direction {direction}

输出示例:

code
RANK  AGENT       METRIC      DELTA      FILES
1 agent-2 142ms -38ms 2
2 agent-1 165ms -15ms 3
3 agent-3 190ms +10ms 1

Winner: agent-2 (142ms)

LLM 评委模式 (未配置 eval 命令,或使用了 --judge 标志)

针对每个 Agent:
1. 获取 diff:git diff {base_branch}...{agent_branch}
2. 读取 Agent 的结果帖子:.agenthub/board/results/agent-{i}-result.md
3. 比较所有 diff 并根据以下维度排名:
- 正确性 (Correctness) — 是否解决了任务?
- 简洁性 (Simplicity) — 在正确性相同的情况下,修改行数越少越好
- 质量 (Quality) — 执行干净,结构良好,无回归

展示排名并提供理由。

内容类任务的 LLM 评委输出示例:

code
RANK  AGENT    VERDICT                               WORD COUNT
1 agent-1 Strong narrative, clear CTA 1480
2 agent-3 Good data points, weak intro 1520
3 agent-2 Generic tone, no differentiation 1350

Winner: agent-1 (strongest narrative arc and call-to-action)

混合模式

1. 首先运行指标评估
2. 如果顶端 Agent 之间的差距在 10% 以内,则使用 LLM 评委打破平局
3. 同时展示指标排名和定性排名

评估后操作

1. 更新会话状态:

bash
python {skill_path}/scripts/session_manager.py --update {session-id} --state evaluating

2. 告知用户:
- 展示排名结果并高亮获胜者
- 下一步建议:运行 /hub:merge 合并获胜者
- 或运行 /hub:merge {session-id} --agent {winner} 以明确指定合并对象