Codex 一开始算 SHA-256,我就知道小任务又要变大了

268 阅读3分钟

最近用 Codex,我看到 SHA-256 都有点条件反射。

有次我只让它修一个小 bug,计划里突然多了一步:先给临时产物生成一份 SHA-256 checksum。

我往后看了一遍,没有任何一步会读取这份 checksum。它就是先算了再说。

现在我一看到这一步,基本就知道任务又要越做越大了:兼容层、全量测试,再拉几个 subagent。这个查一遍,那个 review 一遍,回来以后主 Agent 还要重新总结一遍。

每一步听起来都挺合理。连起来就很荒谬了:我要的活还没做完,时间和 Token 先花在任务外面了。。

这些 Token 花在正事上我没意见。花在 Codex 自己加出来的活上,真的很心疼。

后来我干脆做了一个 Hook,专门在 Codex 真正动手前再问一句:这件事是我让你做的吗?

我的 AGENTS.md 也开始造史了

我之前的办法很朴素:往 AGENTS.md 里加规则。

不要乱改。
别过度设计。
没让我做的先别做。

每被气到一次就补一条。写着写着,AGENTS.md 自己也开始造史了 hhh

这些规则不是完全没用,但总差一点。Codex 很会给额外工作找理由:多跑一遍是为了稳妥,顺手改掉是为了完整,加一层兼容是为了以后不出问题。

规则它读了。只是到了具体任务里,它还是会觉得:这次多做一点也挺合理。

后来我把问题换了一种问法:先别讨论这个动作“有没有道理”,先看我这次到底有没有让你做。

Review 就先 Review。我说 Change,再动手。

后来我发现,不止我遇到过这些事

我把 OpenAI 的 AGENTS.md 文档和 Hooks 文档过了一遍,也整理了 GitHub issue、Reddit 讨论和 HERO 里的公开 case。

放在一起看,来来回回主要就是四种:任务越做越大;为还没出现的未来加防御;只让 Review 却直接开改;同一件事查过一遍又来一遍。

我给它们取了四个英文名:Scope、Hypothetical hardening、Intent violation 和 Task thrashing。首字母刚好组成 SHIT。

所以插件的英文名就叫 Stop That Shit,中文叫 「别再造史了」。

名字有点粗,但很符合我当时看着 Token 往下掉的心情()

后来我把边界放到了动手之前

这个 Hook 做的事情不复杂:Codex 准备动手时,再看一次当前任务到底允许了什么。

Review 任务里要改文件,先停。想开 subagent、加依赖或者新做一套 hash,也先看看是不是我明确要求的,或者是不是完成当前任务真的离不开。

明确让我做,或者当前任务确实离不开,就继续。否则先停下来。

我自己装着打磨了挺久。用下来以后,Review 直接开改、随手拉 subagent、没人会用也先算 hash,这几类情况已经少了很多。

最明显的变化很普通:我不用一直盯着它了。看到它开工时,也没那么 Token 焦虑了。。

现在更想收你们遇到的真实案例

Stop That Shit 现在还是 0.0.1 预览版,先支持 Codex desktop 和 CLI。仓库在这里:lennney/stop-that-shit。

如果你想试,建议先拿一个不重要的小项目跑跑看。

我现在最想收的是真实 case。该停没停,可以丢过来;它停早了,把真正需要做的事情也拦住了,更要告诉我。

我可不想为了防止 Codex 过度工程,最后又做出一个过度防御的插件。那就真的太好笑了。。

你们用 Codex 最常碰到哪一种:乱加 hash、乱拉 subagent,还是 Review 直接开改?