跑完之后工作区为什么会脏?因为模型完成任务时常留下中间物:临时脚本、拆分出来的片段、验证用的样本、失败的半成品。它们不一定是错的,但必须被识别。
| 常见残留 | 长什么样 | 怎么处理 |
|---|---|---|
| 临时脚本 | verify.py / check.sh / tmp_*.py这类名字,内容是一次性验证逻辑 | 确认无需复用后删;要留就挪进scripts/ |
| 中间片段 | out_part1.md、chunk_*.txt、某文件.bak | 合并完成即删 |
| 测试样本 | sample.* / test_* —— 常含假数据 | 删;如果配方需要,改成生成而不是提交 |
| 半成品 | 生成到一半的文件,可能不完整但不报错 | 对照验收清单判断,宁可重跑 |
| 日志与缓存 | *.log、__pycache__、.pytest_cache | 删;加进忽略规则 |
| 被改动的原文件 | 命名没变但内容变了 | 哈希对比才能发现,见「生成月报」那页 |
用修改时间快速筛
find . -type f -newer /tmp/before.txt -not -path './.git/*' | sort
跑任务前先 touch /tmp/before.txt,跑完用上面这条,就能列出「这次跑动过或新建的所有文件」。比逐个目录翻快得多。
有 git 就用 git
git status --short
一眼看到新增(??)、修改( M)、删除( D)。工作区没有git时,上面那条find是替代方案。
一个反直觉的坑:产物和残留经常在同一个目录里混着。所以清理之前先确认验收清单——「哪些文件应该在」比「哪些文件不该在」更容易判断。
清理顺序
- 先记下当前文件清单(
find . -type f | sort > /tmp/after.txt)。 - 对照验收清单,把「应该在」的标记出来。
- 剩下的按上表分类:能再生的一次性内容直接删,可能复用的挪进固定目录。
- 删完再跑一次任务,确认删掉的不是必需项——这一步最容易被跳过,也最容易出事。