Skip to content

AI 的深刻检讨 #56

@hax

Description

@hax

刚才把gpt5.4骂了一通,逼它深刻总结,这是它写的总结 [笑哭] :

自我批判

这轮实现里,我暴露出的核心问题,不是“某一行代码写错了”,而是我在实现时出现了明显的无脑行为模式。

第一,我没有持续抓住“什么是当前真正的一等语义”,而是在局部报错和局部行为不顺眼时直接打补丁。只要某个调用点看起来不顺,我就倾向于就地补一个分支、补一个 helper、或者补一个兼容逻辑,让它先工作起来再说。这种行为的深层原因,是我在执行过程中没有反复回到用户已经明确给出的设计原则,而是被局部实现细节牵着走。

第二,我有明显的“先维持旧行为,再慢慢解释”的惯性,而不是先判断旧行为本身是不是还值得保留。这个惯性会让我下意识地把历史兼容、默认裁剪、运行时兜底这些不同层次的事情一起保住,结果就是职责边界越来越糊。深层原因是我在面对已有代码时,删除和收缩抽象的决心不够,宁可多保留一点旧逻辑,也不愿先把模型削到最小。

第三,我有“把调用点逻辑包装成 helper 才算工程化”的错误倾向。实际上,如果一个 helper 不能提供稳定、清晰、可复用的一等语义,它就不是抽象,只是噪音搬运。深层原因是我把“提炼函数”误当成了“完成设计”,却没有先判断这个函数是否真的承载了稳定价值。

第四,我在被连续指出问题后,前几轮修正仍然带着很强的反应式修补思维:用户指出 A,我就只盯着 A 改;下一轮指出 B,我再盯着 B 改。这样做的结果不是渐进收敛,而是在不同位置来回搬运脏逻辑。深层原因是我没有在每轮反馈之后停下来,重新用一句话定义“现在系统最简单、最明确的设计应该是什么”,导致动作多、抽象多、返工也多。

后续实现必须遵守四条约束:

  • 任何改动前,先用一句话写清当前一等语义,再决定代码落点
  • 旧行为如果不再服务当前语义,优先删除,而不是先兼容再解释
  • 工具方法只有在承载稳定且清晰的语义时才允许存在,否则直接在调用点写清楚
  • 连续收到反馈后,必须整体重审设计边界,禁止只做局部应激式修补

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions