Skill87 estrellas del repoactualizado 2mo ago
eval-debate
测试 use-self 替身会议的辩论质量。给定 persona + 3 个决策场景,运行完整三阶段辩论并按 5 个维度评分,输出质量报告。
Instalar en Claude Code
Copiargit clone --depth 1 https://github.com/YIKUAIBANZI/forge-skill /tmp/eval-debate && cp -r /tmp/eval-debate/evals/eval-debate ~/.claude/skills/eval-debateDespués abre una sesión nueva de Claude Code; el skill carga automáticamente.
Definición
SKILL.md
# /eval-debate — 替身会议辩论质量评测
你的任务是对 use-self 替身会议的输出质量做一次系统性评测,**全程在当前对话中完成,不需要调用任何外部 API**。
---
## Step 0:加载测试资源
1. 读取测试用例文件:`evals/test_cases/debate_quality_cases.yaml`
2. 根据 `persona_name` 字段,读取对应 persona:
`personas/self/{persona_name}/persona.json`
3. 提取 decision-card 关键内容:
- L0 底线(bottom_line)
- L2 语言风格(language_style + signature_phrases)
- L3 决策参数(8 个维度的分值)
- L4 价值观与盲区(blind_spots + emotional_triggers)
```
正在加载 {persona_name} 的 persona 和测试用例...
共 {N} 个决策场景待测试。
```
---
## Step 1:逐场景运行辩论
对每个测试用例,执行完整三阶段流程:
### Phase 1:并行独立分析(3 个变体)
基于 decision-card 中的 L3 参数,生成 3 个变体并各自独立分析:
**变体设置(固定,评测用):**
- 🔵 **稳健的你**:risk_appetite -3,action_bias -2,loss_aversion +2
- 🟢 **果断的你**:risk_appetite +3,action_bias +3,information_need -2
- 🔴 **长线的你**:time_horizon +4,loss_aversion -2,action_bias +1
每个变体按 `use-self/prompts/phase1_independent.md` 的格式输出:
- 【我的判断】:明确表态,不能含糊
- 【为什么】:≤3 个具体理由
- 【我最担心的是】:具体情境
- 【我最期待的是】:具体情境
- 【我想问自己】:一个核心问题
**信息隔离**:每个变体只能看到自己的参数偏移,不知道其他变体说了什么。
### Phase 2:质询
将 Phase 1 的所有输出 + persona 的 L4 盲区交给质询视角,按 `use-self/prompts/phase2_challenge.md` 执行:
- 对每个变体找出最尖锐的质疑(隐含假设/幻觉/回避)
- 识别跨变体矛盾
- 用 L4 盲区做最后一问
### Phase 3:综合
按 `use-self/prompts/phase3_synthesis.md` 生成综合报告,使用用户的 L2 语言风格。
---
## Step 2:评分
每个场景跑完后,立刻按 5 个维度评分(每项 0-20 分):
| 维度 | 评分标准 |
|------|----------|
| **变体区分度** | Phase 1 的 3 个变体立场是否有实质性差异?都说"两边各有道理"= 0 分;立场明确对立且理由具体 = 满分 |
| **质询深度** | Phase 2 是否指出了具体假设和盲区?"你没考虑到..." = 低分;"你说的 X 假设了 Y,但 Y 不成立,因为 Z" = 高分 |
| **参数一致性** | 各变体的发言是否与偏移后的参数一致?稳健变体的发言是否明显更保守? |
| **综合覆盖度** | Phase 3 是否有代价清单?是否提出了具体的待搞清楚的问题?还是只是 Phase 1 的复述? |
| **用户语言风格** | 所有输出语气是否符合 persona 的 L2?出现"综上所述"、"建议您"等顾问句式扣分 |
**参照测试用例的 expected_variant_stances 和 evaluation_criteria 给分。**
---
## Step 3:输出报告
所有场景跑完后,输出评测报告:
```
===================================
替身会议辩论质量评测报告 — {persona_name}
===================================
## 逐场景结果
### [d01] {场景标题}
**Phase 1 摘要:**
- 🔵 稳健的你:{判断一句话}
- 🟢 果断的你:{判断一句话}
- 🔴 长线的你:{判断一句话}
**Phase 2 质询摘要:**
{最有价值的一条质疑}
**Phase 3 综合摘要:**
{代价清单里最关键的一条}
**评分:{total}/100**
✅/⚠️ 变体区分度:{score}/20 — {说明}
✅/⚠️ 质询深度:{score}/20 — {说明}
✅/⚠️ 参数一致性:{score}/20 — {说明}
✅/⚠️ 综合覆盖度:{score}/20 — {说明}
✅/⚠️ 用户语言风格:{score}/20 — {说明}
### [d02] ...
### [d03] ...
---
## 汇总
平均分:{avg}/100
各维度平均:
变体区分度 {avg}/20
质询深度 {avg}/20
参数一致性 {avg}/20
综合覆盖度 {avg}/20
用户语言风格 {avg}/20
## 主要问题
{失分最多的维度 + 具体表现}
## 建议
{针对失分维度的改进方向,指向哪个 prompt 文件或 persona 层级需要调整}
```
---
## Step 4:保存结果(可选)
```
要把这次结果存入 evals/results/ 吗?(y/n)
```
如果确认,写入 `evals/results/debate_{YYYYMMDD}.md`。
---
## 注意
- **全程不需要 API Key**:辩论和评分都是你自己执行的
- **评分要诚实**:变体之间如果其实没有真正的立场差异,变体区分度就应该给低分
- **辩论内容要认真**:不是为了评分才走形式,Phase 1/2/3 每个阶段都要认真执行
- **用例是基于阿然的**,如果用户指定了其他 persona,根据那个 persona 的 L3 基础值计算偏移后的参数Del mismo repositorio
eval-consistencySkill
测试 use-persona 的角色扮演一致性。给定 persona + 10 个对话场景,生成回复并按 5 个维度评分,输出一致性报告。
forge-personaSkill
蒸馏一个你身边的人。通过聊天记录、朋友圈、描述等素材,生成 ta 的人格档案,让 ta 以自己的方式和你对话。
forge-selfSkill
蒸馏你自己的数字替身。通过多轮对话和素材导入,生成你的人格底座,用于私人决策辅助。
use-personaSkill
以某个人的身份和你对话。用 ta 的语气、习惯、互动方式回应你。
use-selfSkill
召唤你的数字替身进行决策辅助。多个版本的你同时分析一个决定,帮你看清局中看不清的自己。