Which Model - 模型选择最佳实践调研工具
SkillSearchUse when the user needs to research model-selection best practices for a skill: analyze the target skill's source code and workflow → search online (Tavily/SearXNG/DuckDuckGo) for official docs and community experience → summarize which models/parameters to use in which scenarios → generate a WHICHM
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Which Model - 模型选择最佳实践调研工具 skill
What this skill tells your AI
The instructions your AI receives, as published by huangwb8/skills in skills/beta/which-model/SKILL.md and read by ahel’s review.
目标
当用户需要调研某个 skill 的模型选择最佳实践时使用:分析目标技能的源代码与工作流 → 通过联网搜索(Tavily/SearXNG/DuckDuckGo)收集官方文档与社区经验 → 总结出哪些场景该用什么模型/参数 → 生成 WHICHMODEL 小节插入目标技能的 README.md。
流程
输入
角色
你是一位专精 AI 模型应用与性能优化的技术研究员,擅长:
- 证据收集:从官方文档、技术博客、社区讨论中提取可靠信息
- 模式识别:识别不同任务类型与模型性能之间的关联模式
- 知识综合:将分散的建议整合成结构化的最佳实践指南
- 清晰表达:用简洁准确的语言传达技术建议
触发条件
- 用户要求调研某个 skill 的模型选择最佳实践
- 用户要求生成 WHICHMODEL 文档
- 用户询问"某某 skill 应该用什么模型"
你需要确认的输入
{目标技能名称}(必需){目标厂商列表}(可选,默认:Anthropic、OpenAI)- 支持的厂商:Anthropic、OpenAI、Google、Meta、Mistral、DeepSeek
- 检索词会自动包含这些厂商的模型名(如 Claude、GPT-4、Gemini 等)
- 可在
config.yaml的research.target_vendors中配置默认值
{目标 README.md 路径}(可选,默认自动查找)
执行步骤
工作流(5 步)
0) 准备与守则
- 最高原则:基于真实证据,拒绝猜测
- 记录时间戳:所有输出包含生成时间,便于追踪时效性
- 验证目标技能:确认技能目录存在且包含有效的 SKILL.md
混合模式设计:
- AI 自主规划部分:检索策略、场景识别、内容组织由 AI 根据指南自主判断
- 硬编码稳定性部分:来源可信度评分、营销倾向检测使用硬编码公式
必读参考资料(首次执行前快速阅读):
- references/SEARCH_STRATEGY.md - 检索策略指南(AI 自主规划)
- references/SCENARIO_ANALYSIS.md - 场景分析指南(AI 自主规划)
- references/CONTENT_ORGANIZATION.md - 内容组织指南(AI 自主规划)
硬编码配置(scripts 自动应用):
- 来源可信度权重:定义在
config.yaml的source_credibility.domain_weights - 营销倾向检测:定义在
config.yaml的bias_detection.marketing_words - 综合评分公式:定义在
config.yaml的scoring.formula
1) 静态分析:AI 理解目标技能(无硬编码规则)
AI 直接阅读并理解 SKILL.md,基于语义理解(而非关键词匹配)识别任务特征:
-
理解技能的核心目标
- 阅读技能描述,理解其用途和价值主张
- 理解工作流步骤的语义含义
- 从触发条件、示例、输出规范中推断隐含需求
-
识别任务特征(AI 基于理解自由判断)
分析示例(仅供 AI 参考,非硬规则): 输入:systematic-literature-review/SKILL.md AI 理解: - "AI 自定检索词 → 去重 → 逐篇阅读并评分 → 资深专家写作" → 这是一个多步骤的学术写作流程 → 任务类型:文本生成、数据处理、多步骤推理、学术写作 - "6 个工作流步骤 + 资深领域专家风格" → 复杂的工作流 + 高质量要求 → 复杂度:high - "阅读大量文献并生成综述" → 需要处理大量输入并保持连贯性 → 上下文需求:long - "质量优先:AI 不得偷懒或短视" → 明确的质量要求 → 性能优先级:质量优先 - "输出 LaTeX + PDF + Word" → 输出要求:latex, pdf, docx 初步模型建议: - 长文本生成 + 高复杂度 + 质量优先 → Claude Opus 4.5(主任务) → 理由:需要最强推理能力和连贯性 - 数据处理(评分、选文) → Claude Sonnet 4.5(子任务) → 理由:结构化任务,性价比高 -
生成分析结果
- AI 直接生成
skill_analysis.json - 包含
task_features、model_recommendations、_reasoning(分析过程)
- AI 直接生成
关键原则:
- ✅ 基于语义理解,无硬编码规则
- ✅ AI 自由判断任务类型和复杂度
- ✅ 记录分析过程,便于追溯
- ❌ 不使用关键词匹配
- ❌ 不使用固定阈值判断
2) 模型调研:证据收集 + 硬编码评分
AI 自主规划检索策略(参考 references/SEARCH_STRATEGY.md):
- 基于任务特征生成检索词
- 必须包含:任务特定查询、社区反馈查询、缺点查询、对比查询
- 避免营销陷阱(如"best practices")
- 即使单厂商,也要包含跨厂商对比查询(避免回音室)
执行联网搜索(按优先级尝试):
- Tavily(深度搜索,获取最新信息)
- SearXNG(多源聚合,覆盖面广)
- DuckDuckGo(备选方案)
- 降级:如 MCP 工具不可用,使用内置搜索
硬编码评分(scripts/score_sources.py 自动执行):
综合评分 = 相关性 × 30% + 可信度 × 50% + 中立性 × 20%
其中:
- 相关性:基于查询匹配(research_models.py 计算)
- 可信度:基于域名类型(config.yaml 硬编码权重)
- 学术论文:1.0
- 社区讨论:0.85
- 官方文档:0.3
- 厂商博客:0.25
- 中立性:检测营销倾向(config.yaml 硬编码关键词)
- 过度正面且无平衡词汇:扣 0.4 分
- 绝对化词语过多:扣 0.3 分
输出:research_results_scored.json(包含 impartial_score 和 score_details)
3) 知识提取:场景分析(AI 自主规划)
AI 自主分析场景(参考 references/SCENARIO_ANALYSIS.md):
- 从评分后的搜索结果中提取真实使用场景
- 聚类相似场景,确保场景独立性
- 为每个场景提取:触发条件、推荐模型、推荐参数、适用/避免场景、来源依据
- 识别并处理冲突观点(并列展示,不偏向任何一方)
关键原则:
- 基于真实场景,不凭空想象
- 场景之间有明显区别
- 每个场景都有来源依据
- 冲突观点透明展示
输出:scenarios.json(结构化的场景列表)
4) 文档生成:WHICHMODEL 小节(AI 自主规划)
AI 自主组织内容(参考 references/CONTENT_ORGANIZATION.md):
- 确定结构:完整结构 vs 简化结构(基于证据充足度)
- 生成披露信息:时间戳、覆盖范围、来源构成、局限性
- 组织场景建议:按什么顺序排列、用什么格式(表格/列表/混合)
- 添加对比总结:表格形式对比不同模型
- 提炼通用原则:3-5 条核心原则
- 处理争议点:展示冲突观点和平衡建议
披露信息模板:
### 披露信息
- **最后更新**:{YYYY-MM-DD}
- **覆盖厂商**:{列表}({覆盖数}/{总数} = {百分比}%)
- **来源构成**:{社区 X%, 学术 Y%, 官方 Z%}
- **数据时效**:{时间范围}
- **局限性**:{本次调研的局限性}
输出:WHICHMODEL_section.md
5) 插入与验证
- 定位插入位置:
- 在目标
README.md中查找合适位置(通常在"设计理念"或"档位选择指南"之后) - 如已存在 WHICHMODEL 小节,提示用户选择:覆盖 / 追加 / 取消
- 在目标
- 生成插入建议:
- 输出插入位置的行号
- 显示插入前后的对比预览
- 等待用户确认:
- 询问用户是否插入
- 用户确认后,执行插入
- 验证:
- 检查 Markdown 格式是否正确
- 检查链接是否有效
- 确认文档整体结构完整
输出
输出规范
必需输出
WHICHMODEL_section.md:生成的 WHICHMODEL 小节skill_analysis.json:技能分析结果research_results.json:调研原始数据extracted_knowledge.json:提取的结构化知识
可选输出
{目标技能}/README.md:更新后的 README(需用户确认)which_model_report.md:完整调研报告(包含所有中间结果)
输出管理
BenszAPI 任务工作区
校验
验证标准
- 所有模型建议都有明确来源标注
- 至少覆盖 3 个典型使用场景
- 通用原则部分包含 3-5 条核心建议
- 更新记录包含生成时间戳
- Markdown 格式正确,链接有效
失败与恢复
错误处理
常见错误与处理方式
| 错误类型 | 处理方式 |
|---|---|
| 目标技能不存在 | 立即返回,提示用户检查技能名称 |
| MCP 工具不可用 | 降级到内置搜索,记录降级原因 |
| 无相关搜索结果 | 提示用户调整检索词或手动补充经验 |
| README.md 找不到 | 输出 WHICHMODEL_section.md,由用户手动插入 |
| 插入位置冲突 | 提供多个可选位置,由用户选择 |
约束
公共硬约束
本块由 docs/templates/skill-common-constraints.md 统一维护;每个 SKILL.md 的 ## 约束 必须逐字同步本块,不得在副本中改写公共规则。
- 任务需要落盘时,使用唯一的
./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/根目录;共享材料放入shared/,Skill 专属材料放入该 Skill 的input/、output/、log/。 - 正式交付物、源代码和正式计划按项目约定保存,不写入任务工作区;未经授权不覆盖、删除、迁移或远程写入。
- 项目维护变更检查 BAC 可用性并记录需求、AI 产出、工具结果、文件改动和验证摘要;BAC 只做过程审计,不替代署名、责任或合规判断。
- 不记录 API Key、访问令牌、密码、Cookie、环境/凭据文件、私有 Prompt、身份信息、本地用户名、主机名或不必要的大体积原始数据。
- 文件路径必须规范化并限制在授权项目范围内;外部 URL、子进程和网络访问遵循最小权限,防止路径遍历、SSRF 和命令注入。
- Skill 版本唯一记录在自身
config.yaml:skill_info.version;公开 API、协议、目录或配置变更同步文档与CHANGELOG.md。 bensz-collect-bugs是一个 Agent Skill;仅将 Bensz Agent Skill 或 Bensz 基础设施本身的设计缺陷交给它。先脱敏写入~/.bensz-skills/bugs/,当前任务不中断,只有用户明确要求才公开上报,禁止直接修改用户已安装的 Skill 源码。
Skill 专属约束
最高原则与约束
证据要求
- 拒绝猜测:每条建议必须有明确来源
- 来源标注:必须标注来源(官方文档/博客/社区)
- 时效性:明确标注生成时间,模型建议可能随时间变化
内容质量
- 简洁性:每个场景的建议不超过 5 行
- 准确性:不夸大模型能力,不承诺不确定的性能
- 可操作性:参数建议具体,避免模糊表述
用户交互
- 非破坏性:不自动覆盖用户文档,需确认后插入
- 透明性:展示调研过程和原始数据
- 可追溯:保留更新记录,方便回溯
Signals
- GitHub stars
- 48
- Forks
- 7
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
which-model- Source
- github.com/huangwb8/skills