questioner
课题研究提问引擎。综合知识审计报告、用户插入问题、既定框架,生成每轮最有价值的问题列表,驱动后续检索。是整个研究循环的核心引擎——问题的质量决定研究的深度。通常由 autodidact skill 调用,也可单独使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
课题研究提问引擎。综合知识审计报告、用户插入问题、既定框架,生成每轮最有价值的问题列表,驱动后续检索。是整个研究循环的核心引擎——问题的质量决定研究的深度。通常由 autodidact skill 调用,也可单独使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
自动课题研究器。给定一个研究课题,自动循环执行"提问→检索→整理→评估",持续更新知识库直到研究目标达成。适用于行业调研、技术研究、概念理解、创业方案构建等场景。触发方式:用户说"帮我研究 X"、"调研一下 X"、"我想深入了解 X"、"/autodidact X"。
信息检索 skill。接收问题列表,通过浏览器自动搜索并抓取高质量网页内容,存入 raw/ 文件夹。含两层质量筛选(抓取前过滤低质来源,抓取后评分)。通常由 autodidact skill 调用,也可单独使用。依赖 agent-browser CLI。
个人知识库管理工具。支持三个命令:/wiki compile(将 raw/ 素材增量编译为结构化 wiki)、/wiki check(知识审计:有问题列表时做完整审计,无问题列表时做纯结构审计)、/wiki check <questions_file>(基于 wiki 回答问题并做结构审计,合并输出为单份 check 报告)。
| name | questioner |
| description | 课题研究提问引擎。综合知识审计报告、用户插入问题、既定框架,生成每轮最有价值的问题列表,驱动后续检索。是整个研究循环的核心引擎——问题的质量决定研究的深度。通常由 autodidact skill 调用,也可单独使用。 |
整个研究循环的核心驱动器。综合多路输入,生成本轮最有价值的问题列表。问题的质量决定检索的方向,检索的方向决定知识库的深度——questioner 的工作做得好,研究才能真正深入而不是在表面打转。
每轮开始时,从以下来源收集输入:
知识审计报告(第2轮起,最重要)
读取 outputs/rounds/round_<N-1>_check.md(上一轮的审计报告)
重点提取:知识漏洞、未解释的新概念、来源缺失的结论
用户插入问题(随时可能有)
读取 outputs/user_questions.md(若存在),提取 ## 待处理 下的问题列表
这是用户在循环过程中主动插入的问题,优先级高,必须纳入本轮
未处理的新 raw 文件(用户贡献素材时) 对比 research_state.json 中已记录的 raw 文件列表,找出新增文件 扫描这些文件的内容,提取其中涉及的新主题和新问题
历史问题列表(去重用)
从 outputs/research_state.json 读取所有历史问题文本
课题描述 + 既定框架(冷启动 / 补充) 第1轮(wiki 为空):完全依赖框架生成问题 后续轮次:框架作为补充,确保没有遗漏的系统性方向
冷启动(第1轮,wiki/ 为空或不存在): 先识别课题类型(见下方规则),再按既定框架生成 L1/L2 基础问题 跳过审计报告读取(不存在)
深化模式(第2轮起):
以审计报告为主要输入,框架为补充
优先读取审计报告最后一节"建议下一轮重点方向",将这些方向转化的问题优先级设为 high
再处理其余知识漏洞和未解释概念
课题类型识别规则(冷启动时用):
| 关键词信号 | 课题类型 |
|---|---|
| "什么是""原理""如何工作""概念""理解" | 概念理解 |
| "方案""技术""方法""实现""架构" | 技术研究 |
| "行业""市场""规模""玩家""竞争""调研" | 行业调研 |
| "创业""机会""商业模式""用户""痛点" | 创业方案 |
不确定时默认用"概念理解"框架的 L1+L2 问题作为起点,第2轮再根据审计报告调整方向。
来源A:审计报告转化(深化模式) 将审计报告中每个发现转化为可检索的具体问题:
来源B:用户插入问题
直接纳入,标注来源为 user,优先级设为 high
来源C:新 raw 文件触发 扫描新文件内容,提取其中引入的新概念和新方向,转化为问题
来源D:框架补充 对照既定框架,检查是否有系统性方向完全未覆盖,补充进来
根据课题类型选择:
概念理解
技术研究
行业调研
创业方案
research_state.json 中 all_questions_ever 数组,直接用每条记录的 text 字段做语义比较,核心意图相同的去掉优先级从高到低:
source: user)同层级内,与课题核心目标最相关的优先。
输出 5-10 个问题,写入 outputs/rounds/round_<N>_questions.json:
{
"questions": [
{
"id": "r<N>q1",
"text": "问题文本",
"layer": "L1-定义",
"priority": "high",
"source": "audit|user|framework|raw",
"depends_on": [],
"rationale": "为什么这轮要问这个问题,来自哪个发现"
}
],
"overlap_ratio": 0.3,
"deduped_questions": [
{"text": "被去重的问题文本", "matched_history_id": "r1q2"}
],
"incorporated_user_questions": ["用户插入的问题文本1", "用户插入的问题文本2"]
}
overlap_ratio:本轮最终输出问题中,与 all_questions_ever 中任意历史问题语义相似的数量 / 本轮最终输出问题总数。分母统一用输出数(过滤后),不用候选数。第1轮固定为 null(无历史问题可比较)。autodidact 用此字段判断终止条件"问题重叠率 > 0.7"。
deduped_questions:本轮被去重过滤掉的候选问题列表,每条记录被去重的问题文本及其匹配的历史问题 id,便于审查去重行为是否合理。
incorporated_user_questions 字段列出本轮已纳入的用户插入问题原文,供 autodidact 更新 user_questions.md 的 ## 已处理 区块。若本轮无用户插入问题,该字段为空数组。
同时在对话中输出摘要:
## 第 N 轮问题列表(共 X 个)
来源分布:审计报告 X 个 / 用户插入 X 个 / 框架补充 X 个
问题重叠率:X%(与历史问题对比)
**[high]** 问题文本(来源:audit/user/framework)
**[high]** 问题文本
**[medium]** 问题文本
已写入:outputs/rounds/round_N_questions.json
→ Step 1 完成,继续执行 Step 2(信息检索)