有什么办法可以防止{5.6-sol}自我防御性的编程?

kfcimc 2026-08-27 03:44 1

Sol 真他X爱防御式编程。


各种边界判断层层设防,单测写得比业务代码还长。啰里吧嗦防住了一切可能发生的问题,唯独没防住核心业务逻辑写偏。


最后还得再花一轮 Token,把它精心写出来的废话全删了。


有没有什么好用的skill或者提示词或者插件之类的,可以防止他这种过度的防御?

最新回复 (13)
  • A 08-27 03:45
    1

    我也想问这个问题 有没有专门的agentmd或者skill可以解决这个问题?

  • ciaooo55 08-27 03:45
    2

    各种边界测试 各种通过288/288 真的流口水

  • kfcimc 楼主 08-27 03:49
    3

    我觉得2/3的token都用在它的自我测试跟自我检查,还有防御边界检查上。关键是这一圈下来以后,他很容易把主要的项目跑偏。

  • 美帝码工 08-27 03:50
    4

    AGENTS.md 要求 进攻式编程

  • ld.so 08-27 03:54
    5

    需要一个审核 agent,提示词说要对立审核 claude 写的屎山(实际是 5.6 sol 写的),代码必须简洁明了


    sol 最喜欢挑 claude 的刺了 结果在怼自己的屎山

  • kfcimc 楼主 08-27 03:59
    6

    AGENTS.md



    看看有没有大佬可以共享一个这种可以防止自我防御编程的 AGENTS.md


    最近发现这个问题非常严重,这两天用的我直恶心。

  • 哈雷彗星 08-27 04:00
    7

  • cooperlau 08-27 04:02
    8

    我其实很喜欢sol那个大量测试覆盖的习惯, 改一个点, 就补一个回归测试…

  • Myth 08-27 04:04
    9

    越写越臃肿 到后面任务还没开始就已经三四百k上下文出去了 随便改个小功能要上亿token

    等ci时间比编码时间都长得多

  • Hao 08-27 04:09
    10

    一般会在每次 commit 之前用下面的 prompt 让 Codex 自己做一次收敛:



    请对当前项目做一次以收敛复杂度为目标的 Review,并直接完成必要修改。在不改变现有功能和用户行为的前提下:



    • 删除死代码、重复逻辑、无意义抽象、过度封装、不必要的接口/层级/依赖和“为了以后可能需要”而存在的设计。

    • 如果新实现已经替代旧实现,请彻底删除旧代码、旧接口、兼容层、wrapper、fallback、迁移分支、旧测试以及相关注释,不要继续绕行或解释历史。

    • 合并可以直接表达的逻辑,优先使用简单、惯用的实现,不要为了架构感增加抽象。

    • 删除重复代码含义或解释显而易见行为的注释,只保留真正必要的设计约束说明。

    • 删除低价值、重复、过度细化或只验证实现细节的测试,保留核心行为、关键边界和高风险操作的测试;不要为了测试引入额外架构。

    • 不新增无关功能,不做没有实际收益的大规模重构。


    判断任何代码是否应该保留时,以当前真实需求是否需要它为准,而不是考虑历史实现或假想的未来需求。



    其实测试驱动开发本质是好的,如果让人类去 review 来保证代码正确性那才是真的裂开。只需要收敛一下低价值的单测就好了。

  • Arcueidlwl 08-27 04:11
    11

    5.6好像做了multi-agent,就是单次的任务可以根据类型去分配不同的模型,什么时候用sol,什么时候用luna,这样子是不是能解决不必要的上下文输入?不知道有没有人实现过

  • kslr 08-27 04:11
    12

    agents.md 写的再好也无解,训练如此

  • moskv 08-27 04:14
    13

    试过换agents.md了作用不大,这样搞主要是浪费时间,而且测试复审啥的一般会开子代理用的是luna额度倒是不咋难受,就是慢,慢的要命

* 帖子来源Linux.do
返回