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

还记得那种感觉吗?你的 AI 编程助手开始“帮助”你,创建了一个无限循环的错误?你修复了一件事,它又破坏了两件。你回滚一个更改,它建议同样的错误解决方案。不知不觉间,你已经深入 47 条错误信息中,终端看起来像《黑客帝国》,你甚至开始认真考虑回到 vim。
我称之为AI 编程死亡螺旋,如果你花过任何时间使用 Claude Code、Cursor 或其他任何 AI 编程助手,你就知道这是什么感觉。
1、大家都不谈的普遍问题
事情是这样的:这种情况每个人都遇到过。无论你使用的是 Claude Code、Cursor 还是 GitHub Copilot,无论你写的是 Python、JavaScript 还是 Rust,死亡螺旋都是当前 LLM 的基本特征。
为什么?因为这些模型是模式匹配机器,它们会自信地虚构出看似正确但实际并不存在的解决方案。它们会导入听起来合理的库,调用应该存在的方法,并为并非你真正的问题创建优雅的解决方案。
结果就是:在递归调试地狱中浪费数小时。
2、明显(但不完整的)解决方案
当然,有一些基本的防护措施你可以设置:
- 单元测试 — 很好,但 AI 会愉快地写出通过但代码不起作用的测试
- 代码检查和格式化 — 有帮助,但语法正确的垃圾仍然是垃圾
- 频繁验证 — 更好,但需要持续警惕
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 哲学
以下是逐步操作:
- 找到你的素材 —— 哪个技术演讲或文章从根本上改变了你对代码的看法?
- 提取精髓 —— 使用 NotebookLM 或类似工具创建结构化的笔记
- 创建规则生成项目 —— 设置一个 Claude Desktop 项目,包含关于良好 AI 编程规则的背景信息
- 生成你的规则 —— 提示你的 AI 从原则中创建具体、可操作的规则
- 测试和优化 —— 在真实项目中使用这些规则并进行迭代
8、超越死亡螺旋
死亡螺旋不会消失。它是当前 LLM 工作方式的基本特征。但通过将更好的思维方式编码到我们的 AI 助手中,我们可以:
- 在问题累积之前发现它们
- 构建实际上可维护的系统
- 花更少的时间调试,更多的时间构建
最重要的是,我们可以停止将 AI 编程助手视为黑箱,而是开始将其视为可教授的合作伙伴。
原文链接:The problem with Claude Code and Cursor: The AI Coding "Death Spiral"
汇智网翻译整理,转载请标明出处
