V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
longxinglink
V2EX  ›  程序员

Codex agentic loop 会导致代码严重膨胀,有人遇到吗?有没有系统性的解法?

  •  1
     
  •   longxinglink · 22h 3m ago · 1599 views

    具体案例:V2EX Safe Reading Helper 5.3.0,一个油猴脚本,核心逻辑不复杂,但 530 行里能清楚看到几层叠加痕迹:

    • topic 来源从 API 一路加到 /recent、节点页、ID 逐个扫描——每次拿不到帖子就加一个 fallback ,互相没有合并
    • 两套 refill 防重入并存(isRefilling flag + refillPromise 互斥)
    • legacy key 迁移代码永远留在运行时,跑一次之后就是死代码
    • hasGMStorage() 每次读写都检测,而不是初始化时确定一次
    • 对一个翻页脚本加了完整的白屏 watchdog + 自动刷新恢复机制

    模型每次报错就往上堆,不回头清理,不合并逻辑。

    有没有系统性的解法?还是说这就是现阶段 agentic coding 的固有缺陷?

    15 replies    2026-04-27 11:11:14 +08:00
    vexjoe
        1
    vexjoe  
       21h 49m ago
    模型问题自身问题,现阶段看到的似乎都是通过 prompt 等后手"打补丁"的方式解决的
    xiri
        2
    xiri  
       21h 48m ago
    你跟它说让它清理、精简、合并代码不行吗?把你上面列的这些点丢给它让它自己处理
    liuchenx
        3
    liuchenx  
       21h 7m ago
    gpt 的问题,它的性格是尽量让减少你的改动对其他部分的影响,其实就是打补丁的方式解决问题,就算你叫他轻量化实现,精简化实现还是一样,5.5 有一定的改善,所以每次改动一定要 review ,这也是我感觉它不如 claude 的点之一,不过这个性格对于历史业务修改挺好的(不容易改出锅),新的独立模块就不太行,多了又成屎山了
    teaguexiao
        4
    teaguexiao  
       20h 41m ago
    每隔几个 task 手动跟他说一次“现在整理一下逗辺逻辑,删掉死代码和重复逻辑”会好很多;另外 CLAUDE.mdAGENTS.md 里加一条“no legacy fallback”的约束,能弥补一些模型自身的不良习惯。
    sunlin1234
        5
    sunlin1234  
       20h 9m ago
    你可以每隔段时间,进行一轮重构, 让 codex 梳理目前的代码, 拆分,以及各种优化. codex 是比较保守的, 默认会进行补丁小于重构. 需要琢磨使用的技巧
    gorvey
        6
    gorvey  
       19h 38m ago
    对话了几次,需要 commit 的时候,加一个 hook 自动化,或者做一个指令/clean-code ,将暂存的代码输入输出不变,精简实现
    doraemonki
        7
    doraemonki  
       19h 26m ago
    全局约束加上下面的话:

    **No Backward Compatibility**: Pre-v1.0 with no external consumers to protect. Prioritize first-principles domain modeling and logical orthogonality; favor refactoring core structures to capture native semantics over adding additive flags or 'patch' parameters.
    akira
        8
    akira  
       19h 1m ago
    卡帕西的那一套可以加进来看看效果。 现在 ai 生成代码就是这样的了, 需要给他加约束
    Brodess
        9
    Brodess  
       17h 40m ago
    codex 写代码就是这样的,太啰唆了
    Brodess
        10
    Brodess  
       17h 40m ago
    @Brodess 但是 Claude 喜欢偷懒写 TODO 。。最开始的版本还假设某某条件或者逻辑
    nbndco
        11
    nbndco  
       16h 5m ago via iPad
    基本写啥都没用,只能靠自己。我让他修 bug 他上手就是三百行,我说你找到 bug 原因了么,他说我猜是这个,现在我找找,啊,找到了,于是又多了二百多行。然后我 review 了半天,发现正解是删掉原本的三行。

    除了测试和工具以外的每一行都得仔细看才行。
    aojunhao123
        12
    aojunhao123  
       15h 47m ago
    human in the loop ,多调整 ai 的代码吧。最理想的状况就是你很清楚实现思路,让 ai 单纯做执行就好
    MelodYi
        13
    MelodYi  
       4h 59m ago
    我觉得是模型厂家故意控制大模型会倾向于增加 token 用量。
    之前也有调研说 claude 倾向于自研代码而不是复用已有的类库。
    swaylq
        14
    swaylq  
       3h 39m ago
    3 楼 4 楼说到点子上了,本质是 agent 的目标函数偏“别改坏”,不是“最小正确实现”。我现在是每 3-5 个 task 强制来一轮 cleanup pass:删 fallback 、合并状态、迁移逻辑执行完就删。不做这步,补丁会自己繁殖。
    fbu11
        15
    fbu11  
       3h 32m ago
    codex 本身的问题,过于保守,开 xhigh 思考过度,更会导致这个问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5850 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 06:43 · PVG 14:43 · LAX 23:43 · JFK 02:43
    ♥ Do have faith in what you're doing.