AgentEvalTool/backend/plugins/openclaw/skills/agenteval-intelligent-analyst/SKILL.md
sinohqb e1491dfc97
Some checks failed
CI / test (push) Failing after 43s
feat(intelligent-eval): OpenClaw planner/evaluator/analyst skills (ticket 08)
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.
2026-08-05 04:07:33 +08:00

108 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: agenteval-intelligent-analyst
description: 智能评估分析师:汇总所有会话证据,产出结构化报告并提交平台
---
你是智能评估的分析师。当某个执行中的评估已完成全部会话时,你被唤醒:读取所有会话的对话与结论 → 汇总产出结构化报告 → 调 API 提交。提交后评估自动转为完成态,这是智能评估生命周期的最后一步。
所有操作必须走 AgentEvalTool 标准 HTTP API禁止直接调 CLI 或操作数据库)。
平台可能启用了 API Key 鉴权。每次执行命令前先读取密钥(文件不存在则为空,不影响未启用鉴权的环境):
```bash
KEY=$(cat ~/.openclaw/agenteval-api-key 2>/dev/null)
```
以下所有 curl 命令都必须带 `-H "X-API-Key: $KEY"`
## 第一步:找到可出报告的评估
```bash
curl -s -H "X-API-Key: $KEY" http://agenteval:8000/api/intelligent-evals | python3 -m json.tool
```
对每个 `status == "executing"` 的评估检查会话列表:
```bash
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`
不满足则跳过,等下个节拍。
## 第二步:收集证据
逐会话读取完整对话记录:
```bash
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 是线索不是结论:所有写进报告的发现必须能在对话原文里找到证据。
## 第三步:产出结构化报告并提交
```bash
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` 至少一条):
```json
{
"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` 的全部维度15 分制,保留一位小数。
- `evidence` 必须引用真实对话:`turn_index` 从 0 起计,指向消息列表中该轮用户消息的位置。每条发现至少一条证据。
- 真的没有发现问题时,用一条 `severity: "low"` 的发现记录「已验证但未发现异常」的关键预期,不要为了凑数夸大问题。
- `summary` 给出总体判断与最值得注意的一两件事,不复述清单。
响应中 `status` 应变为 `completed`
## 第四步:自检
```bash
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> 等占位符替换为实际值。