AI 编程的“死亡螺旋”

无论你使用的是 Claude Code、Cursor 还是 GitHub Copilot,无论你写的是 Python、JavaScript 还是 Rust,死亡螺旋都是当前 LLM 的基本特征。

AI 编程的“死亡螺旋”

还记得那种感觉吗?你的 AI 编程助手开始“帮助”你,创建了一个无限循环的错误?你修复了一件事,它又破坏了两件。你回滚一个更改,它建议同样的错误解决方案。不知不觉间,你已经深入 47 条错误信息中,终端看起来像《黑客帝国》,你甚至开始认真考虑回到 vim。

我称之为AI 编程死亡螺旋,如果你花过任何时间使用 Claude Code、Cursor 或其他任何 AI 编程助手,你就知道这是什么感觉。

1、大家都不谈的普遍问题

事情是这样的:这种情况每个人都遇到过。无论你使用的是 Claude Code、Cursor 还是 GitHub Copilot,无论你写的是 Python、JavaScript 还是 Rust,死亡螺旋都是当前 LLM 的基本特征。

为什么?因为这些模型是模式匹配机器,它们会自信地虚构出看似正确但实际并不存在的解决方案。它们会导入听起来合理的库,调用应该存在的方法,并为并非你真正的问题创建优雅的解决方案。

结果就是:在递归调试地狱中浪费数小时。

2、明显(但不完整的)解决方案

当然,有一些基本的防护措施你可以设置:

  1. 单元测试 — 很好,但 AI 会愉快地写出通过但代码不起作用的测试
  2. 代码检查和格式化 — 有帮助,但语法正确的垃圾仍然是垃圾
  3. 频繁验证 — 更好,但需要持续警惕

Claude Code 甚至有系统改进的钩子,这非常棒。但这些都是对更深层次问题的权宜之计。

但如果没有明确的指令,大多数 AI 编程代理会默认将一个简单的“构建 TODO 应用”变成一个巨大的 5 万行项目。

3、真正的解决方案:教你的 AI 简单思考

这里变得有趣了。在凌晨 2 点刷 YouTube 视频时(正如人们所做的那样),我偶然发现了 Rich Hickey 在 2011 年 Strange Loop 上的演讲“Simple Made Easy”。如果你没看过,那是一场让你质疑自己如何编写代码的演讲。

Hickey 的核心见解是:我们将“简单”(单一的,不交错的)与“容易”(熟悉的,近在手边的)混为一谈。

这就是我意识到的:AI 编程助手是为“容易”而不是“简单”优化的。

它们给你熟悉解决方案,看起来像是它们之前见过的代码。但熟悉并不意味着正确,也绝对不意味着可维护。

4、方法:将智慧转化为规则

与其对抗 AI 的本性,我们能否教它更好的原则呢?这是我开发的方法:

4.1 提取智慧

获取任何经典演讲、博客文章或技术文章中的你重视的原则。对我来说,是 Hickey 的演讲。我把 YouTube 链接扔进 Google 的 NotebookLM,生成了全面的学习笔记。(小技巧:NotebookLM 甚至可以创建关于内容的 AI 播客,这很疯狂,但那是另一篇博文。)

4.2 创建学习环境

我创建了一个专门用于此目的的 Claude Desktop 项目。在这个项目中,我添加了:

  • 关于如何为 Claude Code 编写有效规则的深入研究
  • 从 NotebookLM 提取的学习笔记
  • 关于什么是好的 AI 编程代理规则的背景信息

4.3 生成可操作的规则

有了所有这些背景信息,我提示 Claude 创建基于 Hickey 原则的具体规则。结果是 simple-mindset.md - 一组彻底改变了我的 AI 助手解决问题方式的指南。

查看 github gist 🔗

4.4 部署和迭代

将这些规则添加到你的项目上下文中,看看你的 AI 行为如何转变。

5、“简单思维”的 AI 实际上是什么样子的

这是我 simple-mindset.md 中的一些内容:

不要:“在这个应用中添加用户认证”,使用简单的方法:“创建一个用户身份值。创建一个认证状态。创建一个验证凭据的函数。保持这些独立。”

不要:在一个组件中混合数据获取、转换和 UI 渲染,使用简单的方法:将数据源、数据转换和数据展示分为不同的、可组合的单元

AI 不再试图用复杂、交织的解决方案变得聪明。它开始构建无聊但简单的、实际上能工作的内容。

6、更广泛的模式

这不仅仅是“简单与容易”。真正的洞察是:我们可以将任何永恒的软件原则编码成我们的 AI 助手可以遵循的规则

想想看:

  • Kent Beck 的“先让它工作,再让它正确,最后让它快速”
  • SOLID 原则
  • 领域驱动设计的概念

这些都可以从抽象的智慧转化为具体的 AI 行为。

7、构建你自己的 AI 哲学

以下是逐步操作:

  1. 找到你的素材 —— 哪个技术演讲或文章从根本上改变了你对代码的看法?
  2. 提取精髓 —— 使用 NotebookLM 或类似工具创建结构化的笔记
  3. 创建规则生成项目 —— 设置一个 Claude Desktop 项目,包含关于良好 AI 编程规则的背景信息
  4. 生成你的规则 —— 提示你的 AI 从原则中创建具体、可操作的规则
  5. 测试和优化 —— 在真实项目中使用这些规则并进行迭代

8、超越死亡螺旋

死亡螺旋不会消失。它是当前 LLM 工作方式的基本特征。但通过将更好的思维方式编码到我们的 AI 助手中,我们可以:

  • 在问题累积之前发现它们
  • 构建实际上可维护的系统
  • 花更少的时间调试,更多的时间构建

最重要的是,我们可以停止将 AI 编程助手视为黑箱,而是开始将其视为可教授的合作伙伴。


原文链接:The problem with Claude Code and Cursor: The AI Coding "Death Spiral"

汇智网翻译整理,转载请标明出处