我交给 Codex 的活,成功的都有三个共同点:边界清楚、有办法验证做没做对、出了错能退回去。下面是七个真实的例子,按我碰到的顺序排,不含公司数字和客户信息。

我不是每次都亲手启动 Codex:很多时候是 Claude Code 把任务派给它,再审它交回的结果,分工见《Codex 还是 Claude Code》。下面写的是 Codex 做了什么,派单和验收的部分只在需要时提一句。

案例一:一个博客发布脚本

我想发文章时不再手改网页:读一个数据文件,生成页面,同时更新站点地图和 RSS。我让 Codex 设计数据结构,写发布脚本和 RSS 生成脚本,再把报错一个个调通。这套东西是这个博客的底子,过程我在《OpenClaw + Codex》里写过。

能成,是因为需求写得具体:用 Python,读 JSON,解析文章,生成 HTML,更新 sitemap,要有错误处理。同样的活,如果只说“帮我写个发布博客的代码”,结果会散得多。这两种写法,我在那篇文章里对比过。

案例二:修评论系统

评论接口不响应,Nginx 配置有误,Python 服务老崩。我让 Codex 先看错误日志,再改 Python 脚本、重写 Nginx 配置,并建一个 systemd 服务,让它崩了能自己拉起来。

当时我的做法是把活拆开:重启、查状态、测接口、确认评论真的写进去,由另一个工具在服务器上执行;Codex 只管读日志和改代码。这样它的边界很清楚,也没有在我的服务器上执行任何东西。

案例三:一把永远不释放的锁

5 月底,两个系统之间每小时一次的商品同步每次都失败。根因是某次同步中途进程死了,状态永远停在“进行中”,之后每小时的任务一看到锁就直接退出,一天里被拒了 38 次。

原因是 Claude Code 先查清的。我再让 Codex 加三样东西:超过 30 分钟没有任何动静,就当进程已死、自动收回锁;长同步期间定期写一条“还活着”的记录;把一个预加载步骤挪进错误处理块。Claude Code 审了改动,备份后部署,再确认下一次增量同步跑完。原因已定、改动点已列清的活,交给它很顺。

案例四:给商品补上正确的品牌

7 月我检查给 Google 购物用的商品数据,发现大量商品的“品牌”填的是我自己网店的名字,而不是厂商,有被拒登的风险。

Codex 写了一个品牌提取补丁:内置 60 多个品牌词,并专门防误判,比如“iPhone 手机壳”不能被标成苹果的产品。补丁先在一批样本上试,另设的 10 个陷阱样本全部通过,才部署。部署后缺品牌的商品明显少了。

案例五:给几个网站加统计代码,并知道何时停手

10 月初,我让 Codex 给静态网站的页面加访问统计的小段代码。要求是逐个文件和线上原版对比,只允许多出这一段。 对其中两个站共 11 个页面,流程是:先备份,再修改,再对比;首页和两个内页返回 200,代码只出现一次,其余字节不变,回滚命令一并写好。

对另一个站它没有动手:该站的安全策略只允许加载自己的脚本,统计代码会被浏览器拦掉。Codex 一个文件都没改,把原因写进了报告。同一个站另有一次范围写明的任务:给服务器配置的安全策略加上这一个域名(两行),再给 10 个页面插入代码,全部返回 200。

案例六:资料调研

不是所有的活都是写代码。 我在做一个自用的语音听写工具,让 Codex 去读 14 个有代表性的产品和系统、5 类语音识别平台的官方资料,再和我电脑上装着的两个同类软件对照,对照只读、不改。成果是一份 376 行的报告,把市场情况和我这个工具的设计放在一起讲。

报告给的是材料,决定权不在它。哪些能用、哪些不采纳,我还是要自己核对出处再定。

案例七:先在复制品上演练,到门槛就停

网店要做按购买数量递减的优惠价。我给 Codex 的条件是:只在正式站的复制品上做,设几道安全门槛,过不了就停。 有一版在复制品上跑下来,页面和加购变慢,超过了我定的 +10% 上限,实测在 +24% 到 +27% 之间;另一版发现,后台保存一个分类会触发一个钩子,把缓存条目删掉。

两次 Codex 都没有硬闯:把复制品还原成原样,交的是写着“不行”的报告,不是“可以上线”的包;正式店只被读取过,没有写入。后来的一版才过关并上线。对我来说,会停手并如实报告的结果,比一句“做好了”有用。

它们的共同点

七个活里,没有一个是“帮我优化一下”。每一个都能说清:改什么,不改什么,怎样算完。

  • 上线、删除、付款、对外发送,我不交给它,由我点头。
  • 我用的隔离模式下,它默认不联网,也不能自己提交代码;要联网的任务,才在任务第一行写明。
  • 每次都要求它自己跑验证(测试、对比、样本),我再抽查。

想先弄清它是什么,看《什么是 Codex》。