当前位置:首页>java>AI 编程悖论:为什么模型越强,你写的代码反而越烂?

AI 编程悖论:为什么模型越强,你写的代码反而越烂?

  • 2026-10-19 11:50:16
AI 编程悖论:为什么模型越强,你写的代码反而越烂?

Hello,大家好!

上周我们一起完成了 Claude Code 的新手入门。

Claude Code 新手入门指南

今天,我们来深入聊聊 Claude Code:那些真正能让编程效率翻倍的进阶技巧。内容来自一位曾在亚马逊、迪士尼和 Capital One 任职七年,现为一家创业公司 CTO 的资深工程师 (Eyad: @eyad_khrais)。

为什么你的 AI 编程助手不听话

这可能是一个很多开发者都感同身受的问题:

为什么你手里的 AI 编程助手有时候用起来那么让人抓狂?它明明应该是个效率神器,结果却经常给你添乱,让你头疼?

这就是所谓的「AI 编程悖论」。

我们对它的期望是:我只要说一句话,它就能立马给我吐出完美无瑕的代码。

但现实往往是:我们花了几个小时去修复它生成的一堆烂摊子。

这种理想和现实之间的巨大鸿沟,就是问题的关键所在。

AI 编程悖论

这个问题的根源,可能根本就不在模型本身,而是在于我们自己,在于我们使用它的方法。想要得到高质量的输出,我们首先要改变的是我们跟它打交道的方式。

有句话说得虽然很直接,但是一针见血:

如果你用像 Opus 这么好的模型结果还是不行,那只能说明你的输入和提示词烂透了。

这句话听着扎心,但它点出了一个核心真相:在这场人机协作里,你(用户),才是那个最重要的变量。

停止「即兴编程」,先思考,再输入

大多数人使用 AI 工具时的第一反应就是直接输入问题,但这恰恰是最大的错误。真正高效的第一步,是思考。

在写下任何提示词之前,最关键的环节是进行规划。

先思考再输入工作流

这种「规划模式」意味着:

  • 在要求 AI 构建功能前,先思考其架构;
  • 在要求它重构代码前,先明确最终的理想状态;
  • 在要求它调试时,先想清楚所有已知的问题信息。

规划阶段的信息越充分,输入质量就越高,最终的输出结果自然也会越好。模糊的指令只会得到模糊的结果。

先思考再输入,其效果远胜于先输入再指望 AI 自己搞定。

下面是一个简单的例子:

  • 左边(错误示范):「给我建一个认证系统。」 这不叫指令,这叫许愿,你让 AI 怎么猜你的心思?
  • 右边(正确示范):具体的技术栈、要用的数据模型、业务逻辑,全都清清楚楚。只有这样,你才能得到你真正想要的东西。

在 Claude Code 中按下 Shift + Tab 组合键两次,就能进入规划模式。

花五分钟时间进行规划,可能会为你节省后续数小时的调试时间。

CLAUDE.md 不是文档,而是AI的「失忆笔记」

CLAUDE.md 是一个 Markdown 格式的文件,它就像是给 Claude 一份「入职培训手册」或者「项目说明书」。在每次跟你对话之前,它都会先把这个文件读一遍。文件里的每一条指令,都会决定 Claude 处理你项目的方式。

但是大多数用户要么忽略它,要么用错误的方式填充它,反而降低了AI的性能。

要用好这个文件,你需要记住以下几点:

  • 简洁精炼:别写成长篇大论,150条指令以内就差不多了。
  • 贴合项目实际:只写跟你这个项目强相关的东西。
  • 解释「为什么」:告诉它为什么这么做,而不仅仅是做什么。
  • 持续更新迭代:要随时更新它,让它跟你的项目保持同步。

优秀的 CLAUDE .md 就像你写给「明天会失忆的自己」的备忘笔记。

上下文窗口的局限性

像 Opus 4.5 这样的模型拥有 200k 的上下文窗口,但这其中有个巨大的陷阱:模型的性能远在上下文被完全填满前就开始显著下降,通常在使用率达到 20-40% 时就开始衰退。

这就是为什么有时即使压缩了上下文,Claude的输出质量依然很差。

