我喜欢用 Claude 胜过 GPT 的原因是,Claude 很少写过度工程化代码。Claude 每次输出的代码量更少,这很重要,因为再 AI 编码时代【少即是多】。当你发现代码缺失了测试或者某项功能,只需要一句话就能再补上。但是当你想要移除代码中的无用检查和冗余兜底逻辑时,无论 GPT 还是 Claude 都没办法删除干净。AI 编码尽量做到逐步增加,这更符合系统快速迭代的开发原则,如果在需求尚未确定时写了一大堆兜底代码和边缘情况检查,在需求变更后,那些兜底代码很有可能就成为了废物永远留在了系统中。所以我个人还是持续使用 Claude 来编码,Opus 用量用完就用 Sonnet,只有在完成一个模块后,再用 GPT 做一个 review,有选择地修复。直接用 GPT 来完成全部编码任务,对持续变更需求的系统,后期一定会失控。
GPT 总是趋向于增加代码量,Claude 会好一些。Vibe Coding 时候,在文件 diff 区我更希望看到更多的 - 号而非 + 号。使用 GPT 常常遇到以下情景:我预想是一个很小的任务,结果 GPT 输出了上千行代码,这时候我就知道这个模型又理解错我的意思了。这时候就要回退到上一个 checkpoint 了。