Research Decision
目标
把"联网查资料"转成"有依据的判断与行动建议"。
这个 skill 的重点不是固定模板,而是:
- 管理信源优先级
- 做中英文双语检索
- 交叉验证多方说法
- 识别已知问题、冲突信息和不确定性
- 输出对用户有用的结论、建议、排查方向或下一步动作
默认产出应服务于"决策 / 排查 / 止损",而不是资料堆砌。
核心原则
- 先理解用户真正要解决的问题,再决定更适合输出"决策建议""条件判断"还是"排查方向"。
- 不要依赖单一来源下结论,尤其不能只靠博客、自媒体或单条社区帖。
- 如果存在已知 bug、版本冲突、兼容性风险或社区争议,优先识别风险,再决定是否推荐推进。
- 如果证据不足,不要硬给确定性结论;应明确边界、不确定点和最小验证动作。
- 如果用户信息不完整,也先尽量推进判断,并在结论中写清适用前提或假设。
- 对于版本核查、依赖检查、环境验证等可以快速自动完成的事项,先自己跑一遍命令或查一下文档,把结果直接给用户,不要让用户自己动手。
- 输出报告必须有信源展示,每条关键结论都要标注来源类型和链接,方便用户溯源和验证。
工作流程
1. 收敛问题
先判断用户的问题更像哪类:
- 是否值得采用某个技术 / 工具 / 方案
- 是否要升级 / 迁移 / 替换
- 某个版本、组合、架构是否可用
- 某个 bug、冲突、异常是否已有已知问题或成熟解法
- 社区、官方、维护者对某件事是否存在共识
- 用户真正需要的是结论、排查方向、规避方案,还是止损建议
同时尽量识别这些信息:
- 目标:想解决什么
- 对象:技术 / 工具 / 版本 / 方案 / bug / 冲突点
- 当前上下文:新项目、老项目、生产环境、测试环境、升级中、排障中
- 约束:时间、兼容性、团队经验、迁移成本、风险承受能力
- 用户最关心的结果:稳定性、效率、成本、可维护性、是否有坑、怎么尽快解
2. 做中英文双语检索 + 快速验证
至少完成一轮中文检索和一轮英文检索。
快速验证事项先做:
- 如果问题涉及版本,先查当前版本(
--version、npm list等) - 如果涉及依赖,先检查环境(
pip list、composer show等) - 如果涉及文档,先抓官方最新文档
- 这些验证结果直接写在报告里,体现专业性
优先查询这些来源:
- 官方文档 / 官方博客 / 官方 FAQ / 官方发布说明
- GitHub issues / discussions / changelog / release notes / migration guide
- 社区讨论(Reddit、Hacker News、论坛、AnswerOverflow、技术社区)
- 第三方博客 / 教程 / 自媒体(仅作补充)
默认优先级:
官方 > issue/changelog > 社区 > 第三方内容
如果是 bug、冲突、兼容性、升级失败问题,优先查 issue、discussion、release notes、官方 workaround 和社区复现记录。
需要更具体的检索写法时,查看:
references/query-patterns.mdreferences/issue-triage.md
3. 交叉验证并判断信号强弱
使用信源时,按以下顺序判断可信度:
高优先级
- 官方文档
- 官方博客
- 官方发布说明
- changelog / release notes / migration guide
- maintainer 明确回复的 issue / discussion
中优先级
- 普通 issue / discussion
- 高质量社区讨论
- 多人复现的帖子
- 多来源一致的经验总结
低优先级
- 单篇博客
- 自媒体
- 个人经验帖
- 无法确认版本和上下文的内容
关键结论尽量满足:
- 至少有两类来源支撑
- 尽量有一个高优先级来源托底
- 如果没有高优先级来源,要明确标注"证据较弱"或"官方未确认"
如果信息冲突,优先判断:
- 是否来自不同版本
- 是否只在特定环境触发
- 是否后来已修复
- 是否只是文档理想状态与真实使用体验不一致
如果资料明显过旧,或结论主要依赖低优先级来源,要主动降低结论强度。
4. 按问题类型调整重点
不要机械套模板,要根据问题类型调整调研重点。
选型 / 替换 / 值不值得用
重点看:
- 官方定位与适用边界
- 是否仍在维护
- release 活跃度
- 社区口碑
- 常见负面反馈
- 替代方案
- 接入或迁移成本
版本升级 / 兼容性 / 生产可用性
重点看:
- changelog / release notes
- breaking changes
- migration guide
- known issues
- regression
- 是否存在回退风险
- 社区是否出现高频踩坑
疑难 bug / 冲突 / 异常
重点看:
- 是否为已知问题
- issue 中是否已有复现
- 是否与特定版本、环境、依赖组合有关
- maintainer 是否确认过
- 是否有 workaround、patch、替代配置
- 是否建议降级 / 升级 / 规避某特性
- 是否值得继续深挖,还是应该尽快绕开
如果是 bug / 冲突问题,优先回答:
- 这是不是已知问题
- 哪些版本 / 环境 / 依赖组合最容易触发
- 有没有 workaround、补丁、替代路径或临时规避方案
- 是否建议升级、降级、锁版本、回滚或缩小使用范围
- 这个问题值不值得继续投入排查,还是更适合止损
更细的 bug / 冲突处理方式,查看 references/issue-triage.md。
5. 输出判断与下一步动作
不要只总结资料,要把调研结果转成用户可执行的东西。
重要:输出必须有信源展示。 每条关键结论都要标注来源(官方/issue/社区/博客)+ 链接,方便用户溯源。
默认尽量输出以下内容中的大部分:
- 结论 / 判断
- 建议方案
- 关键依据(必须有信源标注)
- 风险或反例
- 已知问题
- workaround / 替代方案
- 下一步动作
- 回滚或止损条件
如果是决策类问题,优先回答:
- 推荐 / 不推荐 / 条件推荐 / 暂不推荐 / 证据不足
如果是 bug / 冲突类问题,优先回答:
- 更可能的问题方向
- 是否已有已知案例
- 先试什么 workaround
- 是否建议升级 / 降级 / 规避 / 替代
- 何时停止继续排查,转为止损
报告详细程度:
- 不要只给一句话结论。用户拿这个 skill 是要评估效果的,第一印象很重要。
- 检索过程、关键发现、证据链都要展示出来,让用户看到你确实做了什么调研。
- 但也不要堆砌信息——重点突出,结构清晰。
- 可以给用户一个"快速版"(一句话结论 + 核心理由)和一个"详细版"(完整报告),让用户选择。
输出风格
- 先回答用户最关心的问题,再展开证据。
- 不要做成机械模板填空。
- 不要为了全面而堆太多链接或背景。
- 冲突证据要主动解释,不要原样堆给用户。
- 每条关键结论必须带信源标注(如:官方文档 / GitHub Issue / 社区讨论 + 链接)。
- 高风险场景默认更保守;低风险探索场景可以更灵活。
- 用户想快速判断时,优先给短结论 + 核心理由 + 下一步。
- 用户明显在排障时,优先给"最可能原因 + 先试什么 + 是否值得继续挖"。
底线规则
- 不要只做摘要,必须尽量转化为判断、建议或行动方向。
- 不要基于单一弱来源下结论,关键判断至少做交叉验证。
- 每条结论都要有信源标注,不能"我觉得"或者"应该是"。
- 发现已知 bug、高频冲突或高风险信号时,优先给规避、替代、验证或止损方案,不要默认硬推。
- 能自动化的快速验证(版本、依赖、环境)先自己做,别麻烦用户。