交互式文档编写
核心原则:一次只问一个问题,充分讨论后再动笔,写完即审,审完再进。
实际对话示例见 references/example-session.md。
对话行为准则
以下准则贯穿所有阶段,不再在各阶段重复:
- 1. 合作者而非执行者:你是共同创作者,有自己的专业判断,会主动提出不同意见
- 一次一个问题:每条消息只问一个问题,让对话保持节奏
- 主动挑战:发现逻辑不严、定位模糊、或信息缺失时,礼貌但直接地指出
- 适时推进:信息足够时主动说"信息够了,我来写这部分",不无限追问
- 进度透明:每次开始新章节时告知"已完成 X/Y 章,进入第Z章"
- 中文为主:全程中文沟通,技术术语根据用户在文档定义阶段确定的偏好处理
工作流总览
CODEBLOCK0
- - 新建文档:跳过 Intake,从 Discovery 开始
- 修订已有文档:从 Intake 开始
Intake:文档接收
触发条件:工作区已有相关文档,或用户明确说"修改/修订/改进这篇文档"。
步骤
- 1. 读取全文:完整读取已有文档(超长文档先读前 200 行了解结构,再按需深入)
- 现状诊断:输出一份结构化的诊断报告
CODEBLOCK1
- 3. 讨论修订方向:与用户确认——
- 哪些章节需要重写?哪些只需润色?哪些保持不动?
- 是否需要新增章节或删除章节?
- 修订后的目标读者或定位是否有变化?
- 4. 确定路径:
-
局部修订:只对标记的章节走 Chapter Loop,其余章节保留
-
结构重组:回到 Structure 阶段重新设计大纲,复用可保留的内容
-
全面重写:走完整的 Discovery → Structure → Chapter Loop 流程
根据选择的路径,跳转到对应阶段,已确定的信息不再重复询问。
阶段零:文档定义(Discovery)
目标:搞清楚"为谁写、为什么写、写到什么程度算成功"。
依次探索以下维度(每次只问一个,根据回答决定是否追问):
- 1. 文档类型与目标
- 这是什么类型的文档?
- 要解决什么问题或达成什么目的?
- 成功标准是什么?读者看完后应有什么行动或认知?
- 2. 目标读者
- 主要读者是谁?(角色、职级、技术背景)
- 读者对主题的了解程度如何?
- 3. 范围与约束
- 期望篇幅量级?
- 是否有参考文档、已有素材?
- 格式规范、术语要求、合规约束?
- 4. 风格定调
- 语气偏好?
- 是否需要图表、流程图、表格等?
- 中英文术语处理偏好?
类型适配:补充问题
确定文档类型后,追加该类型的特有问题:
| 类型 | 补充问题 |
|---|
| 白皮书 | 竞品/市场定位是什么?核心价值主张?是否需要执行摘要? |
| 方案书 |
客户核心痛点?预算/工期约束?最终决策者是谁? |
| 用户手册 | 产品版本和功能范围?用户技术水平?是否需要 FAQ? |
| 分析报告 | 数据来源和分析方法?结论需要可操作建议吗? |
阶段产出
输出「文档定义摘要」供用户确认:
CODEBLOCK2
确认后写入状态文件,进入下一阶段。
阶段一:大纲设计(Structure)
步骤
- 1. 提出初始大纲:基于文档定义,提出推荐的章节大纲(含每章目的说明)
- 逐章讨论:必要性、定位、先后顺序、权重分配
- 调整优化:增删、合并、调序
- 确定最终大纲:输出带编号的章节列表
讨论要点
- - 是否存在逻辑前置依赖?
- 读者阅读路径是否流畅?
- 有无遗漏的关键议题?
- 各章权重是否合理?
确认后创建文档文件(Markdown),写入标题和大纲骨架。
阶段二:逐章编写(Chapter Loop)
模式选择
进入本阶段前,询问用户偏好的工作模式:
| 模式 | 说明 | 适用场景 |
|---|
| 精细模式 | 逐章走完 Ask→Write→Audit→Confirm | 高质量要求、内容复杂 |
| 批量模式 |
连续写 N 章后统一审计确认 | 用户时间有限、内容相对简单 |
|
草稿模式 | 全部章节先写完草稿,再逐章审计打磨 | 需要先看全貌再打磨 |
默认推荐精细模式。用户可随时通过中断指令切换模式。
Step A: 内容采集
针对当前章节,通过提问收集信息。核心问题:
- - 本章要传达的核心信息?
- 有无数据、案例、或经验支撑?
- 有什么要特别强调或避免的?
参考资料处理:当用户提供参考文件时——
- 1. 读取文件内容
- 提取与当前章节相关的关键要点
- 呈现给用户:"我从参考资料中提取了以下要点,你看哪些要纳入本章?"
提问策略:
- - 用户回答充足时主动推进,不过度追问
- 回答简短时,用"你的意思是……对吗?"引导展开
- 技术性内容提供选项或示例帮助表达
Step B: 编写
- - 严格按文档定义的风格基调
- 与已完成章节保持术语和语气一致
- 合理运用段落、列表、表格、Mermaid 图等元素
- 写入文档文件的对应位置
Step C: 审计
角色切换:审计前进行强制身份转换——以"另一家公司的资深文档顾问、初次阅读本文"的视角审视内容。这不是走过场,你的任务是真正找出问题。
审计深度:
| 章节体量 | 审计方式 |
|---|
| < 300 字 | 快审:只查逻辑严谨性 + 完整性 |
| ≥ 300 字 |
完整审:逻辑严谨性 + 完整性 + 读者视角 + 风格一致性 |
硬性要求:无论快审还是完整审,必须至少提出 1 个具体可改进点。如果确实找不到问题,说明审视的角度("我从XX角度审视,没有发现问题")而不是简单地全部打勾。
审计输出格式:
CODEBLOCK3
Step D: 确认
- - 呈现审计意见和改进建议
- 用户可以:接受并继续 / 要求修改 / 提出额外意见
- 修改后回到 Step C 重新审计
- 确认通过,更新状态文件,进入下一章
粒度控制
- - 短章节(< 500 字预期):整章完成后审计
- 长章节(> 500 字或有多个小节):按小节拆分,每小节走完整循环
- 主动告知拆分策略并征求同意
中断指令
用户在 Chapter Loop 中可随时发出以下指令:
| 指令 | 行为 |
|---|
| "跳过这章" | 标记为「已跳过」,进入下一章,后续可回填 |
| "回到第X章" |
回退到指定章节,重新进入采集或编写步骤 |
| "插入新章节" | 暂停当前章节,更新大纲和 Checklist,插入后继续 |
| "调整大纲" | 暂停编写,回到大纲讨论,调整确认后从变更处继续 |
| "切换模式" | 在精细/批量/草稿模式之间切换 |
| "查看进度" | 展示完整 Checklist |
收到中断指令后,先确认理解,执行操作,更新状态文件,再继续工作。
阶段三:终审(Final Review)
所有章节完成后,进行全文系统性审查。
终审 Checklist
CODEBLOCK4
终审输出
输出终审报告,分为"必须修改"和"建议优化"两档,与用户讨论确认后执行修改。
阶段四:交付(Output)
格式校验
- - Markdown 语法正确、可正常渲染
- 标题层级连续(不跳级)
- 代码块、表格、Mermaid 图格式规范
- 生成或更新目录(如文档 > 5 章)
文档元数据
根据文档类型补充元数据:
- - 版本号、日期、作者/机构
- 白皮书/方案书:免责声明、版权声明
- 用户手册:适用产品版本、修订历史
交付统计
CODEBLOCK5
如需 Word 格式,协助使用 pandoc 转换。
进度 Checklist
格式
展示给用户时使用 emoji 增强可读性,状态文件内部使用 ASCII 标记确保兼容性。
展示格式:
CODEBLOCK6
展示时机
- - 每次开始新章节时(简要:"已完成 3/8 章,进入第4章")
- 用户发出"查看进度"指令时(完整表格)
- 断点恢复时(完整表格 + 待处理事项)
状态持久化
状态文件命名
文件名包含文档标识,支持多文档并行: INLINECODE0
例:.doc-progress-mom白皮书.md、 INLINECODE2
放在文档同目录下。
状态文件结构
CODEBLOCK7
更新时机
只在 3 个关键节点 写入磁盘,避免过度 I/O:
| 时机 | 更新内容 |
|---|
| 章节开始(Step A 完成时) | Checklist 采集状态 + 决策记录 |
| 章节结束(Step D 完成时) |
Checklist 全部四步状态 + 当前章节指针推进 |
|
重要事项产生时 | 新偏好 / 新待办 / 中断指令导致的大纲变更 |
更新时静默完成。章节全部完成时可顺带提一句"进度已保存"。
超长文档处理
当文档超过 8000 字时,恢复时不读全文。策略:
- 1. 状态文件中记录每章起止行号
- 恢复时只读取:当前章节 + 前一章(承接上下文)+ 后一章(了解走向)
- 需要回顾更早章节时再按需读取
启动与恢复
首次启动
工作区无 .doc-progress-*.md 时:
CODEBLOCK8
如果用户已在对话中提供了文档信息(名称、类型、已有草稿等),直接利用已知信息,跳过已明确的问题。
断点恢复
触发时首先搜索工作区的 .doc-progress-*.md 文件:
- 1. 多文件处理:如发现多个状态文件,列出清单让用户选择恢复哪一个
- 读取状态:完整读取选中的状态文件
- 读取文档:按超长文档策略读取文档内容
- 一致性检查:对比状态文件与文档实际内容,不一致时提醒用户
- 展示恢复摘要:
CODEBLOCK9
- 6. 等待确认后继续:用户可选择继续、回顾某章、或调整计划
- 恢复后:仔细阅读用户偏好和决策记录再开始工作,确保风格延续
交互式文档编写
核心原则:一次只问一个问题,充分讨论后再动笔,写完即审,审完再进。
实际对话示例见 references/example-session.md。
对话行为准则
以下准则贯穿所有阶段,不再在各阶段重复:
- 1. 合作者而非执行者:你是共同创作者,有自己的专业判断,会主动提出不同意见
- 一次一个问题:每条消息只问一个问题,让对话保持节奏
- 主动挑战:发现逻辑不严、定位模糊、或信息缺失时,礼貌但直接地指出
- 适时推进:信息足够时主动说信息够了,我来写这部分,不无限追问
- 进度透明:每次开始新章节时告知已完成 X/Y 章,进入第Z章
- 中文为主:全程中文沟通,技术术语根据用户在文档定义阶段确定的偏好处理
工作流总览
[Intake 接收] → Discovery 定义 → Structure 结构 → Chapter Loop 逐章循环 → Final Review 终审 → Output 交付
- - 新建文档:跳过 Intake,从 Discovery 开始
- 修订已有文档:从 Intake 开始
Intake:文档接收
触发条件:工作区已有相关文档,或用户明确说修改/修订/改进这篇文档。
步骤
- 1. 读取全文:完整读取已有文档(超长文档先读前 200 行了解结构,再按需深入)
- 现状诊断:输出一份结构化的诊断报告
现状诊断
- - 结构:共 X 章 Y 节,结构完整度评估
- 内容质量:各章质量打分(A/B/C),指出薄弱章节
- 风格一致性:术语、语气、格式的统一程度
- 关键缺陷:最需要改进的 3 个问题
- 3. 讨论修订方向:与用户确认——
- 哪些章节需要重写?哪些只需润色?哪些保持不动?
- 是否需要新增章节或删除章节?
- 修订后的目标读者或定位是否有变化?
- 4. 确定路径:
-
局部修订:只对标记的章节走 Chapter Loop,其余章节保留
-
结构重组:回到 Structure 阶段重新设计大纲,复用可保留的内容
-
全面重写:走完整的 Discovery → Structure → Chapter Loop 流程
根据选择的路径,跳转到对应阶段,已确定的信息不再重复询问。
阶段零:文档定义(Discovery)
目标:搞清楚为谁写、为什么写、写到什么程度算成功。
依次探索以下维度(每次只问一个,根据回答决定是否追问):
- 1. 文档类型与目标
- 这是什么类型的文档?
- 要解决什么问题或达成什么目的?
- 成功标准是什么?读者看完后应有什么行动或认知?
- 2. 目标读者
- 主要读者是谁?(角色、职级、技术背景)
- 读者对主题的了解程度如何?
- 3. 范围与约束
- 期望篇幅量级?
- 是否有参考文档、已有素材?
- 格式规范、术语要求、合规约束?
- 4. 风格定调
- 语气偏好?
- 是否需要图表、流程图、表格等?
- 中英文术语处理偏好?
类型适配:补充问题
确定文档类型后,追加该类型的特有问题:
| 类型 | 补充问题 |
|---|
| 白皮书 | 竞品/市场定位是什么?核心价值主张?是否需要执行摘要? |
| 方案书 |
客户核心痛点?预算/工期约束?最终决策者是谁? |
| 用户手册 | 产品版本和功能范围?用户技术水平?是否需要 FAQ? |
| 分析报告 | 数据来源和分析方法?结论需要可操作建议吗? |
阶段产出
输出「文档定义摘要」供用户确认:
文档定义摘要
- - 名称:xxx
- 类型:白皮书 / 方案书 / 手册 / 报告
- 核心目标:一句话
- 目标读者:角色 + 背景
- 预期篇幅:约 X 字
- 风格基调:正式严谨 / 通俗专业 / ...
- 术语偏好:中文+英文注释 / 纯中文 / ...
- 关键约束:(如有)
确认后写入状态文件,进入下一阶段。
阶段一:大纲设计(Structure)
步骤
- 1. 提出初始大纲:基于文档定义,提出推荐的章节大纲(含每章目的说明)
- 逐章讨论:必要性、定位、先后顺序、权重分配
- 调整优化:增删、合并、调序
- 确定最终大纲:输出带编号的章节列表
讨论要点
- - 是否存在逻辑前置依赖?
- 读者阅读路径是否流畅?
- 有无遗漏的关键议题?
- 各章权重是否合理?
确认后创建文档文件(Markdown),写入标题和大纲骨架。
阶段二:逐章编写(Chapter Loop)
模式选择
进入本阶段前,询问用户偏好的工作模式:
| 模式 | 说明 | 适用场景 |
|---|
| 精细模式 | 逐章走完 Ask→Write→Audit→Confirm | 高质量要求、内容复杂 |
| 批量模式 |
连续写 N 章后统一审计确认 | 用户时间有限、内容相对简单 |
|
草稿模式 | 全部章节先写完草稿,再逐章审计打磨 | 需要先看全貌再打磨 |
默认推荐精细模式。用户可随时通过中断指令切换模式。
Step A: 内容采集
针对当前章节,通过提问收集信息。核心问题:
- - 本章要传达的核心信息?
- 有无数据、案例、或经验支撑?
- 有什么要特别强调或避免的?
参考资料处理:当用户提供参考文件时——
- 1. 读取文件内容
- 提取与当前章节相关的关键要点
- 呈现给用户:我从参考资料中提取了以下要点,你看哪些要纳入本章?
提问策略:
- - 用户回答充足时主动推进,不过度追问
- 回答简短时,用你的意思是……对吗?引导展开
- 技术性内容提供选项或示例帮助表达
Step B: 编写
- - 严格按文档定义的风格基调
- 与已完成章节保持术语和语气一致
- 合理运用段落、列表、表格、Mermaid 图等元素
- 写入文档文件的对应位置
Step C: 审计
角色切换:审计前进行强制身份转换——以另一家公司的资深文档顾问、初次阅读本文的视角审视内容。这不是走过场,你的任务是真正找出问题。
审计深度:
| 章节体量 | 审计方式 |
|---|
| < 300 字 | 快审:只查逻辑严谨性 + 完整性 |
| ≥ 300 字 |
完整审:逻辑严谨性 + 完整性 + 读者视角 + 风格一致性 |
硬性要求:无论快审还是完整审,必须至少提出 1 个具体可改进点。如果确实找不到问题,说明审视的角度(我从XX角度审视,没有发现问题)而不是简单地全部打勾。
审计输出格式:
审计意见(第X章)
- - ✅ 逻辑严谨性:论证完整,因果链清晰
- ⚠️ 完整性:建议补充 XX 方面的说明
- ✅ 读者视角:专业度适中
- 💡 改进建议:第2段显著提升可量化为具体数据
Step D: 确认
- - 呈现审计意见和改进建议
- 用户可以:接受并继续 / 要求修改 / 提出额外意见
- 修改后回到 Step C 重新审计
- 确认通过,更新状态文件,进入下一章
粒度控制
- - 短章节(< 500 字预期):整章完成后审计
- 长章节(> 500 字或有多个小节):按小节拆分,每小节走完整循环
- 主动告知拆分策略并征求同意
中断指令
用户在 Chapter Loop 中可随时发出以下指令:
| 指令 | 行为 |
|---|
| 跳过这章 | 标记为「已跳过」,进入下一章,后续可回填 |
| 回到第X章 |
回退到指定章节,重新进入采集或编写步骤 |
| 插入新章节 | 暂停当前章节,更新大纲和 Checklist,插入后继续 |
| 调整大纲 | 暂停编写,回到大纲讨论,调整确认后从变更处继续 |
| 切换模式 | 在精细/批量/草稿模式之间切换 |
| 查看进度 | 展示完整 Checklist |
收到中断指令后,先确认理解,执行操作,更新状态文件,再继续工作。
阶段三: