360 Secure SkillHub
360 安全技能中心

ym-doc-version-diff

比对同一份文档的新旧两版,按结构对齐后逐处标注新增、删除、修改、位置移动和格式调整;对实质修改给出旧值与新值对照,并列出需重点复核的高风险改动,输出 Markdown 核对报告。

liuyuming0823
liuyuming0823
热度 16.09
最近更新 2026-09-19 01:51:48
分类:效率依赖:纯提示词应用场景:校对润色 / 法律文档 / 报告撰写 / 模板 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ym-doc-version-diff
Metadata
name
ym-doc-version-diff
slug
ym-doc-version-diff
display_name
文档版本变更核对
display_name_en
Doc Version Diff
displayName
文档版本变更核对
description
比对同一份文档的两个版本,逐处标出增删改与位置移动,区分实质性修改与纯格式措辞调整,并提示需要复核的高风险改动。当用户说「这两版文档有啥区别」「改了哪里」「版本对比」时使用。 也适用于「文档版本对比」「两版区别」「修订核对」「doc diff」这类说法。
description_zh
逐处比对两个文档版本,区分实质改动与格式调整
description_en
Diff two document versions and separate real edits from cosmetic changes
summary
逐处比对两个文档版本,区分实质改动与格式调整
category
office-efficiency
version
0.1.0
author
刘玉明
tags
["文档版本对比","改了哪里","两版区别","修订核对","doc diff"]
trigger
["文档版本对比","改了哪里","两版区别","修订核对","doc diff"]
agent_created
true

文档版本变更核对 (ym-doc-version-diff)

把两版文档逐处比出来,不只回答"有没有改",而是标出每处增删改与位置移动,并区分实质性修改(数字/日期/金额/主体/范围/义务/条件变了)和纯格式调整(同义替换/标点/换行/大小写/空格)。实质性改动必须给出"旧值 → 新值"对照,高风险字段单独列出来让你复核。

何时使用

  • 用户说「这两版有什么区别」「改了哪里」「版本对比」「修订核对」「doc diff」时
  • 用户贴出同一份合同/方案/制度/需求文档的新旧两版,问"改了什么"时
  • 用户需要在签版、归档、评审前确认两版差异时

运行前提

  • 依赖:无第三方依赖,纯文本处理
  • 不读取任何本地文件,除非用户明确给出可读路径
  • 不联网、不上传任何文档内容

输入契约

项 必需 说明
旧版本文本 必需(二选一) 文档旧版,可贴文本,也可给可读文件路径
新版本文本 必需(二选一) 文档新版,可贴文本,也可给可读文件路径
关注重点 可选 如数字、日期、责任主体、金额、条款编号;默认全量核对
是否忽略格式差异 可选 默认不忽略,格式差异单列;若设为忽略则不展开格式节

缺失处理:

  • 只给一个版本 → 明确说明无法对比,请同时提供另一版
  • 只给文件路径且当前环境读不到 → 请用户直接粘贴文本,不臆测内容
  • 文档过长(任一版 > 2 万字)→ 先按章节/条款分块比对再汇总,并在报告开头注明"已分段比对"
  • 两版结构差异极大(章节被重排)→ 先说明对齐方式,再出清单,不强行逐段对应

执行步骤

  1. 建立结构锚点 — 按标题层级、条款编号或段落序号把两版内容对齐。先判断整体:是否有整段新增或删除、章节是否被重排。结构无法逐段对齐时,在第 1 步就说明采用的对齐策略(如"按条款编号对齐"或"按语义段落对齐")。

  2. 逐处标注五类变更 — 对每一处差异标为以下之一:新增 / 删除 / 修改 / 位置移动 / 仅格式或措辞调整。位置移动需注明"从第 X 移到第 Y",不计入修改。

  3. 判定实质性修改 — 对"修改"类,按 references/实质判定对照表.md 判定:改变数字、日期、金额、主体、范围、义务、条件之一即为实质性修改;仅同义替换、标点、换行、大小写、空格为格式调整。判定规则见该表,不得凭感觉。

  4. 给出旧值 → 新值对照 — 凡实质性修改,必须写出具体旧值与新值(如"违约金 10% → 15%"),不允许只写"该条款有改动"。找不到原值时标注"旧值未在上版定位到"。

  5. 标记高风险字段 — 涉及金额、日期、责任主体、违约条款、排他条款、期限任一项的改动,单独列入"需重点复核"清单,并标注它属于哪一类高风险。

  6. 自检 — 输出前逐条核对:实质性改动是否都带了旧值新值?格式调整有没有混进实质性清单?高风险项是否全部进复核清单?是否出现了对改动原因/好坏的评价(不应出现)?

输出格式

Markdown,套用 templates/diff-report-template.md:

## 一、对齐方式说明
[两版如何对齐,是否分段,结构是否有重排]

## 二、变更总览表
| 序号 | 类型 | 位置 | 旧值 | 新值 | 是否实质 | 风险级别 |
|------|------|------|------|------|----------|----------|
| 1 | 修改 | 第 3.2 条 | 10 万元 | 12 万元 | 是 | 高 |

## 三、需重点复核
- [涉及金额/日期/责任主体/违约/排他/期限的实质改动,逐条列]

## 四、纯格式调整
[可折叠,仅列数量与位置,如"共 8 处:第 2 段换行、第 5 条标点……"]

能力边界

  • 不做 .docx/.pdf 的二进制解析;环境不支持读取时要求用户粘贴文本
  • 不做语义级合规审查,不判断改动是否合法或合理
  • 不自动生成修订版文档或合并文档
  • 不推测"为什么改""改得好不好",只做客观核对
  • 不跨次存储比对结果

常见坑

  1. 把格式调整算成实质修改 — 现象:仅"的/了"增删、标点变化被标成实质修改,吓到用户。原因:没套判定表就下结论。规避:对照 references/实质判定对照表.md,只有数字/日期/金额/主体/范围/义务/条件变化才算实质。
  2. 实质修改只写"有改动"没给旧值新值 — 现象:清单里写"金额条款已修改",用户仍要翻原稿。原因:第 4 步没执行。规避:每条实质修改强制带"旧值 → 新值",缺值就标注未定位。
  3. 高风险字段漏进格式节 — 现象:违约比例从 10% 改 15% 被当成格式调整。原因:没走第 5 步高风险扫描。规避:所有金额/日期/主体/违约/排他/期限改动先过一遍高风险清单再归类。
  4. 结构重排时强行逐段对应 — 现象:章节被移动后,把"位置变了"误判成"内容删了又新增"。原因:未先说明对齐方式。规避:第 1 步先定对齐策略,位置移动单独标注,不与增删混。
  5. 顺手评价改动好坏 — 现象:写"这个改动对客户更有利"。原因:偏离"只核对不评价"约束。规避:输出里删掉一切评价性措辞,只陈述差异。
  6. 一长段里夹一处实质改动被整段忽略 — 现象:一大段只改了一个数字,模型整段标"无变化"。原因:逐段粗比对。规避:对长段落拆句/拆条款比对,尤其盯着数字、日期、金额。

验收用例

  • 正常:两版合同,金额 10 万 → 12 万 → 标为实质性修改并给"10 万元 → 12 万元"对照,进高风险清单
  • 边界 1:仅换行和"的/了"等措辞差异 → 归入格式调整,不计入实质修改总数
  • 边界 2:新增一整个章节 → 标为"新增",说明插入位置(如"置于第 4 章之后")
  • 失败:只提供一版 → 明确拒绝对比,说明需要另一版

目录说明

  • references/ — 实质性判定对照表、高风险字段清单
  • templates/ — 变更核对报告模板