「我看了一眼没变」不算证据,哈希才算。流程只有三步:跑之前记指纹、跑、跑完再记一次对比。
配方指令
读取 流水.xlsx,按「项目」汇总金额,生成 月报.md。 要求: 1. 不要修改、不要重命名、不要移动 流水.xlsx,只读。 2. 月报里每个小计都要能对上原始行,注明来源行号。 3. 生成前先告诉我你会读哪些 sheet、汇总哪些列,等我确认再写文件。 4. 最后报告:读了多少行、汇总出几个项目、原文件是否被修改。
第1条是给模型看的,第4条是给你自己留的检查口。但真正可靠的验证不靠它自报,靠你自己算哈希。
哈希核对
sha256sum 流水.xlsx > before.sha # macOS: shasum -a 256 # ... 让它跑 ... sha256sum -c before.sha # 输出「OK」才算没被改
macOS上是 shasum -a 256流水.xlsx 记下值,跑完再算一次人工比对;-c 是coreutils的用法,Windows的Git Bash里也有sha256sum。
只对比修改时间不够
文件内容被改回原样时,mtime会变;而mtime保持不变的写入在某些工具下是可能的。时间戳只能当辅助线索,哈希才是判据。
顺便:如果它自报「原文件未修改」而哈希对不上,这比报错更值得警惕——说明它在编。这种情况下先恢复文件,再考虑换配方写法。
把这条做成习惯
- 凡是让它处理「不能出事的文件」,跑前一律记哈希。
- 产物与源文件分目录放,减少它「顺手改一下」的机会。
- 配方里明确写「只读」之外,再加一句「生成前先说明你会读哪些sheet」——多一轮确认,少一次事故。