学术科研
需要为决策做深度调研时:起草调研提示词…
当用户要求深度调研、市场/领域/技术/竞品/用户声音/学术文献调研、起草调研提示词、处理调研报告或在候选中做选择时,用三种方式之一产出可被下游直接消费的带引用决策级调研成果。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要为决策做深度调研时:起草调研提示词、特定
解决思路
- 先判定意图:draft(为用户自己的工具起草调研提示词)、process(用户已有或指定了一份报告)、run(在此处原生调研)、或对已有 run 文件夹做 refresh/deepen 生命周期操作。
- 若用户只是笼统说“帮我调研 X”,先开放一轮提问:邀请用户说明所面临的决策,以及已有的材料(简报、链接、旧报告),然后只追问缺失信息,并一次性把选择摆出来:现在在此处 Run,还是 Draft 一份提示词交给用户订阅的深度调研工具(通常更便宜且擅长收集),再用 Process 把其输出转成同样的成果;如实说明代价(此处消耗 token 与时间 vs 那边一次人工往返),由用户决定并在本会话内记住。
- 若 {workflow.research_output_path} 下已存在该主题的 run 文件夹,提供恢复或扩展(如已起草待报告的 brief、待刷新的报告),不要重复新建。
- 从用户请求和每个类型的 when 子句推断调研类型(内置:market、domain、technical、competitive、user-voice、academic-lit),仅在真正含糊时才确认;显式指定的类型(参数、shim、菜单)直接采用不再讨论。
- 判定决策形态:explore(默认,理解/评估/验证)或 select(在候选中选择);若为 select,加载 references/selection.md 并将其方法叠加到类型包之上,它同样影响起草的提示词和处理后的摘要。
- 按意图只加载对应参考文件:Draft 加载 references/draft.md;Process 加载 references/process.md;Run 加载 references/run.md,随后 references/verification.md 与 references/synthesis.md;Refresh/Deepen 加载 references/lifecycle.md。
- 所有意图共用 run 文件夹工作区结构:brief.md、imports/、digests/、research.md、.memlog.md,并按 references/finalize.md 收尾。
- 遵守两条认识论规则并逐字传递给每个子代理:一、绝不只凭训练数据下结论——已有知识只用于提出假设、查询和结构,结论必须来自本次运行中检索或导入的证据,无法举证的断言只能标为未经验证的信念或不说;二、研究防火墙——项目上下文(简报、PRD、代码、记忆、{workflow.persistent_facts})只决定问什么,绝不决定什么是真的,不能作为证据,研究产物中每条断言都必须追溯到带来源的 digest 或 import 文件;研究子代理只接收其 brief,不带项目文件和环境上下文,除非计划明确授予某份具名文档。
- 坚持“不落盘就不存在”:每份 digest、import 提取物和报告章节一落地就写入 run 文件夹,对话只是控制通道而非存储;运行中断可从磁盘恢复且不丢内容。
- 只提取不整吞:原始报告和搜索结果绝不整体进入父上下文,子代理返回经相关性过滤的 digest,父级按需(JIT)读取 digest 文件。
- 每条断言都是一句带来源的话:出版方、发布日期、访问日期,不允许出现无来源的数字。
- 如实报告:公开数据稀薄就报告稀薄,证据缺失本身就是发现,时效性是真实性的一部分——每个包按断言类别设定时间窗口,三年前的市场规模是历史而非事实。
- 默认快速:严谨性通过配置旋钮有意识地购买,绝不靠额外轮次堆积;只设一道关卡、轻量检查点、不做仪式。
- 用 memlog 作为过程记忆:每个决策、来源批次、承重断言、计划变更和假设都追加一行,且始终通过脚本执行:uv run {project-root}/_bmad/scripts/memlog.py,配合 --type <decision|source|claim|assumption|question|event>。
- Run 需要联网;若不可用,明确说明并提供 Draft/Process,绝不编造调研。
- 激活时先解析定制:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow;若脚本不存在说明此处未安装 BMad,提议运行 bmad 技能的 setup(必要时先 npx skills add bmad-code-org/BMAD-METHOD --skill bmad),然后重跑该命令;其他失败则读取 {skill-root}/customize.toml 用默认值;随后依次运行 {workflow.activation_steps_prepend} 和 {workflow.activation_steps_append}。
- 再解析配置:uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root},从合并 JSON 中解析 {project_name}、{output_folder}(core 下)、{planning_artifacts}(modules.bmm 下,仅 core 安装时缺失则用 {output_folder})和 {date};缺失键取中性默认值,绝不阻塞。
- 若为无交互用户的无头模式,见 Headless Mode;否则向用户问候。
- 若调用方带入了明确意图、调研类型或已解析的定制字段(旧 research shim 和 Mary 的菜单会这样),逐字沿用,跳过对这些值的自行推断,只解析其余部分。
- 无头模式下不要提问:笼统调研默认 run,指定报告则为 process,要求提示词则为 draft(brief 文件即交付物);计划后直接执行:推断类型、按包构建、保留配置旋钮及调用中携带的设置(仅当设为 "on" 时才启用红队和工作流编排)、跳过检查点、把每个判断记为 assumption;仅当主题或目标文件夹无法推断时才以 blocked 停止;结束时输出 JSON,包含 status、intent、type、report、memlog、claims(verified/unverified/overturned,来自 uv run scripts/recon_kit.py tally {doc_workspace}/.memlog.md,绝不手工计数)、open_questions、external_handoffs;未产出的产物省略对应键;draft 增加 "brief",process 增加 "imports",refresh 用刷新集加 deltas 数组替换 claims 范围;当 output_format = "auto" 时无头运行不产出 briefing,渲染时再加 "briefing"。
适用边界 · 注意事项
- Run 模式需要联网,无网络时不可用,只能改用 Draft 或 Process。
- 项目上下文(简报、PRD、代码、记忆等)不能作为研究证据,只能用于决定问什么。
- 训练数据中的既有知识不能单独作为结论依据,只能用于提出假设、查询和结构。