用 Codex 一个月,我有点慌丨万联WANFLOW

最开始它改一行我点开看一行,现在我只看终端最后那句是绿的还是红的。这个变化没有哪一天发生,但它才是让人发毛的地方。这篇记下用编码智能体一段时间后的几个观察:它做对和做错长得一模一样,因为它不会说自己不确定;审查能力的退化是复合的,越依赖越审不出来;它放大的是执行力不是判断力,瓶颈没动但油门踩到底了;以及新人跳过了写烂代码那一段之后,判断力从哪来。

朱辉阳
万联SD-WAN
资讯
3 阅读
用 Codex 一个月,我有点慌丨万联WANFLOW

最开始它改一行我点开看一行。

现在我只看终端最后那句是绿的还是红的。

这个变化没有哪一天发生。就是某天我发现自己扫了三十秒就点了合并,而三个月前我会在这上面耗二十分钟。发现的时候我停了一下,然后继续点了合并。

越用越发毛,不是因为它写得好。是因为我在这件事里的位置变了,而且是我自己一步步让出去的。

它到底擅长什么

先说清楚,我不是来唱衰的。它确实好用,而且好用的地方很具体。

一个接口字段改了名,前端十几个页面要跟着调。以前得全局搜一遍、挨个确认、改完再跑一次。现在把话说清楚——哪些字段改了、哪些地方别动、现有的类型约束别破坏——它会老老实实翻遍整个项目。

它最爽的地方不是写得比我好,是它愿意替我认真翻代码。接手别人留下的项目那种活,人干起来是纯痛苦,它不嫌。

补测试、改注释、把重复的逻辑抽出来、按规范统一命名——这些写了想骂人、不写又不行的活,它全接。

所以这篇不是“别用”。这条路回不去了,不用的人会被用的人甩开。我说的是另一件事。

做对和做错,长得一模一样

同事写错代码,你能看出来。

他会在提交信息里写“先这样”,会在群里问一句“这块谁比较熟”,会在你问起时眼神飘一下。人对自己没底的时候,会漏出来。

它不会。

它做对的时候,输出是完整的、有条理的、带解释的。它做错的时候,输出也是完整的、有条理的、带解释的。语气一样笃定,结构一样清晰,注释一样写得工工整整。

我从表面拿不到任何线索。唯一的办法是去看代码本身——而这恰恰是我已经不太做的那件事。

还有第三种,更阴。

它压根没跑完。跑一个大点的活,中间连接断了、流中断了、工具调用只执行了一半。屏幕上留下的仍然是一段格式漂亮的东西,只是最后那截没了——而没了的那截,往往正好是收尾和自检。

三种情况,我不点进去看,长得都一样。

我的审查能力在退化,而且是复合的

不写代码之后,判断代码好坏的能力也会退。

这个过程很温和,没有明确的节点。就是某一天打开一个 diff,我扫了三十秒就点了通过。

麻烦在于它是复合的。越依赖,审得越少;审得越少,能力退得越快;能力退得越快,就越只能依赖它给的结论。这个环没有自然的刹车。

有人说这跟当年从汇编到高级语言是一回事。我觉得不完全是。编译器的行为是确定的、可预测的,没人需要审查它每次的输出——它错了那是 bug,是可以复现、可以上报的。而这个不是。它每次都可能不一样,而且不保证任何事。

它放大的是执行力,不是判断力

这一条我想了很久才想清楚。

它让我从一天做完一件事,变成一天做完五件事。但它没让我更知道该做哪一件。

判断力本来就是瓶颈。现在瓶颈没动,油门踩到底了。

以前方向想歪了,做到一半人累了,会停下来抽根烟重新想想。累是一种反馈,它逼你复盘。现在不累了,就一路错到底。

那些做了三周才发现方向不对的项目,放在以前需要三个月才能积累出同样的沉没成本。

新人的问题更大

我这代人还好,我们的判断力是在写烂代码、被人骂、然后自己改回来的过程里长出来的。那个过程很痛,但它是真的在长东西。

现在进来的人跳过了这一段。

他上手就有一个比自己强的东西替他写。他学会的是怎么描述需求、怎么跟它对话——这些也是能力,而且很重要。但“知道这段代码为什么烂”这种判断,是要靠自己写烂过才有的。

有个说法我很认同:这类工具看起来降低了门槛,实际上抬高了上限。以前比的是谁能熬夜敲代码,现在比的是谁更会拆任务、控风险、读上下文、验证结果。敲代码本身变便宜了,但知道该敲什么、为什么敲、敲完谁负责,变得更值钱。

问题是,后面那些能力,很难在不经历前面那些的情况下长出来。

责任没有转移

出事的时候,没有人会说“这是 AI 写的”。

代码合进主干,是我点的通过。线上出问题,提交记录上是我的名字。客户数据出了岔子,是公司担责,不是模型厂商。

工具变了,问责链条一点没变。

我交出去的是操作,留下来的是责任。这两样东西被拆开了,而且拆得对我不利。

那我打算怎么办

不是少用。是承认我的角色已经从生产者变成了审查者,那就得按审查者的标准重新训练自己。

划一条必须自己看的线。 不是全看,是划线。涉及钱、涉及权限、涉及删除、涉及对外接口的,无论多小都自己读一遍。其余的可以放。

留一部分自己写。 不是为了效率,是为了不让手感掉光。一周留一两个小任务从头做,像医生保持手术量。

要求它解释,但不信解释。 让它说为什么这么写是有用的,因为解释里的漏洞比代码里的漏洞好找。但解释本身也是它生成的,不构成证据。

在不可逆的地方设卡。 删除、覆盖、部署、发送,这些动作前面必须有人。这一条跟它能力强弱无关,只跟后果能不能撤销有关。

把它当一个需要管理的实习生。 聪明、勤快、不会累、也不会说自己不确定。你不会让一个实习生直接往生产环境推东西,那就也别让它推。

还有一条:先分清是错了还是断了

前面说的第三种失败——没跑完——其实最好治,也最容易被误诊。

它跟模型没关系,是连接断了。而这两种的解法完全相反:跑错了要改提示词、拆任务、加中间验证;跑断了改这些一点用没有,下次还断在同一个地方。

我自己踩过这个坑,换了两回模型都没好,最后测出来任务根本没跑完。

判断方法很简单:看有没有报连接错误、超时、或者流中断。有,是断了;没有但结果不对,才是错了。

断的概率跟怎么出境有直接关系。用 VPN、机场这类方案跑长任务,路由随公网状况漂移,今天走香港明天绕日本,中途换路就是换连接;出口 IP 是共享的还会轮换,IP 一变长连接立刻失效。短请求感觉不到,因为每次都是新连接;活一长,靠的就是那一条连接一直活着。

测速漂亮不代表跑得完。一条测速很好看的路径,照样可能在任务跑到一半的时候把连接掐掉。

我后来换成了万联WANFLOW的跨境线路,跨境这段由中国电信等合规运营商承载,持有《增值电信业务许可证》,IP 独享固定,可签合同、可开发票、可电信直签。

倒不是说它保证不断,没人能这么说。但断了能查那一时段的链路状态、能找到人问——跑长任务的时候,这比测速数字实用得多。

最后

那种发毛的感觉,我不想被劝散。

它至少说明我还在看。真正该怕的是哪天它没了——多半不是因为问题解决了,是因为我不看了。

分享文章

返回博客列表