用 Claude Opus 4.8 拆一份“没人敢改”的历史技术方案
文章摘要:本文以一次内部审批系统权限模型改造为例,复盘如何用 Claude Opus 4.8 辅助梳理历史技术方案、接口文档、数据库变更记录、缺陷复盘和会议纪要。文章强调不要一开始就让模型直接总结或生成方案,而应先建立文档索引、定位规则来源、识别冲突与缺口,再拆解研发任务、产品确认项和回归测试矩阵。同时提醒技术文档、代码片段和业务资料必须脱敏,模型输出也需人工复核,适合作为老系统改造前的文档侦查流程。
有些技术债不是没人想还,而是没人敢先动。前段时间我们准备改一个内部审批系统的权限模型,老方案文档加起来有十几份:早期设计、接口说明、数据库变更记录、线上问题复盘、测试补充说明,还有几段散落在群里的“临时规则”。最尴尬的是,真正熟悉这块的人已经转岗,留下来的开发只知道“别轻易改”。
我最初以为,让 Claude Opus 4.8 读完这些文档,帮忙总结一下就够了。后来发现,长文档理解不是“压缩成摘要”这么简单,真正有价值的是把冲突、遗漏、隐含规则和验证点挖出来。为了方便同一批材料在不同模型里复跑,我把测试放在一个可切换 ChatGPT、Claude、Gemini、Grok 等模型的统一模型调用环境里完成:https://ouai.me,主要用来对比不同模型在长文档理解、任务拆解和代码辅助上的输出差异。
这篇文章记录的是一次偏工程化的实践:国内开发者、产品经理、测试同学,如何用 Claude Opus 4.8 辅助梳理历史技术文档,把“看不懂、不敢改、没人确认”的需求,拆成可评审、可开发、可测试的改造清单。它不是模型测评,也不是说 AI 能替代架构师,重点是:把 Claude 放在合适的位置上。

