让 AI 精准修改 Word 并保留原有格式
让模型输出绑定到段落、表格单元格或占位符的局部修改,再通过文档库应用到原文件。文章解释 DOCX 文本分段带来的格式风险,并建议保存或发送前提供修改对照供人工审核。
AI 深度解读
让 AI 修改现有 Word 文档,难点往往不在改对一句话,而在保住用户已经调好的格式和手工修改。作者给出的结论很明确:让模型提交修改清单,由程序定位并应用到原文件,再交给人审核,不要让模型重新生成整份 DOCX。
这套思路适合用 n8n、Make 搭建文档自动化的人,也适合正在给业务系统接入 AI 编辑能力的程序员。不过,原文提供的是流程建议,没有给出格式保真率或工具对比实测。
为什么只改三个字,也可能弄丢整段格式
DOCX 是一个装着 XML 的 ZIP 文件。屏幕上看起来完整的一句话,内部可能拆成多个文本片段(run),分别带着字体、加粗或修订标记。
模型拿到纯文本后重建文档,就无法保留那些没有进入输入的信息,包括样式、编号、页眉、批注和用户自己的编辑。即使没有重建整份文件,只为修改三个词而替换整个段落,也可能重置其他文字的格式。
修改范围越小,保住原有格式的机会越大。
作者建议尽量修改已有 run 内的文字;修改表格时,也应写入现有单元格,而不是重新创建表格。不过,原文没有展开:当待替换文字跨越多个 run 时,具体该怎样处理。流程方向清楚,复杂文档的实现细节仍需补齐。
怎样让模型的修改可定位、可拒绝、可审核
先从原文档提取可以定位的内容:段落编号与文字、表格和单元格位置与文字,以及 {{client_name}} 这样的占位符,同时保留原文件。
接着要求模型返回 {location, old_text, new_text, reason} 这样的 JSON 修改项,分别表达位置、原文、新文和修改理由。这里最关键的是 old_text:它必须与指定位置的当前文字完全一致。
如果匹配不上,就跳过并标记,不能猜测用户想改哪里。用户可能在内容提取之后又编辑了文档,继续套用旧建议,就可能覆盖用户的新内容。
这项校验能发现目标文字发生变化,但原文没有给出完整的并发控制方案。匹配失败也不能直接认定是用户修改,仍需人工确认原因。
应用修改后保存为新版本,保留原件。发送、签署或发布之前,再安排人工审核。审核者应同时看到三样东西:
- 每条修改的内容和理由。
- 修订标记或修改前后对照。
- 因文字不匹配而跳过的项目。
其中第三项很容易漏掉。只展示成功修改,会让审核者误以为所有建议都已执行。对照可以使用 Word 的 Compare 功能,也可以输出修订记录,但原文没有说明这些能力如何与各个工具逐一衔接。
n8n、Make 和模板引擎该怎么选
作者给了三条路线,适用条件不同。
已有 DOCX 需要局部修改时,可以通过 Python 的 python-docx 读取段落、run 和单元格,再操作原有结构。原文建议放在 n8n Code node 或一个小型服务中,但没有交代运行环境、依赖安装和部署条件,不能直接当作即插即用方案。
如果文档模板由团队控制,JavaScript 的 docxtemplater 更贴近需求:模型只填写占位符,布局由模板负责。对固定合同、通知等文档,这能直接减少模型接触格式结构的机会。
如果团队接受 Google Docs,作者认为它更方便。Make 和 n8n 都有相关模块,可以替换已有文档中的文字,Google Docs 则保留版本历史。作者还描述了一条 Make 流程:用 iterator 遍历修改项,跳过原文不匹配的项目,再进入 Google Docs 的「replace text」步骤,最后发送审批消息。
原文称可以用 Make free plan 尝试,但没有提供额度、文档规模或完整配置。标题中的 2026 也没有对应具体版本说明。
我的判断
我认同把模型限制在「提出修改」这个环节。定位、匹配、应用、留存版本交给确定性的程序,审核者就能检查每一步,而不是只收到一份看似正常的新文件。
但「在原结构中编辑」不等于已经证明格式不会变化。原文没有展示复杂表格、跨 run 替换或已有修订记录的验证结果,也没有给出与整段替换的对照数据。这是一套合理的工程经验,不能据此承诺所有 DOCX 都能无损修改。
选择工具时,先看文档是否可控。可控模板优先考虑占位符;必须接收用户上传的任意 DOCX,才需要承担精细定位和格式处理的复杂度。换成 Google Docs 可以简化协作流程,但原文没有验证 DOCX 导入导出的格式保真情况。
另外,作者披露部分链接包含推广佣金,工具推荐可以参考,不能作为效果证据。
能拿来做什么
- 给 Node 或 n8n 文档流程定义修改项结构,要求每项包含
location、old_text、new_text、reason,并在执行前检查原文是否完全匹配。 - 按作者建议准备一个验收样例:在合同条款中加粗一个词,再让流程修改同一句中的另一个词,检查加粗是否保留,用它排查整段替换问题。
- 对团队控制的固定文档,优先评估
docxtemplater占位符方案,让 AI 专注填写内容。 - 把审批放在发送、签署或发布之前,同时展示修改理由、前后对照和跳过项目,并保留原文件及新版本。