---
name: brainstorming-research
description: Use before writing any paper - clarifies paper type, discipline, topic, methodology, and chapter structure through natural dialogue
---
# 科研写作头脑风暴
通过自然的协作对话,帮助用户将论文想法转化为完整的写作计划。
**核心原则:一次只问一个问题,等待用户回答后再继续下一个。**
**交互原则:让用户少做选择,多做确认。提供推荐方案,让用户确认或微调。**
## 交互方式约束
你必须以**对话方式**进行头脑风暴,而不是列出表单让用户填写:
**正确做法**:
- 每次只问一个问题
- 用自然语言提问,像同事间的讨论
- 等待用户回答后,确认理解,再问下一个问题
- **提供推荐方案,让用户确认**,而不是让用户从零开始选择
- 给出你的建议和理由,帮助用户做选择
**错误做法**:
- 一次性列出所有问题
- 把问题编号像表单一样展示
- 不等用户回答就继续
- 干巴巴地列选项不给建议
- 让用户从空白开始填写
**示例对比**:
❌ 错误:"请选择:1.本科 2.硕士 3.博士 4.期刊 5.会议 6.课程"
✅ 正确:"你这次要写的是什么类型的论文?是毕业论文、期刊投稿,还是课程作业?如果是毕业论文,是本科、硕士还是博士阶段的?"
在完成所有问答并获得用户最终确认之前,禁止:
- 写任何正文内容
- 创建 chapters/ 目录
- 调用 writing-chapters 技能
- 输出任何论文章节的实际内容
无论用户的任务看起来多么"简单",都必须经过此流程。
## 语言默认规则
| 论文类型 | 默认语言 | 说明 |
|----------|----------|------|
| 本科毕业论文 | 中文 | 除非用户明确要求英文 |
| 硕士毕业论文 | 中文 | 除非用户明确要求英文 |
| 博士毕业论文 | 中文 | 除非用户明确要求英文 |
| 中文核心期刊 | 中文 | |
| SCI/SSCI期刊 | 英文 | 根据期刊要求 |
| 会议论文 | 英文 | 国际会议为主 |
| 课程论文 | 中文 | 除非课程要求英文 |
**不需要主动询问语言**,根据论文类型自动确定。只有当用户有特殊语言需求时才调整。
## 已有论文信息提示
在开始问答前,检查用户是否已有论文相关信息:
> "在开始之前,如果你已经有论文的相关材料(比如题目、摘要、导师要求的结构),可以现在发给我,我会根据这些信息来规划。如果没有也没关系,我们从头开始讨论。"
**等待用户回复**,如果提供了材料,快速浏览并提取关键信息,然后在后续问答中确认。
## 反模式:"这太简单了不需要讨论"
每个论文项目都要经过这个流程。一篇课程论文、一个简单修改、一段摘要 — 都需要。"简单"的项目往往因为未经检验的假设导致最多的返工。讨论可以很简短,但必须呈现信息并获得确认。
## Checklist
按顺序完成:
1. **探索项目上下文** — 检查是否已有 plan/、现有文件、用户提供的信息
2. **确认论文类型** — 对话式提问,等待回答
3. **确认学科领域** — 对话式提问,等待回答
4. **确认论文题目** — 对话式提问,等待回答
5. **确认研究背景与目的** — 对话式提问,等待回答
6. **确认研究方法** — 对话式提问,等待回答
7. **检测 LaTeX 模板** — 如果存在,询问是否使用
8. **确认章节结构** — **根据论文类型提供标准结构,让用户确认**
9. **汇总确认** — 展示所有信息,获得最终确认
10. **创建项目结构** — 创建 plan/ 和 chapters/
11. **转到章节写作** — 询问从哪章开始
## 流程图
```dot
digraph brainstorming_research {
"探索上下文" [shape=box];
"问论文类型" [shape=box];
"等待回答" [shape=diamond];
"问学科领域" [shape=box];
"问论文题目" [shape=box];
"问研究背景" [shape=box];
"问研究方法" [shape=box];
"检测LaTeX模板" [shape=box];
"确认章节结构" [shape=box];
"汇总确认" [shape=box];
"用户确认?" [shape=diamond];
"创建项目" [shape=box];
"开始写作" [shape=doublecircle];
"探索上下文" -> "问论文类型";
"问论文类型" -> "等待回答";
"等待回答" -> "问学科领域" [label="收到回答"];
"问学科领域" -> "等待回答";
"等待回答" -> "问论文题目" [label="收到回答"];
"问论文题目" -> "等待回答";
"等待回答" -> "问研究背景" [label="收到回答"];
"问研究背景" -> "等待回答";
"等待回答" -> "问研究方法" [label="收到回答"];
"问研究方法" -> "等待回答";
"等待回答" -> "检测LaTeX模板" [label="收到回答"];
"检测LaTeX模板" -> "确认章节结构";
"确认章节结构" -> "汇总确认";
"汇总确认" -> "用户确认?";
"用户确认?" -> "问论文类型" [label="需要修改"];
"用户确认?" -> "创建项目" [label="确认"];
"创建项目" -> "开始写作";
}
```
---
## 对话指南
### 第一个问题:论文类型
用自然语言询问,给出你的观察和建议:
> "你这次要写的是什么类型的论文?
>
> 比如:
> - 毕业论文(本科/硕士/博士)
> - 期刊投稿(中文核心 / SCI)
> - 会议论文
> - 课程论文或报告
>
> 不同类型的论文在篇幅、结构和语言风格上会有差异,我需要先了解这个来帮你规划。"
**等待用户回答。** 收到回答后,确认你的理解:
> "好的,[论文类型]。这类论文通常使用 [引用格式],写作风格偏向 [风格特点]。"
然后进入下一个问题。
### 第二个问题:学科领域
> "你的研究属于哪个学科领域?
>
> 这会影响我给你的写作建议和章节安排。比如工科论文侧重技术方案和实验验证,社科论文更强调理论框架和数据分析,医学论文有特殊的报告规范要求。"
**等待用户回答。**
### 第三个问题:论文题目
> "论文题目定了吗?可以是暂定的,我们后面还可以调整。
>
> 如果还在犹豫,可以告诉我你想研究的大方向,我帮你一起想想怎么聚焦。"
**等待用户回答。**
### 第四个问题:研究背景与目的
根据用户的学科和题目,用更具体的方式提问:
> "关于你的研究,我想了解一下:
>
> 你为什么选择这个题目?是发现了什么问题想解决,还是想验证某个想法?
>
> 简单说说背景就好,不用太正式。"
**等待用户回答。** 如果回答不够清晰,可以追问:
> "明白了。那你希望通过这个研究达成什么目标?解决什么具体问题?"
### 第五个问题:研究方法
根据学科领域,问题侧重点不同:
**工科**:
> "你打算用什么技术方案或方法?有没有要做的实验或系统?性能怎么评估?"
**社科**:
> "你的研究方法是什么?问卷调查、访谈、案例分析,还是其他?数据怎么收集和分析?"
**医学**:
> "这是临床研究还是基础研究?样本量大概多少?伦理审批这块有没有考虑?"
**文科**:
> "你打算从什么理论视角切入?研究的文本或材料来源是什么?"
**法学**:
> "你要分析的法律问题是什么?会用到案例分析还是比较法研究?"
**等待用户回答。**
### LaTeX 模板检测
检查 `latex-templates/` 目录:
**如果存在模板文件**:
> "我注意到你放了 LaTeX 模板文件。你想用这个模板来输出论文吗?
>
> 用模板的话,我会直接生成 .tex 文件,可以用 LaTeX 编译成 PDF。
> 不用的话,我会输出 Markdown 文件,你可以后续复制到 Word。
>
> 你想怎么处理?"
**如果不存在模板**:默认使用 Markdown,不需要询问。
### 第六个问题:章节结构
根据用户确认的论文类型,**自动推荐**对应的章节结构:
> "根据你的 [论文类型],我建议这样的章节结构:
>
> [展示对应类型的结构,>
> [从 templates.md 读取]
>
> 这是 [论文类型] 的标准结构。你可以:
> 1. **直接确认** — 使用这个结构
> 2. **微调** — 告诉我需要增删或调整的章节
>
> 你想怎么处理?"
**重要**:优先让用户确认, 而不是让用户设计。如果用户没有特殊要求, 使用默认结构即可.
### 汇总确认
收集完所有信息后,呈现汇总:
> "好,我整理一下我们讨论的内容:
>
> - **论文类型**:[类型]
> - **学科领域**:[领域]
> - **论文题目**:[题目]
> - **研究背景**:[简述]
> - **研究目的**:[简述]
> - **研究方法**:[简述]
> - **输出格式**:[Markdown / LaTeX]
> - **章节结构**:
> - [章节列表]
>
> 这些信息都对吗?确认后我会创建项目结构,然后我们就可以开始写了。"
必须等待用户明确确认(如"对"、"可以"、"确认"、"没问题")后才能继续。
不得假设用户同意。
---
## 创建项目结构
用户确认后,执行以下操作:
1. **创建 plan/ 目录**(如不存在)
2. **填充 project-overview.md**:
```markdown
# 项目概览
## 基本信息
- **论文类型**:[类型]
- **学科领域**:[领域]
- **论文题目**:[题目]
- **创建时间**:[日期]
- **输出格式**:[Markdown / LaTeX]
- **当前阶段**:头脑风暴完成,待开始写作
## 研究信息
### 研究背景
[用户描述]
### 研究目的
[用户描述]
### 研究方法
[用户描述]
## 章节结构
[章节列表]
## 写作规范
- **语言**:[中文/英文]
- **引用格式**:[格式]
- **写作模块**:[对应模块]
```
3. **填充 outline.md**:详细章节大纲
4. **更新 progress.md**:记录头脑风暴完成
5. **创建 chapters/ 目录**:创建空的章节文件
## 转到写作
> "项目结构已经创建好了。
>
> 你想从哪一章开始写?
>
> 我的建议是先写绪论,把研究问题和目标明确下来,这样后面的章节写起来会更顺。不过如果你对文献综述或方法部分更有把握,也可以先从那里开始。
>
> 你想先写哪部分?"
**等待用户回答**,然后调用 `writing-chapters` 技能。
---
## 关键原则
- **一次只问一个问题** — 不要用多个问题压倒用户
- **等待回答再继续** — 不要假设用户的选择
- **对话式而非表单式** — 像同事讨论,不是填问卷
- **给出建议和理由** — 帮助用户做选择,不是干巴巴列选项
- **灵活调整** — 如果用户想跳过某些讨论,可以简化但不能跳过最终确认
- **记录一切** — 所有决策都写入 plan/