工作流实战:代码审查、文档生成、数据整理

三个最能立刻见效的工作流:把 diff 变成分级意见、把代码和需求变成结构文档、把脏表变成干净表和结论。每个案例都给完整提示词、检查点和输出物格式,照着改改就能用。共同点是输入要先固定、输出要先定义,否则每次都靠运气。

案例一:代码审查(拉 diff → 检查清单 → 分级意见)

先把范围固化:只看这次改了什么,不要让模型自由翻整个仓库。

git fetch origin main
git diff --stat origin/main...HEAD          # 先看改了哪些文件、多少行
git diff origin/main...HEAD > /tmp/review.diff   # 导出补丁,作为唯一输入
wc -l /tmp/review.diff                      # 超过几百行就分批审查

意见必须分级,否则你会收到二十条「建议加注释」把真问题淹掉:

级别含义处理要求
阻断会导致数据错误、安全问题、线上故障必须改完才能合并
重要逻辑缺陷、异常漏处理、性能明显退化建议本次改掉
提示命名、结构、可读性可记录到后续优化
你是一名严格的代码审查者。输入是 /tmp/review.diff,只审查这个补丁。
按下面的检查清单逐项过一遍,每条都要给出「有问题 / 无问题 / 无法判断」:
1) 正确性:边界值、空值、并发、时区与精度;
2) 错误处理:异常是否被吞掉、失败是否可重试、超时是否有兜底;
3) 安全:输入校验、SQL 拼接、越权访问、日志是否打印了敏感信息;
4) 兼容性:接口字段变更是否向后兼容、数据库变更是否可回滚;
5) 测试:新增逻辑有没有对应测试,测试是否只覆盖了顺利路径;
6) 可维护性:命名、重复代码、过长的函数。
输出格式:一张表,列 = 级别(阻断/重要/提示) | 文件与行号 | 问题 | 依据 | 建议改法。
规则:
- 每条意见必须引用具体行号与代码片段,没看到证据就不要写;
- 不要给「加注释」「加日志」这类无信息量的建议;
- 你认为没问题但需要人工确认的,单独列一节「需要作者确认」;
- 最后给出结论:可以直接合并 / 修改后合并 / 需要重新设计,并说明理由。
不要修改任何文件,只输出意见。

检查点:审查意见是建议,不是命令。合并前逐条判断,别为了「清零意见」而机械照改。

案例二:文档生成(读代码/需求 → 结构化文档)

先定输出骨架,再让它填空,这是文档能否被复用的关键。

输入输出结构验收标准
服务代码 + 配置文件概览、对外接口、数据模型、依赖、部署要点接口字段与代码一致,无凭空想象
需求文档 + 旧版说明背景、目标、范围、流程、验收标准、未决问题每条需求都能追溯到原文
事故复盘记录时间线、影响面、根因、处置、改进项根因与改进项一一对应
读这个目录下的服务代码(只看这些文件,不要看仓库其它部分),产出一份新人上手文档。
输出结构固定为六节:
1) 这个服务做什么:三句话以内,说明业务职责与不做什么;
2) 对外接口:一张表,列 = 方法 | 路径 | 入参 | 出参 | 错误码 | 调用方;
3) 数据模型:每张表一段,字段、含义、关键索引、数据量级(读不到就写「未知」);
4) 依赖:下游服务、缓存、消息队列、第三方,注明超时与重试配置;
5) 部署与配置:需要哪些环境变量、有哪些开关、默认值是什么;
6) 风险与坑:从代码里能看出来的隐患,每条附文件与行号。
规则:
- 只写你在代码里真实看到的,猜的一律标「需确认」;
- 接口与字段名原样照抄,不要改写、不要美化;
- 不要写「本服务采用先进架构」这类没有信息量的话。
输出:Markdown,写到 docs/onboarding/<服务名>.md,并附一段「本次没写清的部分」清单。

检查点:字段名与错误码必须回代码复核。文档里错一个字段,后面所有调用方都会错。

案例三:数据整理(表格清洗 → 汇总 → 图表建议)

数据活的第一步永远是先描述现状,再谈清洗。

输入是附件里的表格。请按四步处理,每一步的输出都保留:
第一步 体检:给出一张表,列 = 字段名 | 类型推断 | 缺失率 | 唯一值个数 | 示例值(最多3个);
第二步 清洗:列出你建议的清洗规则与影响行数,规则包括——
  - 去除首尾空格、统一全角半角;
  - 日期统一为 YYYY-MM-DD,无法解析的单独列出,不要瞎猜;
  - 数值字段里混入的单位、千分位、百分号如何处理;
  - 重复行如何判定(说明依据哪几列),保留哪一条;
  - 缺失值分别处理:能确定的补上,不能确定的留空并标记。
  这一步只输出规则与影响行数,等我确认后再执行;
第三步 汇总:按「地区」「月份」两个维度做汇总,给出总行数与金额合计,
  并列出金额最高与最低的 5 条明细;
第四步 图表建议:给 3 个图表方案,每个写清:图表类型 | X 轴 | Y 轴 | 想回答的问题 |
  你判断的适用性。不要直接画图。
约束:不要删除原始表,清洗结果另存为新表;任何无法确定的取值一律标记而不是填充。
清洗动作安全做法危险做法
去重先输出重复行清单与判定依据直接按整行去重删掉
补缺失只补可推导的(如单位换算)用平均值填满缺失
类型转换先统计转换失败条数转换失败静默丢弃
单位统一保留原列,新增标准化列覆盖原列导致不可回溯

检查点:清洗规则确认后才允许改数据,并保留原始表与一份「被改了什么」的清单。

三个案例共用的检查点

位置停下来做什么要拿到什么
输入固定后确认范围,避免它自作主张扩大文件清单与总行数
分析完成后确认发现的问题是真的带行号/字段名的证据
写入之前确认影响面与回滚办法变更清单 + 备份路径
交付之前确认输出格式与不确定项交付物 + 「不确定清单」

常见坑

后果规避
让它审查整个仓库意见泛泛而谈只喂 diff,并限定行数
意见不分级关键问题被淹没强制分阻断/重要/提示
文档让它自由发挥编出并不存在的接口只让写读到的,猜的标「需确认」
清洗直接改原表出错无法回溯另存新表 + 保留原表
跳过检查点求快错误一路带到交付物范围、写入、交付三处必停

小结:三个工作流的结构完全一样——先把输入固定成一个可指认的对象(diff、代码目录、表格),再定义输出物格式,再设范围确认、写入前、交付前三处检查点;AI 出草稿与证据,你判断真假并负责结论。

笔记加载中…