需求文档梳理
将结构混乱、排版随意的产品需求 Word 文档,整理成结构清晰、图片完整保留的梳理版 docx,并产出"待确认问题清单"。
何时使用
- 用户发来 .docx/.doc 需求文档(需求方案、功能说明、优化方案、评审稿等),要求"整理/梳理/重排/优化结构/让它更好读"
- 用户需要将旧版、多人合写、结构跳跃的需求文档规范化后再评审或归档
三条铁律(不可违反)
- 业务语义保真:只重排结构与表达,不编造、不补全业务内容。原文没有的规则、字段、数值,一律不得自行添加;拿不准的进"待确认问题清单"。
- 图片零丢失:原文所有图片必须出现在梳理版中,且位置与原文语境对应(图片上方的说明文字归哪一节,图就归哪一节)。交付前核对:提取图片数 = 插入图片数。
- 问题显式化:模糊点、矛盾点、缺失点不静默放过,全部汇入文末"待确认问题清单",每条注明原文位置与建议确认方向。
工作流程
Step 1 提取原文(文本 + 图片)
用 python-docx 按文档流顺序提取全部内容,图片落盘并在文本流中留锚点:
python scripts/extract_docx.py <输入docx路径> <输出目录>
产物:
- <输出目录>/content.md:全文文本(标题/列表/表格已识别,图片位置以 [IMG:img_001] 锚点标记)
- <输出目录>/images/img_001.png ...:按文档顺序编号的图片
若环境中 python-docx 缺失,先 pip install python-docx。若文档是 .doc 旧格式,先转 docx(可用 LibreOffice:soffice --convert-to docx)。
Step 2 通读与诊断
通读 content.md 全文,确定:文档主题、目标读者(评审/开发/测试)、所属业务域。
然后对照 references/issue_patterns.md 的 10 类问题模式逐项扫描,记录:
- 结构问题(章节缺失、编号断层、层级混乱)
- 表达问题(长句嵌套、主谓缺失、口语化)
- 逻辑问题(前后矛盾、引用不存在的字段/表/章节、字段名前后不一致)
- 完整性问题(缺值集来源、缺异常分支、缺单位/边界)
Step 3 重构内容
对照 references/structure_template.md 的标准骨架重排章节(可按文档实际内容裁剪,不要求每个章节都有):
- 原文每个信息点(需求条目、字段、规则、数字、条件)在梳理版中必须有落位——整理一份覆盖核对清单,逐条打勾;
- 长句拆短,一句一个信息点;被动/含糊表述改为主动句(谁触发、谁处理、什么结果);
- 同一字段/对象统一命名(以文档中最正式的名称为准);
[IMG:xxx]锚点随对应内容落位;- 原文错别字:明显笔误可修正并在交付说明中列出;语义不明的不要改,记入待确认问题。
Step 4 生成梳理版 docx
python scripts/build_docx.py <梳理版md路径> <images目录> <输出docx路径>
输入 md 约定格式:#/##/### 标题层级、- 列表、| a | b | 表格、[IMG:img_001] 图片锚点。脚本自动套用标题样式、表格边框、图片居中。
文档末尾必须包含 ## 待确认问题清单 章节,每条格式:
- 【位置】原文第X节/某条目
【问题】具体描述哪里模糊/矛盾/缺失
【建议】建议向谁确认什么、或建议的补充方向
Step 5 交付
聊天回复中给出(简短,不堆过程):
1. 梳理版文件链接;
2. 结构改动摘要(合并/拆分了哪些章节、统一了哪些命名,5 条以内);
3. 待确认问题 TOP 列表(全部问题已在文档末尾,聊天里列最重要 3-8 条);
4. 图片核对结果(原文 N 张 → 梳理版 N 张)。
质量校验清单(交付前必过)
- [ ] 信息点覆盖:原文需求条目/字段/数字零遗漏(对照 Step 3 核对清单)
- [ ] 图片数量:提取数 = 插入数,且每张图的章节归属与原文一致
- [ ] 命名一致:同一字段/对象全文同一名称
- [ ] 待确认问题:每条有原文位置 + 问题描述 + 建议方向
- [ ] 无编造:梳理版中不存在原文没有的业务规则、数值、字段
参考文件
references/structure_template.md:梳理版标准章节骨架与写作规范references/issue_patterns.md:10 类常见问题模式与识别示例