layxy
0.66D
V2EX  ›  OpenAI

Codex 的过度设计,防御性编程,测试狂魔有解法吗

  •  
  •   layxy · 16h 55m ago · 3178 views

    这两天被 codex 折腾的受不了,提的需求过度设计,写的代码一坨一坨的,明明很简单的一个逻辑,硬生生给你拆几个文件搞个几百行,已经让他参考目标框架和代码结构了,就是听不懂,还喜欢测试,改一行代码,会生成一坨测试文件又是编译又是测试的,md 最后发现整个仓库测试代码比我业务代码还多,像 golang 这种喜欢把测试代码和业务代码放一个包下的编程风格,看起来头大

    20 replies  •  2026-11-03 21:30:43 +08:00
    honjow
    honjow
    16h 29m ago
    1
    无解 就算你和他说了,他也只是嘴上答应
    wenqiang1208
    wenqiang1208
    16h 28m ago
    2
    https://github.com/unclebob/ub-mode 试试这个 我这两天用的还行
    zed1018
    zed1018
    16h 24m ago
    3
    https://ponytail.dev

    我是用的这个。还行吧
    durban126
    durban126
    16h 21m ago
    4
    解决办法是放弃使用
    ndxxx
    ndxxx
    16h 18m ago via Android❤️1
    5
    用 medium ,然后提示词里提一嘴就行了😅
    MrTerrorist
    MrTerrorist
    16h 14m ago
    6
    Ponytail 、https://github.com/uucz/moyu 、https://github.com/lennney/stop-that-shit 只能选一个试试,还有就是人工时不时盯着,必要时及时在会话中引导
    dallaslu
    dallaslu
    15h 59m ago
    7
    .gitigore

    ```
    *_test.go
    ```

    (doge
    Lukedis
    Lukedis
    15h 1m ago
    8
    我不让测试的时候,codex 不会测试,没有不要求的时候,就是正常的测试流程,我编写了测试规范,不做测试不太敢用,单元测试、性能测试、压力测试,例如:任务清单有好几项任务,我要求完成所有的任务,再做测试,codex 就是按照要求处理,没有要求的时候,每完成一项,就正常走测试流程,我有编写工作报告的规范,codex 每完成一项任务,都需要编写对应的工作报告(基准是什么、业务目标是什么、动了哪些文件、旧的示例代码和测试代码是否同步修改、证明为什么符合业务目标),然后我让其他 AI 审核,我还是更喜欢代码健壮的,许愿式编程,属于是瞎几把写,管杀不管埋,能用就行
    Lukedis
    Lukedis
    14h 54m ago
    9
    代码的屎坑多了,AI 也改起来也难
    ericguo
    ericguo
    14h 52m ago❤️1
    10
    这样的风格是对的,要适应 AI 的这种风格。
    gdm
    gdm
    14h 26m ago
    11
    AI 和人不一样他们需要这种设计来保证运行无误,选择 AI 编程就要忍受这个
    layxy
    layxy
    OP
    14h 2m ago
    12
    @wenqiang1208
    @zed1018
    @MrTerrorist 感谢各位大佬,使用 ponytail 后明显改善了
    DuskRift
    DuskRift
    13h 22m ago
    13
    你又不写代码 管那么多
    layxy
    layxy
    OP
    13h 7m ago
    14
    @DuskRift 不写代码,但是需要看代码,有问题他又不会帮我背锅,我还是需要审查他设计的是否合理,代码质量和开发是否规范
    MarkLeeyun
    MarkLeeyun
    12h 59m ago
    15
    同感。我的经验是:把"最小改动"写进 AGENTS.md 之类的项目规范里,明确要求"不新增文件、不新增抽象、不写测试除非我要求",并且每次只给一个小任务,做完先 review 再继续。另外让它先输出改动计划(要改哪些文件、多少行),确认后再动手,能挡掉大部分过度设计。
    bytenoob
    bytenoob
    12h 43m ago
    16
    最好的方式就是换 claude
    hahiru
    hahiru
    12h 28m ago
    17
    AGENTS.md 里面的必填项。

    ## 硬约束(任何 AI 会话都必须遵守)
    1. **每个功能按满足当前需求的最简单方式实现。** 复杂度必须由真实需求驱动,不允许"为将来预留"的抽象。
    2. **单实现不写接口。** 只有一个实现时不建 `IXxx` 接口、不建工厂/提供者/路由器。
    3. **不写需求外的东西。** 新模块、新配置项、新接口必须先和用户确认。发现"顺手能做"的功能,提出来,不要直接写。
    4. **没有消费者的代码不进仓库。** 接口必须有真实前端调用方才实现;文档明确"不做"的功能一行代码都不留。
    5. 上一个版本( XXX3.0 )因违反以上原则积累了约 1/3 死代码(推荐引擎、AI 任务中台等),本仓库以此为戒。
    htxy1985
    htxy1985
    11h 55m ago
    18
    唉,claude 不让我们用,codex 让用的又这么拉,一点都对不起那么贵的价格,难绷。实在不行用国模了,反正都是拉,大哥不笑二哥,凑活用吧。
    layxy
    layxy
    OP
    11h 49m ago
    19
    @htxy1985 这个月到期不打算续费了,今天测试了一个中转的 claude ,使用模型指纹测试 opus5.5 实际是 hiku4.6 ,偶尔会路由到 opus4.6,反正不是 opus5.5,中转站的坑还是不能趟,官方又封号,是在不行国模顶一下吧
    gzy0217
    gzy0217
    5h 41m ago
    20
    @bytenoob 点了,最好的方式真的是换 claude ,完全能做到「许愿式」编程。

    codex 就要提示词足够
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1457 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 19:12 · PVG 03:12 · LAX 11:12 · JFK 14:12
    ♥ Do have faith in what you're doing.