关于 wjs-evaling-voicedrop-prompts
wjs-evaling-voicedrop-prompts 用于通过数据评估 VoiceDrop 挖矿提示词的改动,而非依赖少量主观试用。它在 fixtures 上比较候选版与当前版,进行盲评,并要求人工认可后才晋级。
主要功能
- 01针对 fixtures 运行候选提示词评估
- 02盲评比较候选版与当前版产出
- 03汇总裁决结果和代理失败项
- 04提交接近或有分歧的案例供复核
- 05晋级提示词前要求用户认可
- 06晋级后运行 npm test
适用场景
- 01评估 MINE_SYSTEM 的候选改动
- 02检查提示词改动是否影响 JSON 输出
- 03在评估 fixtures 上比较提示词产出
- 04决定是否晋级候选提示词
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jianshuo/ claude-skills --skill wjs-evaling-voicedrop-prompts安装后在 Claude Code 中输入/wjs-evaling-voicedrop-prompts确认已加载。
附带文件references/judge-rubric.md
详细介绍
来自项目 READMEVoiceDrop 挖矿 prompt 评估
harness = 本 skill(协议)+ jianshuo.dev agent/eval/(脚本/数据)。运行时 = 本地 Claude Code。
被测对象 = agent/src/prompts/mine.js 的 MINE_SYSTEM(git 即版本库)。
何时用
用户改了挖矿 prompt(MINE_SYSTEM),想用数据判断改好了还是改坏了,而不是凭感觉看一两次。
流程(按序)
- 拿候选 prompt:把候选版
MINE_SYSTEM文本写到一个临时文件(如/tmp/cand-prompt.txt);冠军 = 当前mine.js的MINE_SYSTEM(脚本自动读)。 - 跑产出:
cd ~/code/jianshuo.dev/agent && CLAUDE_API_KEY=$CLAUDE_API_KEY node eval/run-eval.mjs /tmp/cand-prompt.txt <runId>。产出落eval/runs/<runId>/。先看终端有没有「确定性回退」警告——有就先停,多半是候选 prompt 破坏了 JSON 输出。 - 成对盲评:对每条 fixture,dispatch 一个 subagent,喂
references/judge-rubric.md+ 该 fixture 的 transcript + 两份产出。A/B 顺序随机(一半 fixture 把 candidate 放 A、一半放 B,记录映射,收到结果后还原成 champion/candidate)。裁判模型用与生成(opus)不同家族的模型。收每条的{winner, dims, reason}。 - 聚合:把还原后的
verdicts(winner ∈ candidate/champion/tie)+ 候选 proxyFails 喂aggregate(),渲染renderReport()→ 写eval/runs/<runId>/report.md。 - 人工终审:把胜负最接近、分歧最大的 1–2 条产出并排摆给用户。机器只筛掉明显更差的,文风最后一票是用户。
- 晋级:仅当
decision==="promote"(胜率 ≥70% 且无回退)且用户点「认可」——把候选写回agent/src/prompts/mine.js的MINE_SYSTEM,commit(message 附 runId 与胜率),并跑npm test确认没破坏。否则保留报告、不动生产版。
边界
- 只评挖矿 prompt(
MINE_SYSTEM/MINE_SYSTEM_FORCE)。审核/语音编辑 prompt 是不同 eval 模式,不在本 skill。 - 不测成本/缓存/延迟(本地缓存行为≠生产);不做无人值守。
- 真实金标集要 ≥10 条才可信(见
agent/eval/fixtures/README.md的补充流程);种子 2 条只够自测流程。
评论
支持 Markdown