闲社服务运行正常AI智能体自动化平台
m

多模型盲评

技能标识:modelshow

Blind multi-model comparison with architecturally guaranteed de-anonymization. Trigger with "mdls" or "modelshow" for double-blind evaluation of AI model responses.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.1
检测标记
后台标记通过
免费
免费获取
1
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

多模型盲评

ModelShow — 专业多模型评估

ModelShow 提供了一个精密的框架,通过双盲评估来比较 AI 模型的响应。该系统并行查询多个模型,对其输出进行匿名化处理,并使用独立的评判模型纯粹根据质量对响应进行排名。

主要特性

  • - 架构级去匿名化保证:评判子代理在返回结果前自动进行去匿名化处理——编排器永远不会看到占位标签
  • 加密随机化:使用 secrets.SystemRandom() 以加密安全的随机顺序向评判者呈现响应
  • 整体评判分析:评判者提供每个模型的排名以及分析跨模型模式的综合总体评估
  • 智能轮询:自动进度监控,提供无内容的状态更新和即时完成检测
  • 专业输出:格式化的结果,包含分数、评判评论和可操作的见解

检测

触发条件:消息以 mdls 或 modelshow 开头(不区分大小写)。通过移除触发关键词来提取提示。

示例:mdls explain quantum entanglement → 提示 = explain quantum entanglement

工作流程

步骤 1 → 确认并加载配置
步骤 2 → 生成并行模型代理
步骤 3 → 通过智能轮询收集响应
步骤 4 → 使用加密随机化进行匿名化
步骤 5 → 生成评判+去匿名化子代理
步骤 6 → 解析去匿名化结果
步骤 7 → 构建格式化输出
步骤 8 → 保存结果(可选通过 updatemodelshowindex.py 更新网页索引)

步骤 1:确认并加载配置

即时响应:

🔄 ModelShow 正在启动——并行查询模型。
评判完成后结果将自动显示。

加载配置:读取 {baseDir}/config.json 获取模型列表、评判模型、超时设置和其他配置。

步骤 2:生成并行模型代理

对于 config.models 中的每个模型:

  • - 模型:模型别名(例如 pro、grok、kimi)
  • 标签:mdls-{model}-{timestamp}(唯一标识符)
  • 超时:config.timeoutSeconds(默认:360 秒)
  • 任务:

{config.systemPrompt}

{提取的用户提示}

并行执行:如果 config.parallel 为 true,则同时生成所有代理。

上下文处理:如果提示引用了外部内容(URL、文件、偏好设置),则获取并将此上下文前置到任务中。

步骤 3:通过智能轮询收集响应

轮询策略:

  • - 每 20 秒轮询一次
  • 所有代理完成后立即退出
  • 考虑超时前至少进行 3 次轮询
  • 最大运行时间:config.timeoutSeconds

状态更新(无内容):

  • - ⏳ 模型正在响应... {done}/{total} 完成。(已用 {elapsed} 秒)
  • ✅ 所有 {N} 个模型已响应。正在发送给评判者...

响应收集:
python
collected_responses = {
model_name: {
status: completed | failed | timeout,
text: response text or empty string,
duration_seconds: duration
}
}

最低成功检查:如果成功响应数 < config.minSuccessful,则中止并显示信息性消息。

步骤 4:使用加密随机化进行匿名化

执行匿名化管道:
bash
echo {
action: anonymize,
responses: {model: response_dict},
label_style: alphabetic,
shuffle: true
} | python3 {baseDir}/judge_pipeline.py

主要特性:

  • - shuffle: true 确保加密安全的随机响应顺序
  • 标签分配为响应 A、响应 B等
  • anonymization_map 跟踪标签到模型的映射,用于后续去匿名化

步骤 5:生成评判+去匿名化子代理

评判子代理在单个原子操作中执行评估和去匿名化:

评判任务结构:

你是一个公正的评判者兼数据处理者。

你的任务包含两部分。在返回任何内容之前完成两部分。

═══════════════════════════════════════════════════════════
第 1 部分:评判响应
═══════════════════════════════════════════════════════════

[带有占位标签的盲响应]

