乐于分享
好东西不私藏

AI Coding 避坑指南:搞不定复杂项目,多半是拆解没做好

AI Coding 避坑指南:搞不定复杂项目,多半是拆解没做好

凌晨两点。

屏幕上是第 14 版报错信息。

盯着 AI 生成的那堆代码,感觉像在看天书。变量名乱七八糟,逻辑绕来绕去,改了一个 Bug,冒出三个新的。

叹了口气,把键盘推开。

“让它写个贪吃蛇,三秒搞定。让它写个带鉴权、数据库、后台管理的系统,写到一半就疯了。”

这是上周一个粉丝发给我的原话。

我回了他一句:

“编程就是拆解 + 验证,没别的了。”

他回了一个”?”。

我说:“以前你觉得这是废话,是因为你以前需要自己写代码,没精力思考这两件事。现在 AI 能写代码了,这两件事才是你唯一需要做的事。”


01

先说一个让很多开发者不舒服的真相。

AI 写不好复杂项目,不是因为模型不够聪明,是因为你给它的指令太”大”了。

很多人用 AI 写代码的习惯是这样的: “帮我做一个类似 Notion 的笔记应用,支持 Markdown、实时协作、标签管理、权限控制。”

然后 AI 给你吐出一堆代码。你跑了一下,报错。你改了一下,又报错。你发现,这堆代码就像一坨意大利面,根本没法维护。

这时候你会怪 AI:“这模型不行啊,逻辑太差。”

但问题不在模型,在你。

大语言模型的本质是什么?是概率预测。它没有”全局架构”的概念,它只有”下一个 token 是什么”。

你给它一个宏大的需求,它只能基于概率去”猜”一个实现。这种猜测在简单场景下(比如写个正则、做个排序)是准的,但在复杂场景下(比如处理并发、管理状态、设计接口),就是灾难。

复杂项目的核心难点,从来不是”代码怎么写”,而是”问题怎么切”。


02

把时间线拉长一点看。

过去十年,我们学编程,学的是语法、是框架、是设计模式。我们以为掌握了这些,就能搞定复杂项目。

但 AI 时代,语法和框架的门槛被抹平了。

现在的核心能力,变成了两件事:拆解能力 + 验证能力。

拆解:把大问题变成小问题

拆解不是简单的”分模块”。

很多新手理解的拆解是:前端、后端、数据库。 这叫”分工”,不叫”拆解”。

真正的拆解,是把一个模糊的业务需求,翻译成 AI 能执行的、原子化的技术任务。

我常用的拆解三层法:

第一层:业务拆解(User Story) 别跟 AI 说”做一个用户系统”。 它听不懂。 你得说:“用户需要能注册、登录、找回密码,且密码需要加密存储。”

第二层:技术拆解(Interface & Data) 别跟 AI 说”写个 API”。 太泛了。 你得说:“定义一个 POST /api/login 接口,接收 email 和 password,返回 token 和 user_id。数据库表结构包含 idemailpassword_hash。”

第三层:任务拆解(Implementation) 别跟 AI 说”实现登录逻辑”。 它会自由发挥,然后发挥到你不想看到的地方。 你得说:“1. 校验邮箱格式。2. 查询数据库。3. 比对 bcrypt 哈希。4. 生成 JWT。5. 处理错误情况(用户不存在、密码错误)。”

每一层,都是上一层的具体化。

当你把任务拆解到第三层的时候,AI 写代码的准确率会从 50% 飙升到 95% 以上。

因为这时候,AI 不需要”思考”,它只需要”翻译”。

学习曲线与失败点:

刚开始练拆解,你会觉得很慢。 以前你直接上手写,现在你要先画图、写伪代码、定义接口。 你会觉得”这不脱裤子放屁吗”。

这是正常的。

你在训练自己的”拆解肌肉”。 前三个项目,你会觉得效率降低了 30%。 但从第四个项目开始,你会发现 AI 生成的代码几乎不需要改。 整体效率会提升 3 倍以上。

最大的失败点在于:舍不得拆解。 总觉得”这个功能很简单,AI 肯定能懂”。 结果就是:AI 不懂,你也不懂 AI 懂了什么,一起懵。

验证:确保每一步都对

拆解完了,AI 写完了,就结束了吗?

没有验证的代码,就是定时炸弹。

AI 有个毛病:它很自信,但它经常自信地犯错。

漏掉边界条件是常事。用错库的版本也不稀奇。 最要命的是,它有时候会写出那种”能跑但有安全漏洞”的代码。

所以,验证比写代码更重要。

验证的三重防线:

1. 静态验证:让 AI 自己查错 代码生成后,不要急着跑。 先让 AI 自己 Review 一遍:“这段代码有没有潜在的空指针异常?有没有 SQL 注入风险?” AI 查 AI,往往比人眼更准。

2. 动态验证:测试驱动开发(TDD)的回归 以前我们觉得 TDD 太慢,现在 TDD 是 AI Coding 的救星。 先写测试用例,再让 AI 写代码。 测试过了,才算过。 测试没过,把错误信息喂给 AI,让它改。这个循环的速度,决定了你的开发效率。

3. 人工验证:Code Review 的降维 你不需要看每一行代码。 你只需要盯住几个关键点: 接口定义对不对?数据流向清不清晰? 至于有没有明显的逻辑漏洞——跑一遍测试就知道了。

你的角色,从”搬砖工”变成了”监理”。


03

说一个可能让部分”Prompt 工程师”不舒服的判断。

AI Coding 时代,最先被淘汰的不是”不会写代码的人”,是”不会拆解问题的人”。

因为 AI 写代码的速度,已经超过了 99% 的人类。 但 AI 还不知道”该做什么”,还不知道”这个需求合不合理”,还不知道”这个架构能不能扩展”。

而这些,恰恰是拆解能力的核心。

所以回到开头那个问题:“为什么 AI 搞不定复杂项目?”

我的回答是:

不是 AI 搞不定,是你没把它”喂”好。

复杂项目不是不能做,是要切成小块做。 一口吃不成胖子,AI 也一样。

拆解 + 验证,是 AI 时代的编程底层操作系统。

工具变了,但解决问题的逻辑没变。


Q&A

Q:拆解这么细,会不会比我自己写还慢?

A:刚开始会。因为你在训练自己的”拆解肌肉”。但一旦你熟练了,拆解的速度会非常快。而且,拆解清晰后,AI 生成的代码几乎不需要改,整体效率是指数级提升的。

Q:AI 写的代码有 Bug 怎么办?

A:不要自己改!把错误信息、堆栈跟踪、相关代码片段喂给 AI,告诉它”这里报错了,请修复”。让 AI 修 AI 的 Bug,通常比人修得快。

Q:什么样的项目适合用 AI 做?

A:逻辑清晰、边界明确的项目最适合。如果是那种需求天天变、逻辑极其复杂的”屎山”项目,建议先做重构和梳理,再引入 AI。

Q:我需要学很多新工具吗?

A:不需要。核心是思维方式的转变。工具只是辅助,拆解和验证的能力,才是你的护城河。


写到这里,我想起了刚开始学编程的时候。

那时候觉得,能写出一个能跑的程序,就是大神。

后来觉得,能写出优雅的代码,才是大神。

现在我觉得,**能把一个复杂问题拆得清清楚楚,让 AI 去实现,还能确保它不出错——这才是真正的大神。**

路还长,慢慢走。