一开始的误区:让模型直接总结全部文档
我第一次的 Prompt 很简单:
请阅读下面这些历史技术方案,帮我总结权限模型的设计逻辑。
Claude 的输出看起来很完整,甚至分了“角色、菜单、数据权限、审批流权限”几个小节。但仔细看会发现,它把一些历史阶段的规则混在了一起:
- 早期文档里说“角色绑定菜单”;
- 后来的补充说明里说“岗位继承角色”;
- 线上复盘里又提到“临时授权可以绕过岗位限制”;
- 测试说明中还有“部门负责人默认拥有审批权限”的特殊规则。
如果只是生成摘要,很容易把这些规则揉成一个看似统一、实则危险的结论。历史系统最怕这种“通顺但不准确”的整理。
所以后面我换了思路:不让 Claude 先总结,而是先让它做证据定位和冲突识别。
核心模块一:先建立文档索引,而不是直接问结论
处理长文档时,我会先把资料按来源拆成几个部分:
| 文档类型 | 内容 | 风险 |
|---|---|---|
| 原始设计文档 | 初版权限模型、核心表结构 | 可能过时 |
| 接口文档 | 权限查询、授权、审批接口 | 可能与实现不一致 |
| 数据库变更记录 | 字段新增、索引调整、历史兼容 | 容易遗漏上下文 |
| 缺陷复盘 | 线上权限异常、修复说明 | 往往包含真实规则 |
| 测试用例 | 边界场景、回归范围 | 能暴露隐含约束 |
| 会议纪要 | 业务临时决策 | 表述容易模糊 |
第一轮 Prompt 不问“最终方案是什么”,只让模型生成索引:
你是一个技术文档分析助手。
请阅读下面的脱敏文档片段,只做文档索引,不要下最终结论。
输出:
1. 每份文档涉及的模块;
2. 明确出现的业务规则;
3. 可能已经过时的规则;
4. 与其他文档可能冲突的地方;
5. 需要回到代码或数据库确认的点。
要求:
- 不要补充材料中没有的信息;
- 每条规则标注文档来源;
- 对不确定内容写“待确认”。
这一步产出的不是漂亮总结,而是一张有点“啰嗦”的索引表。但它很实用,因为团队终于能看到:哪些规则来自设计稿,哪些来自线上事故修复,哪些只是会议里的口头补丁。
示例输出整理后类似这样:
| 规则 | 来源 | 状态 | 待确认 |
|---|---|---|---|
| 用户通过角色获得菜单权限 | 初版设计文档 | 可能仍有效 | 需查当前表结构 |
| 岗位可继承角色权限 | 二期改造说明 | 需确认 | 与初版设计存在差异 |
| 临时授权优先级高于岗位权限 | 线上问题复盘 | 高风险规则 | 需查代码实现 |
| 部门负责人默认可审批 | 测试补充说明 | 隐含业务规则 | 需业务确认是否保留 |
核心模块二:让 Claude 专门找“冲突”和“缺口”
很多历史方案的风险,不在已写明的规则,而在互相打架的地方。比如一个文档写“角色决定菜单”,另一个文档写“审批权限由岗位决定”,第三个文档又说“管理员可以临时授权”。如果不把优先级讲清楚,重构时一定会出问题。
第二轮我会给 Claude 一个更窄的任务:
请只分析下面文档索引中的冲突和缺口。
重点检查:
1. 权限来源是否冲突;
2. 权限优先级是否缺失;
3. 是否存在历史兼容规则;
4. 是否有测试用例覆盖不到的边界;
5. 哪些问题必须在开发前确认。
输出表格:
问题 | 涉及规则 | 风险等级 | 可能影响 | 建议确认方式
这一轮通常能得到更有价值的东西:
| 问题 | 涉及规则 | 风险等级 | 可能影响 | 建议确认方式 |
|---|---|---|---|---|
| 角色、岗位、临时授权优先级不明确 | 菜单权限、审批权限 | 高 | 用户权限多算或少算 | 查代码 + 业务确认 |
| 部门负责人默认审批规则来源不稳定 | 审批流权限 | 中 | 部门变更后审批异常 | 查历史缺陷和测试数据 |
| 临时授权过期逻辑未写清 | 授权规则 | 高 | 权限无法及时回收 | 查定时任务和授权表 |
| 权限缓存刷新时机缺失 | 接口性能说明 | 中 | 改权限后不生效 | 查缓存实现和运维记录 |
这种表格比“系统采用 RBAC 模型”有用得多。因为它直接告诉开发:哪些地方不能凭经验改,哪些地方需要查代码,哪些地方要找业务拍板。
核心模块三:把文档结论转成改造任务,而不是停在摘要
文档梳理完成后,下一步是把结论变成研发能执行的任务。这里我会让 Claude 输出“任务拆解”,但要求它区分确定项和待确认项。
Prompt 示例:
请基于已整理的规则、冲突和待确认问题,生成权限模型改造任务拆解。
要求:
1. 区分研发任务、测试任务、产品确认任务;
2. 不要把待确认内容写成已确定需求;
3. 每个任务给出验收标准;
4. 标记前置依赖;
5. 输出适合放入迭代计划的表格。
示例结果:
| 任务 | 角色 | 前置依赖 | 验收标准 |
|---|---|---|---|
| 梳理当前权限表结构和字段含义 | 后端开发 | 数据库只读权限 | 输出字段说明和关联关系 |
| 确认权限优先级规则 | 产品/业务 | 历史规则清单 | 明确角色、岗位、临时授权优先级 |
| 增加临时授权过期校验 | 后端开发 | 确认过期规则 | 过期后权限不可继续生效 |
| 补充权限缓存刷新测试 | 测试工程师 | 缓存刷新机制明确 | 改权限后缓存按预期失效 |
| 回归部门负责人审批场景 | 测试工程师 | 组织架构测试数据 | 部门调整后审批权限正确 |
这一步很适合 Claude 的长上下文能力:它能把前面零散的规则、冲突和风险重新组织成任务。但最终任务是否进入迭代,还要由研发负责人判断工作量和优先级。
辅助模块一:用代码片段验证文档是否过时
历史文档经常和代码不一致。我的做法不是把整个仓库都丢给模型,而是先人工定位关键类或方法,再提供脱敏片段,让 Claude 帮忙做“文档-代码对照”。
例如权限判断方法可以抽象成这样:
public boolean hasApprovePermission(User user, ApplyForm form) {
if (temporaryGrantService.hasValidGrant(user.getId(), form.getType())) {
return true;
}
if (roleService.hasRolePermission(user.getId(), "APPROVE")) {
return true;
}
return departmentService.isManager(user.getId(), form.getDeptId());
}
Prompt:
请对照下面的权限规则文档和代码片段,找出一致、不一致和文档未覆盖的逻辑。
要求:
1. 不要评价代码质量;
2. 只分析规则差异;
3. 标出代码中体现的权限优先级;
4. 输出需要补充到技术文档中的内容。
这类分析经常能发现:文档说角色优先,代码实际先判断临时授权;文档没写部门负责人兜底,代码里却保留了这个逻辑。对老系统来说,这些发现比单纯重写文档更重要。
辅助模块二:把会议纪要改造成可评审决策
权限模型改造一定会牵涉业务方。会议纪要如果只是写“确认按新规则执行”,后面还是会扯皮。我会让 Claude 把会议记录整理成决策表:
请把下面会议纪要整理成可评审的决策清单。
输出字段:
决策项 | 当前结论 | 影响范围 | 未决问题 | 责任人 | 截止时间
要求:
- 模糊表达不要强行确定;
- 对“后续再看”“暂时这样”标记风险;
- 不要加入会议中没有出现的新结论。
整理后的表格更适合放进需求单:
| 决策项 | 当前结论 | 影响范围 | 未决问题 |
|---|---|---|---|
| 临时授权优先级 | 高于岗位和角色 | 审批权限判断 | 是否限制授权范围 |
| 部门负责人审批 | 保留 | 组织架构相关审批 | 部门变更后是否立即生效 |
| 权限缓存刷新 | 改权限后主动刷新 | 权限查询接口 | 是否需要兼容旧缓存 |
| 历史数据迁移 | 分批处理 | 老用户权限 | 迁移失败回滚方案待定 |
这个动作看似简单,但能明显减少“会议上好像说过”的不确定性。
辅助模块三:生成回归测试矩阵
权限系统最怕只测正常路径。文档梳理完后,我会让 Claude 生成测试矩阵,但要求它绑定规则来源。
Prompt:
请基于权限规则清单生成回归测试矩阵。
要求:
1. 覆盖角色、岗位、临时授权、部门负责人、缓存刷新;
2. 每个测试点关联对应规则;
3. 标记高风险用例;
4. 给出必要的测试数据准备说明;
5. 不要生成泛泛的“功能正常”。
示例:
| 场景 | 测试点 | 关联规则 | 风险 |
|---|---|---|---|
| 临时授权 | 授权未过期时可审批 | 临时授权优先级最高 | 高 |
| 临时授权 | 授权过期后不可审批 | 授权过期规则 | 高 |
| 岗位权限 | 岗位变更后权限同步变化 | 岗位继承角色 | 中 |
| 部门负责人 | 负责人调整后审批权限变化 | 部门负责人默认审批 | 高 |
| 缓存刷新 | 修改权限后立即生效 | 权限缓存刷新 | 高 |
| 组合权限 | 同时存在角色和临时授权 | 权限优先级 | 高 |
测试同学拿到这种矩阵后,可以继续补充具体数据、接口请求和断言。AI 生成的是草稿,但比从空白开始写要快很多。
一个更稳定的 Claude Prompt 模板
如果你也要处理历史技术文档,可以从这个模板改起:
你是一个资深技术文档分析助手,任务是辅助梳理历史系统改造资料。
输入材料包括:
- 脱敏后的技术方案
- 接口说明
- 数据库变更记录
- 缺陷复盘
- 测试用例
- 会议纪要
请输出:
1. 明确规则清单,并标注来源;
2. 可能过时的规则;
3. 文档之间的冲突;
4. 缺失但必须确认的问题;
5. 需要代码或数据库验证的点;
6. 改造任务拆解;
7. 测试关注点。
限制:
- 不要编造文档中没有的规则;
- 不要把推测写成事实;
- 对不确定内容标记“待确认”;
- 重要结论必须能追溯到输入材料;
- 输出表格,便于评审。
这个模板的关键不是“让模型更聪明”,而是让它少犯工程上最危险的错误:把不确定内容说得很确定。
风险边界:公司文档不能原样丢进去
技术方案、接口文档、数据库结构、日志和会议纪要都可能包含敏感信息。我的处理原则是:
- 系统名、客户名、组织名先匿名化;
- 内网地址、账号、Token、密钥全部删除;
- 表名和字段名可按需要抽象;
- 金额、用户规模、交易量等经营数据做区间化;
- 代码片段只保留必要逻辑;
- 涉及金融、医疗、政务、合同等材料时,AI 只能辅助整理,不能做最终判断;
- 对外文档必须人工审核。
还有一点容易忽略:Claude 输出的“冲突”和“结论”本身也需要复核。尤其是长文档里出现同名概念时,模型可能把不同阶段、不同模块的规则合并。比较稳妥的做法是让它标注来源,再由人回到原文确认。
我会如何判断这次 AI 梳理是否合格
我给这类文档分析设了几个验收标准:
| 验收项 | 合格表现 |
|---|---|
| 规则可追溯 | 每条关键规则能找到来源 |
| 冲突可讨论 | 能指出哪些文档互相矛盾 |
| 待确认清晰 | 不把未决问题写成最终结论 |
| 任务可执行 | 能拆成研发、测试、产品动作 |
| 测试可落地 | 能覆盖边界和组合场景 |
| 安全可控 | 不暴露敏感代码和业务数据 |
如果输出只是“系统采用权限分层设计,建议加强测试”,基本没什么用。真正有价值的输出,应该能帮助团队少开几次无效会,少踩几个历史坑。
结尾:先让 AI 做“文档侦查员”
Claude Opus 4.8 在长文档理解、规则归纳和冲突识别上确实适合做这类工作,但它不应该直接变成架构决策者。我的建议是:先选一份低风险的历史技术方案,让 AI 做索引、找冲突、列待确认问题,再由研发、测试、产品一起评审。
不要一开始就追求“自动生成完整改造方案”。老系统的难点往往不是写代码,而是弄清楚哪些规则还有效、哪些规则已经被事故修复覆盖、哪些边界从来没人写进文档。把这些问题提前暴露出来,Claude 才真正帮到了工程团队。
更多推荐

所有评论(0)