本文是专栏《AI 编程实战》第 1 篇。回到目录与导读。
要用好 AI 编程,得先看清它走到了哪一步。过去十年,AI 写代码的能力经历了三次跳跃,每一代解决的问题、需要你配合的方式都不一样。很多人用着第三代的工具,脑子里还是第一代的用法,自然发挥不出实力。
第一代:补全——"帮你把这行敲完"
代表:早期的 GitHub Copilot(2021 年前后)、各种 IDE 智能提示。
它的形态是行内补全(autocomplete):你敲代码,它在光标后面用灰字"猜"你接下来要写什么,你按个 Tab 就接受。
你敲: def calculate_average(numbers):
它补全: return sum(numbers) / len(numbers) ← 灰字,Tab 接受
本质上,这就是《大模型专栏》第 1 篇讲的"预测下一个词",只不过预测的是代码。它很好用,但角色很卑微——你是主驾,它是副驾递工具,一次只帮你一小段。
- 强项:写样板代码、重复模式、你已经知道该怎么写、只是懒得敲的东西。
- 短板:它不懂你的意图,只顺着字面猜。你想干的事稍微一复杂,它就跟不上。
第二代:对话——"我来跟你说需求"
代表:ChatGPT 写代码、IDE 里的聊天侧栏(Cursor Chat、Copilot Chat)。
形态从"补全"变成了对话(chat):你用自然语言描述需求,它给你整段代码、解释、或者帮你改 bug。
你:帮我写一个函数,把驼峰命名转成下划线命名,处理连续大写。
它:(给出完整函数 + 用法示例 + 边界说明)
这一代的飞跃在于:你终于可以说"我想要什么",而不是"帮我补这行"。 角色关系变了——你是提需求的人,它是干活的人。 这也是为什么提示词从这一代开始变得关键:你说得清不清楚,直接决定它写得好不好。
- 强项:写独立的函数/模块、解释陌生代码、快速试方案、查"这个报错啥意思"。
- 短板:它看不到你的项目全貌,只知道你贴给它的那点代码。改一个涉及多文件的功能,你得手动来回复制粘贴,累且容易漏。
第三代:智能体——"你说目标,我自己搞定"
代表:Claude Code、Cursor 的 Agent 模式、Codex 等(2024 年底起爆发)。
这一代叫 智能体式编程(agentic coding),是质变。它不再是"你贴代码、它回代码",而是——你给一个目标,它自己在你的真实项目里读文件、改多个文件、跑测试、看报错、再改,直到搞定。
你:给用户模块加一个"修改密码"功能,要有前后端和测试。
它:① 读了相关的 5 个文件,搞清现有结构
② 改了后端接口、前端页面、加了 3 个测试
③ 跑测试 → 挂了 2 个 → 自己定位、修好
④ 再跑 → 全绿 → 汇报"完成"
这背后正是《AI Agent 专栏》讲的那套"思考→行动→观察"循环,只不过工具变成了"读文件、写文件、运行命令"。角色又变了——你从"写代码的人"变成了"派活和把关的人"。
- 强项:跨多文件的功能、大范围重构、探索陌生代码库、调 CI 报错——这些"要通盘考虑"的活。
- 短板:放得越开,越需要你会审查、会验收。它能一口气改 20 个文件,也能一口气埋 20 个雷。这正是第 5 篇要重点讲的。
三代对比
| 第一代 补全 | 第二代 对话 | 第三代 智能体 | |
|---|---|---|---|
| 你给它什么 | 光标位置 | 一段需求 | 一个目标 |
| 它交付什么 | 补下一行 | 一段代码 | 改完整个功能 |
| 它看得到 | 眼前几行 | 你贴的代码 | 你的整个项目 |
| 你的角色 | 主驾 | 提需求者 | 派活 + 把关 |
| 关键能力 | 按 Tab | 会描述需求 | 会拆任务 + 会审查 |
注意:三代不是互相取代,而是叠加。 今天最好的工作流往往是混用:日常敲代码用补全(快),问个问题用对话,干大活派给智能体。第 6 篇会细讲怎么搭配。
一个关键认知
看完三代进化,最值得记住的是这条趋势线:
AI 承担的粒度越来越大——从"一行"到"一段"到"一个功能";而你的工作,正从"敲字"上移到"想清楚要什么、判断它干得对不对"。
这不是说敲代码的能力没用了,恰恰相反——你越懂代码,越能把活派明白、越能一眼看出它哪里错了。 AI 编程放大的是判断力,不是替代它。
小结
- AI 编程经历三代:补全(补下一行)→ 对话(写一段)→ 智能体(改一个功能)。
- 粒度越来越大,你的角色从主驾变成提需求者,再变成派活与把关的人。
- 三代叠加使用,不是互相取代。
- 核心趋势:你的精力从"敲字"上移到"想清楚 + 把关"——判断力比手速更值钱。
下一篇解决一个很多人好奇的问题:第三代工具号称能改一整个项目,可模型的上下文就那么点大,它到底怎么"看懂"你几十万行的代码库的?
继续阅读:AI 怎么"看懂"你的整个代码库