Codex agentic loop 会导致代码严重膨胀,有人遇到吗?有没有系统性的解法? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
/div>
请不要在回答技术问题时复制粘贴 AI 生成的内容
longxinglink

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

  •  1
     
  •   longxinglink 1 day ago 1798 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  
       1 day ago
    模型问题自身问题,现阶段看到的似乎都是通过 prompt 等后手"打补丁"的方式解决的
    xiri
        2
    xiri  
       1 day ago
    你跟它说让它清理、精简、合并代码不行吗?把你上面列的这些点丢给它让它自己处理
    liuchenx
        3
    liuchenx  
       1 day ago
    gpt 的问题,它的性格是尽量让减少你的改动对其他部分的影响,其实就是打补丁的方式解决问题,就算你叫他轻量化实现,精简化实现还是一样,5.5 有一定的改善,所以每次改动一定要 review ,这也是我感觉它不如 claude 的点之一,不过这个性格对于历史业务修改挺好的(不容易改出锅),新的独立模块就不太行,多了又成屎山了
    teaguexiao
        4
    teaguexiao  
       1 day ago
    每隔几个 task 手动跟他说一次“现在整理一下逗逻辑,删掉死代码和重复逻辑”会好很多;另外 CLAUDE.mdAGENTS.md 里加一条“no legacy fallback”的约束,能弥补一些模型自身的不良习惯。
    sunlin1234
        5
    sunlin1234  
       1 day ago
    你可以每隔段时间,进行一轮重构, 让 codex 梳理目前的代码, 拆分,以及各种优化. codex 是比较保守的, 默认会进行补丁小于重构. 需要琢磨使用的技巧
        6
    gorvey  
       1 day ago
    对话了几次,需要 commit 的时候,加一个 hook 自动化,或者做一个指令/clean-code ,将暂存的代码输入输出不变,精简实现
    doraemonki
        7
    doraemonki  
       1 day 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  
       1 day ago
    卡帕西的那一套可以加进来看看效果。 现在 ai 生成代码就是这样的了, 需要给他加约束
    Brodess
        9
    Brodess  
       1 day ago
    codex 写代码就是这样的,太唆了
    Brodess
        10
    Brodess  
       1 day ago
    @Brodess 但是 Claude 喜欢偷懒写 TODO 。。最开始的版本还假设某某条件或者逻辑
    nbndco
        11
    nbndco  
       1 day ago via iPad
    基本写啥都没用,只能靠自己。我让他修 bug 他上手就是三百行,我说你找到 bug 原因了么,他说我猜是这个,现在我找找,啊,找到了,于是又多了二百多行。然后我 review 了半天,发现正解是删掉原本的三行。

    除了测试和工具以外的每一行都得仔细看才行。
    aojunhao123
        12
    aojunhao123  
       1 day ago
    human in the loop ,多调整 ai 的代码吧。最理想的状况就是你很清楚实现思路,让 ai 单纯做执行就好
    MelodYi
        13
    MelodYi  
       15h 40m ago
    我觉得是模型厂家故控制大模型会倾向于增加 token 用量。
    之前也有调研说 claude 倾向于自研代码而不是复用已有的类库。
    swaylq
        14
    swaylq  
       14h 21m ago
    3 楼 4 楼说到点子上了,本质是 agent 的目标函数偏“别改坏”,不是“最小正确实现”。我现在是每 3-5 个 task 强制来一轮 cleanup pass:删 fallback 、合并状态、迁移逻辑执行完就删。不做这步,补丁会自己繁殖。
    fbu11
        15
    fbu11  
       14h 14m ago
    codex 本身的问题,过于保守,开 xhigh 思考过度,更会导致这个问题
    About     Help     Advertise     Blog     API     FAQ     Solana     1302 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 51ms UTC 17:25 PVG 01:25 LAX 10:25 JFK 13:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86