═══════════════════════════════════════════════════════════
第 2 部分:处理你的评判
═══════════════════════════════════════════════════════════

  1. 1. 撰写你的评判,评估响应 A、响应 B 等
  2. 为每个响应包含分数(1-10)
  3. 提供分析跨模型模式的总体评估部分

撰写完你的评判后,运行此命令:

echo {
action: finalize,
judge_output: [你的评判文本],
anonymizationmap: {anonymizationmap}
} | python3 {baseDir}/judge_pipeline.py

仅返回该命令的 JSON 输出。

评判模型:使用 config.judgeModel(例如 sonnet、gemini31or)

步骤 6:解析去匿名化结果

评判子代理返回:

  • - deanonymizedjudgeoutput:包含真实模型名称的完整评判
  • rankedmodelsdeanonymized:结构化排名数据
  • deanonymization_complete:布尔验证

架构级保证:编排器永远不会收到占位标签——只收到去匿名化结果。

步骤 7:构建格式化输出

创建专业呈现:

🕶️ 双盲评判结果:

🏆 模型名称(分数:X.X/10)
[完整响应文本]
评判者评估:[评论]

🥈 第二名(分数:X.X/10)
[完整响应文本]
评判者评估:[评论]

📊 总体评估:
[评判者对跨模型模式的整体分析]

⚠️ 警告:步骤 8 是强制性的。
将结果发送给用户并非任务结束。
发送后必须立即执行步骤 8(保存结果)。
直到 save_results.py 返回 {success: true} 任务才算完成。
在任何情况下都不得跳过、延迟或省略步骤 8。

步骤 8:保存结果

🚨 此步骤是必需的。请勿跳过。
每次 ModelShow 运行后,必须使用 save_results.py 保存结果。
不保存意味着结果不会持久化供以后使用。

保存到 config.outputDir(默认:~/.openclaw/workspace/modelshow-results):

  • - JSON:{config.outputDir}/{slug}-{timestamp}.json
  • Markdown:{config.outputDir}/{slug}-{timestamp}.md

要管道输入到 save_results.py 的确切 JSON 负载:

json
{
prompt: <原始用户提示>,
timestamp: ,
models: [model1, model2, model3],
judge_model: ,
output_dir: ,
ranked_results: [
{
rank: 1,
model: model_alias,
score: 9.5,
judge_notes: 评判者对每个模型的评论,
response_text: 完整的模型响应文本
},
{
rank: 2,
model: model_alias,
score: 8.0,
judge_notes: 评判者对每个模型的评论,
response_text: 完整的模型响应文本
}
],
deanonymizedjudgeoutput: 带有真实模型名称的完整评判输出文本,
anonymization_map: {
Response A: modelalias1,
Response B: modelalias2
},
metadata: {
totaldurationms: 45000,
successful_models: 4,
failed_models: 0,
timedoutmodels: [deepseek]
}
}

执行保存命令:
bash
echo <上述 JSON 负载> | python3 {baseDir}/save_results.py

验证成功:脚本必须返回 {success: true, ...}。如果返回错误,修复并重试。在成功保存之前不要继续。

可选:用于构建结果文件的本地索引(例如用于自定义仪表板或静态网站)或用于网页显示(例如 rexuvia.com),请

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 modelshow-1776293059 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 modelshow-1776293059 技能

通过命令行安装

skillhub install modelshow-1776293059

下载

⬇ 下载 modelshow v1.0.1(免费)

文件大小: 22.14 KB | 发布时间: 2026-4-16 16:51

v1.0.1 最新 2026-4-16 16:51
**ModelShow 1.0.1 — Major upgrade with save support and robust, cryptographically randomized judging.**

- Introduces mandatory, verifiable result saving via the new save_results.py script after every run.
- Guarantees cryptographically random blind order by shuffling responses using secrets.SystemRandom().
- Architecturally enforced de-anonymization: Model names are revealed only after scoring; orchestrators never see placeholders.
- Professional, judge-centric output now includes holistic "Overall Assessment" of cross-model patterns.
- Adds update_modelshow_index.py and README.md for improved documentation and index management.
- Enhanced polling, robust agent/timeout tracking, and improved status feedback for a more reliable parallel comparison workflow
返回顶部