要解决这个问题,可以采用以下几种实用策略:

  • 限定对话范围:
    坚持每个功能或任务使用一个独立的对话,混乱的上下文只会让 AI 感到困惑。
  • 使用外部记忆:
    对于复杂的任务,让 Claude 将计划和进度写入外部文件(如 PLAN.md)。这样,即使开启新的对话,AI也能通过读取文件快速跟上进度。
  • 复制粘贴重启法:
    当感觉上下文变得臃肿时,复制对话中的关键信息,运行 /compact 进行总结,然后运行 /clear 彻底清空上下文,最后只把最重要的信息粘贴回来。这种方法远比在性能下降的上下文中挣扎要高效得多。
  • 懂得及时清空:
    如果一个会话已经偏离轨道,或者积累了大量无关上下文,直接用 /clear 指令清空,重新开始。这比在混乱的上下文里硬着头皮推进要高效。

记住这个核心心智模型:Claude是无状态的。

每一次对话都从零开始,它只知道你明确提供给它的信息。

糟糕的输出不是模型的错

有一个残酷但必须承认的现实:如果你用着 Opus 4.5 这样的顶级模型却得不到好结果,问题不在模型,而在你。

我们必须停止抱怨工具,审视自己的输入。提示词工程不是什么神秘艺术,而是一项基础沟通技能。

糟糕的输入必然等于糟糕的输出

想要获得高质量的输出,这些技巧很关键:

  • 明确禁止事项:
    像 Claude 4.5 这样的模型倾向于过度工程化,如果你想要一个简单的解决方案,必须明确指出:保持代码简洁,不要添加我没要求过的抽象,如果可能的话,全部写在一个文件里。 此外,永远要交叉验证 AI 的输出,避免它在简单的任务中引入不必要的技术债。
  • 提供需求背后的背景:
    仅仅提出要求是不够的,解释背后的约束条件会彻底改变AI的解决思路。例如:「这个接口的响应速度必须快,因为它会在每个请求中被调用。」这样的信息,会让AI在性能和复杂性之间做出完全不同的权衡。
只说「做什么」 VS 解释「为什么」

输出质量差,根源在于输入差。

高级玩法:从用户到架构师

等你把前面这些都玩明白了,恭喜你,你可以准备升级了。

你的角色将从一个普通的用户转变为一个系统架构师。这个时候,你就不是在简单地跟 Claude 对话,而是在用它来构建强大的自动化系统。

下面是一些高级技巧:

  • 使用用 MCP(模型上下文协议) 连接 GitHub、Slack 等外部服务。
  • 用 钩子(Hooks) 让它自动帮你跑代码格式化工具。
  • 把你常用的提示词打包成自定义的斜杠命令。

当 AI 陷入循环时,停止推动,改变方向

有时,AI会陷入一个无效的循环:它反复尝试同一种错误的方法,屡试屡败,却固执己见。

我们下意识的反应是不断解释、纠正,试图把它“推”回正轨,但这通常是徒劳的。

更有效的策略是:彻底改变你的方法。

  • 尝试清空对话 /clear,累积的错误上下文可能是问题的根源。
  • 将复杂的任务分解成更小的步骤,让 AI 逐一完成。
  • 展示而非说教。如果AI始终无法理解你的意图,那就亲手写一个最小化的、能正常工作的示例给它看。AI 非常擅长从成功的范例中学习和模仿。
  • 换个角度描述问题。比如把「处理这些转换」改为「实现一个状态机」。

从指令者到系统构建者

通过这些技巧,我们能看到一个核心的思维转变:

从一个简单的指令发出者,转变为一个深思熟虑的AI交互系统架构师。

成功的关键不再是零散的命令,而是通过规划、上下文管理和清晰的沟通,来精心设计你与AI的每一次互动。

不要只把 Claude 当作一次性任务执行者。

你要构建的是一个系统:

  • Claude 执行任务。
  • 你审查日志/结果。
  • 发现错误,更新 CLAUDE.md 或调整 Hooks。
  • 下一次,Claude 表现得更好。

这就是飞轮效应。

通过数月的迭代,你的系统将变得无比强大。

追 - 踪 - AI - 趋 - 势     |     预 - 见 - 科 - 技 - 未 - 来

////////////////////

🤟👏🤟

关注

//有点儿西东//

「点赞」「转发」「小心心」

与你一起

探索智能时代的无限可能

🌟🌟🌟🌟🌟

////////////////////

最新文章

随机文章