AI 编程是什么:从补全到智能体
先建立一张地图。AI 编程工具经历了补全、对话、智能体三个阶段,它们各自擅长什么、你还需要会什么,决定了你该怎么学、从哪里开始。
学完这一课,你能
- 说清补全、对话、智能体三类 AI 编程工具的区别
- 理解智能体「读—想—做—验」的工作循环
- 知道用 AI 编程时,哪些事仍然必须由你负责
如果你刚开始接触 AI 编程,最容易犯的错是把所有工具当成同一种东西:有人拿聊天窗口去改一个几百个文件的项目,来回复制粘贴到崩溃;也有人让智能体从零写一个大系统,却不说清楚要什么,最后得到一堆看似能跑、实际没法维护的代码。
这一课先不装任何东西,只做一件事:建立一张地图。
三代工具,三种协作方式
过去几年,AI 写代码的方式大致经历了三个阶段。它们不是替代关系,今天仍然同时存在,只是适合的场景不同。
| 补全 | 对话 | 智能体 | |
|---|---|---|---|
| 典型形态 | 编辑器里的灰色提示 | 网页聊天窗口 | 终端 / IDE 里自主干活的助手 |
| 你给它什么 | 光标附近的代码 | 你复制进去的片段和问题 | 一个目标,加上整个项目 |
| 它能做什么 | 补完当前这几行 | 解释、给建议、写一段代码 | 读文件、改多个文件、跑命令、看结果再修改 |
| 谁来动手 | 你 | 你(复制粘贴) | 它(在你的授权下) |
| 适合 | 熟练开发者提速 | 学习、查问题、写小片段 | 完成一个完整任务 |
补全像一个反应很快的同桌,你写上半句,它猜下半句。它不知道你要做什么,只知道你刚写了什么。
对话像一个随叫随到的老师。它懂得很多,但看不到你的项目,你得自己把相关代码贴给它,再把它的答案贴回去。项目一大,这种「人肉搬运」就成了瓶颈。
智能体(Agent)是这一轮变化的核心。它能直接看到你的项目文件,可以自己决定先读哪些文件、改哪里、运行什么命令来检查。你从「逐行指挥」变成了「布置任务、审查结果」。Claude Code、OpenAI Codex、Cursor 的 Agent 模式、GitHub Copilot 的 coding agent 都属于这一类。
智能体是怎么干活的
无论哪家的智能体,内部都是同一个循环:
- 读:根据你的要求,搜索、打开相关文件,弄清现状;
- 想:规划要改哪些地方、按什么顺序改;
- 做:编辑文件、运行命令(比如安装依赖、启动程序、跑测试);
- 验:看命令输出和报错,判断是否达到目标;没达到就回到第 1 步。
这个循环会一直转,直到它认为任务完成,或者需要你做决定。下面是一次真实感很强的交互(细节简化过):
$ claude> 给待办列表加一个「清空已完成」按钮,并确认页面能正常运行⏺ 我先看一下项目结构和待办列表的组件。 Read src/components/TodoList.tsx Read src/store/todos.ts⏺ 需要在 store 里加 clearCompleted 方法,并在列表底部加按钮。 Edit src/store/todos.ts (+6 -0) Edit src/components/TodoList.tsx (+9 -1)⏺ 运行测试和类型检查: Bash npm test && npm run typecheck ✓ 14 passed⏺ 已完成:新增按钮,无已完成项时自动隐藏。测试全部通过。 注意智能体做的最后一步:它自己跑了测试。能不能让智能体自己验证结果,是用好它的关键,后面的课会反复讲到。
哪些事仍然是你的
智能体很强,但它不会替你承担责任。下面这些事,任何时候都应该由你负责:
- 说清楚要什么。智能体最常见的失败不是「不会写」,而是「写的不是你要的」。目标、限制条件、怎样算完成,越具体越好。
- 审查它改了什么。你不需要读懂每一行,但要知道它动了哪些文件、为什么动。第 6 课会教你用最少的 git 知识做到这一点。
- 把关危险操作。删除文件、改数据库、推送代码、处理密钥,这些操作在执行前要你点头。好的智能体默认会请求许可,不要图省事全部放开。
- 判断「好不好」。代码能跑不等于好用。用户体验、产品取舍、长期维护成本,需要人来判断。
你适合从哪里开始
- 完全没写过代码:按顺序学完「起步」路径,重点是第 3、4 课,把第一个项目真正跑起来。
- 会写代码,没用过智能体:快速浏览本路径,然后进入「Claude Code 精通」。
- 已经天天在用:直接去「AI 编程的工程方法」,或者到练习场检验一下自己。
你想让 AI 帮忙给一个已有项目加功能,涉及 5 个文件的修改并且需要跑测试确认。最合适的工具形态是?
以下哪件事,即使用了智能体也应该由你亲自负责?
动手试一试
还没装任何工具也没关系,先用任意一个你能访问的 AI 对话助手,感受一下「布置任务」和「问问题」的区别:
我想做一个网页版番茄钟:25 分钟专注、5 分钟休息,可以开始、暂停、重置,时间到了响铃提醒。
在写代码之前,请先:
- 列出你对需求不确定、需要我确认的地方(不超过 5 条);
- 给出你打算的实现方案(用什么技术、分几个文件);
- 说明完成后我该怎么验证它是对的。
你会发现,好的 AI 会先追问细节,而不是直接开写。这就是下一课以后要反复练习的协作方式:先对齐目标,再动手,最后验证。
动手清单
0/4参考来源
工具更新很快,若与官方文档不一致,以官方为准。
学完了吗?
标记完成会记录在本机浏览器,计入你的学习进度和连续天数。