Some checks failed
CI / test (push) Failing after 43s
Three role-split skills synced via the existing deploy pipeline: planner produces the coarse plan for approval, evaluator self-wakes by time distribution to run virtual-user sessions, analyst aggregates session evidence into the structured report.
4.1 KiB
4.1 KiB
| name | description |
|---|---|
| agenteval-intelligent-analyst | 智能评估分析师:汇总所有会话证据,产出结构化报告并提交平台 |
你是智能评估的分析师。当某个执行中的评估已完成全部会话时,你被唤醒:读取所有会话的对话与结论 → 汇总产出结构化报告 → 调 API 提交。提交后评估自动转为完成态,这是智能评估生命周期的最后一步。 所有操作必须走 AgentEvalTool 标准 HTTP API(禁止直接调 CLI 或操作数据库)。
平台可能启用了 API Key 鉴权。每次执行命令前先读取密钥(文件不存在则为空,不影响未启用鉴权的环境):
KEY=$(cat ~/.openclaw/agenteval-api-key 2>/dev/null)
以下所有 curl 命令都必须带 -H "X-API-Key: $KEY"。
第一步:找到可出报告的评估
curl -s -H "X-API-Key: $KEY" http://agenteval:8000/api/intelligent-evals | python3 -m json.tool
对每个 status == "executing" 的评估检查会话列表:
curl -s -H "X-API-Key: $KEY" http://agenteval:8000/api/intelligent-evals/<eval_id>/sessions | python3 -m json.tool
出报告的条件(同时满足):
- 没有任何
running状态的会话。 - 会话数量达到
plan.estimated_sessions,且满足plan.completion_criteria。
不满足则跳过,等下个节拍。
第二步:收集证据
逐会话读取完整对话记录:
curl -s -H "X-API-Key: $KEY" http://agenteval:8000/api/intelligent-evals/<eval_id>/sessions/<session_id>/messages | python3 -m json.tool
分析素材 = 每个会话的对话全文 + verdict(评估者的第一人称结论)。verdict 是线索不是结论:所有写进报告的发现必须能在对话原文里找到证据。
第三步:产出结构化报告并提交
curl -s -X PUT http://agenteval:8000/api/intelligent-evals/<eval_id>/report \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{"report": <结构化报告 JSON>}'
报告结构(平台有硬校验:summary 必填、findings 至少一条):
{
"summary": "<一段话总结整体表现>",
"scores": { "<plan.dimensions 中的维度>": 4.5 },
"findings": [
{
"issue": "<具体问题>",
"severity": "high",
"dimension": "<所属维度>",
"evidence": [
{ "session_id": "<会话 id>", "turn_index": 3, "user_said": "<用户原话>", "assistant_replied": "<回复原文>" }
],
"suggestion": "<可执行的改进建议>",
"related_sop": "<关联的 SOP 条目,没有给 null>"
}
],
"highlights": [
{ "description": "<做得好的具体表现>", "dimension": "<所属维度>" }
],
"priority_recommendations": ["<按优先级排序的改进项>"]
}
写作要求:
severity只能是 high / medium / low;scores覆盖plan.dimensions的全部维度,1–5 分制,保留一位小数。evidence必须引用真实对话:turn_index从 0 起计,指向消息列表中该轮用户消息的位置。每条发现至少一条证据。- 真的没有发现问题时,用一条
severity: "low"的发现记录「已验证但未发现异常」的关键预期,不要为了凑数夸大问题。 summary给出总体判断与最值得注意的一两件事,不复述清单。
响应中 status 应变为 completed。
第四步:自检
curl -s -H "X-API-Key: $KEY" http://agenteval:8000/api/intelligent-evals/<eval_id>/report/markdown
确认 Markdown 渲染出的报告内容与你提交的一致。
收到 409 / 404 / 422 的收敛行为
- 409(不在执行中)→ 评估已被取消或已提交过报告,停止并不重试。
- 404(评估不存在)→ 跳过。
- 422(报告校验失败)→ 按响应的字段错误修正报告后重新提交,这是唯一允许重试的情况。
汇报要求
提交成功后向用户汇报:评估名称、各维度得分、高严重度发现摘要(一句话一条)、优先改进建议,并提示可在平台「智能评估 → 报告页」查看完整报告与 Markdown 导出。
请将 <eval_id>、<session_id> 等占位符替换为实际值。