SPEC BASELINE

源代码与设计文档一致性检查

我们逐条比对设计意图与实现之间的偏离,并附上两侧的原文。

OUTPUT #1
比对基准的设计文档

读取源代码,按原有设计文档相同的章节结构与格式,做出一份用作比对基准的设计文档。内容以代码为准,原有的设计文档只用来锚定格式;返还为 Markdown,可以按行比对。

OUTPUT #2
差异验证报告

查出设计文档与代码运行情况不一致之处,同时引用两侧原文,并判定严重度(高、中、低)、确信度及应由哪一侧修正。

领域

品质保证(成果物是否正确,用证据说明)

适用对象

正在运行的业务系统(已有 Java / Spring Boot / MyBatis / Thymeleaf 架构的实测案例)

关键词
全量比对两侧原文为证严重度与定责生成与验证分离
01 ISSUE

不专门去找就不会暴露的偏离

每次改造都可能让实现偏离一点,系统却照样运行、测试照样通过 —— 不构成故障,也就没有察觉的机会。找不出来不是因为不够仔细,而是下面三件事叠在了一起。

WHY 01
偏离了也照样运行

流程照走,测试照过,不会作为故障暴露出来。

WHY 02
两边的形式对不上

文档的记述与代码,直接摆在一起比不了。

WHY 03
看全部所需的工时出不来

几十万行规模的代码,靠人力追不完。

02 PROCESS

AI 与资深工程师的分工

程序控制执行顺序与重试,AI 只负责生成与验证;资深工程师只确认判断有分歧的内容和抽检部分。

STEP 01 解析格式 章节结构、列的构成 STEP 02 解析代码 自界面至 SQL 逐层 STEP 03 生成设计文档 + 记录差异 AI 自查 证据与覆盖度 可就地修正的当即修正 品质判定 合格、需返工、例外 STEP 04 资深工程师评审 仅例外、高风险、抽检 STEP 05 定责与严重度 应由哪一侧修正 提交 设计文档 + 差异验证报告 需返工 ── 由 AI 修正后重新生成,无需人工介入 指摘 ── 撤回或改写记述 合格(低风险) 例外、高风险 评审结果进入下一次的生成条件 ── 同类漏检逐次减少 AI 承担 人来判断 对外交付的成果物 机器拦下的关卡

我们只接收源代码与原有设计文档的样本,不连接正在运行的系统,也不连接数据库。机器读取原有设计文档,只把章节、列与行的框架交给 AI,不把文档正文交给 AI。

生成与验证分别由两个 AI 完成,验证使用另一个会话和另一套引擎。机器只判定格式与证据,结论是否成立不纳入机器的合格判定,以免 AI 通过减少指摘来过关。判断有分歧、影响较大以及抽检的部分,由资深工程师确认。内容确定后,再判定责任归属与严重度。

03 STRENGTH

覆盖到每一行、每处差异都有原文为证的比对

只靠人力,工期会随规模拉长;直接交给 AI,结论又没有依据。为了避开这两点,我们事先定好了比对的框架,也定好了证据怎么出示。

POINT 01
比的不是人注意到的部分,而是框架里的每一行

比对的单位,是从原本中取出的框架 —— 章节、列与行。框架内的每一行,我们都会把文档侧的记述与代码侧的事实对照一遍,只有对不上的行才作为差异留下来。

读代码这件事不再占用人的工时,因此几十万行规模也能走完一遍,不会出现“没去找,所以没查出来”。

把从原本中取出的框架逐行与文档侧的记述、代码侧的事实相核对,只有对不上的行才作为差异留下来的图
POINT 02
每一处差异,都引用两侧的原文

一处差异会同时带上文档侧的出处(工作表名与单元格编号)与代码侧的出处(文件名与行号),两侧原文均原样引用。读的人可以当场打开这两处,自己判断这一条是否成立。

除严重度与确信度之外,还会判定应由哪一侧修正;仅凭现有信息定不下来的,不作断言,而是作为“待确认”保留。

一处差异上,文档侧与代码侧的出处和原文成对出现,并附有严重度、确信度与定责判定的图
POINT 03
不依赖特定语言专用的工具

不依靠各语言的解析器,因此公司自研语言、各类定义文件、代码生成器的输出与旧世代的 4GL 也都在范围之内。

只要层结构与格式能够对应,即可沿用同一套步骤。对于清单中未列出的语言,也可根据少量代码判断是否适用。

各类语言的源代码,只要层结构与格式能够对应,即可沿用同一套步骤的图
适用的前提
文档不齐也能做,而且不触碰生产环境即可着手

有 1 种样本即可整理出规范;若一份都没有留存,则由我们先从格式与实现定下比对的骨架。

我们接收的只有源代码,既不连接正在运行的系统也不连接数据库,因此对运行没有影响,带出的范围也很明确。

客户无需事先准备任何材料。

做不到的事
代码中没有写明的内容,无法比对

由于比对的材料全部取自代码,运维步骤、与外部系统之间的约定这类不会出现在代码中的内容,不在范围之内;环境变量这类仅在运行时才确定的值,同样不在范围之内。

仅凭现有信息无法判定应由哪一侧修正的差异会保留下来。下面这次实测中,101 处里有 14 处属于此类 —— 我们不作推测、不下断言,而是作为“待确认”返还。

本页的服务范围限于制作比对基准、验证差异,以及判定严重度与责任归属。影响分析、修正方案和测试着眼点的展开,需另行商定范围。每次变更都自动重新验证的“持续保证”仍属构想,目前不提供。

04 RESULT

在约 52 万行的系统上检出的件数

这是在 1 个项目上实施的结果。对象为 Java / Spring Boot 架构、约 52 万行的在运行系统;件数全部为实际输出值,案例已做匿名化。

比对基准的设计文档,与检出的差异

比对基准的设计文档 差异 高 差异 中 差异 低 差异 合计
8 份134642101

于 2026 年度实施,成果物已通过客户验收。件数为实际输出值。

应由哪一侧修正(全部 101 处的分布)

每一处都会判定应由哪一侧修正;无法判定的不作推测,而是作为“待确认”保留。

50 代码有误
14 待确认
37 设计文档有误
代码有误 ── 设计文档正确,需要修正代码一侧 待确认 ── 仅凭现有信息无法判断的部分 设计文档有误 ── 代码正确,文档的记述过时或有误

本次实施得到的成果

8 份
可用作比对基准的设计文档 —— 运维、交接与改造排查的共同基准。
101 处
肉眼难以发现的差异 —— 两侧原文一并引用,列成清单。
13 处
数据缺失、误登记与未实现 —— 放置不管会影响真实数据的部分,已提前定位。
全部 101 处
应由哪一侧修正已判定完毕 —— 可直接作为改造对象清单使用。

NEXT

咨询请联络相关负责人。

只要指定一个对象,我们就会展示对应的成果物及验证报告。

可以直接查看实际系统的输出,判断这套方式是否有效。

查看联系方式 →

只需告知选定哪一个对象,即可开始。