我想讨论的一个话题是:在如今 AI 发展这么快的时代,我们学习开发应该怎么做?

我对编程最早的印象是在上初中的时候。最开始为了学 C 语言,那时对编程是真心感兴趣,特别好奇游戏、软件这些东西到底是怎么开发出来的。我当初的想法就是学一门比较常见、标准的语言。上网去百度查,给出的答案是 C 语言。于是我下载了 Visual Studio,买了一本《C Primer Plus》(第六版)开始对着学,也才慢慢开始了解里面什么是头文件、变量、函数、类型等等。

这是我的第一个阶段。

第二个阶段,我是通过视频来进行学习。因为我发现拿书来学习效率非常低:首先,书不可能塞进电脑里,你得低头看书再抬头打字,速度非常慢;其次,书只有视觉这一个媒介,而视频课有声音和画面两个媒介,信息接收速度会快很多。比如我最开始在哔哩哔哩上学 Python,是看一个叫“小甲鱼”还是什么的程序员视频开始接触的,包括 Python 如何请求数据、如何写网络爬虫等等。虽然现在我已经很久不用 Python,基本忘得差不多了,但这确实是我的第二个阶段。

到了 2022 年,ChatGPT 首次发布,大语言模型第一次走进了人们的视野,然后我就开始发现大语言模型这个东西真的是潜力无穷。

当初 GPT-3 的能力还比较有限,很难拿它做一些严肃的事情。它生成的代码经常瞎编函数或类型,写 TypeScript 报错非常严重,可能写 10 行代码就有 5 个报错,在当时基本是不可用的。但谁都没想到现在 AI 发展得这么快。

大家最开始想的是:既然 AI 能写代码,那就让它来辅助我写代码。最先意识到这一点的就是 Cursor 团队。他们在自己的 Cursor IDE 里面加入了 AI 功能:左侧是文件树,中间是代码编辑界面,右侧则是 AI 对话窗口(那时候还没有 Agent 的概念)。他们会把项目目录结构、当前界面、正在修改的文件、行号以及具体函数等信息打包作为上下文发送给 AI,让 AI 对整体情况有大致的掌握。当遇到问题时(比如某个函数在网络请求时报错没抓到),AI 就能结合上下文对代码进行修改。

这个想法确实很超前,但相较于 Anthropic 的工程师团队来说,依然偏保守了。Anthropic 工程师的想法非常激进:既然大语言模型发展得这么快、这么厉害,那未来有没有可能我们根本不需要看一行代码,也不需要写一行代码,全交给 AI 来完成?

于是他们做了一个工具,叫做 Claude Code。

Claude Code 最开始推出的时候,我立刻就上手用了。此前我一直订阅的是 ChatGPT Plus,从来没有订阅过 Claude Pro。Claude Code 推出后,X 上的 Timeline 大家都在讨论它有多厉害,比如能从零搓一个项目、搓一个个人网站,甚至搓一个 C 语言应用等等。

放到现在来看,当时的模型(Claude 3.0 Sonnet)其实还比较弱,但当时确实给人们带来了极大的震撼。我认为这是 AI 模型发展的一个起点:以前 AI 只能对话,现在竟然真的能干活了,这确实是一个非常大的改变。

这就引出了我自己学习开发的第三个阶段:使用 Agent 来辅助学习。

听到这里,你可能会有一个疑问:AI 这东西真的靠谱吗?虽然它能写代码,但拿它来学习感觉是一件非常严肃的事情。如果是日常对话,比如让它写个小软件或个人网站,错了也就错了,不会有严重后果;但如果试图拿它来学习,风险是不是一下子就提高了?

大家可能会设想这样一个场景:我要学一门新框架(比如 React),让 AI 讲讲其中的 useMemo 和 useEffect 是什么。AI 大言不惭地讲了一大堆,结果居然讲错了,而我当时完全不知道,听了错误的讲法、用了错误的代码。甚至在极端情况下,按照错误方式写出来的代码也能运行,只是埋下了隐性错误。

但我认为这种担心很大程度上是多余的,因为我们低估了大语言模型的能力。我个人的观感是,Claude 从 Opus 4.5 开始、GPT 从 5.4 开始,编程与讲解能力的准确度都极高,甚至一个真实的开发老师来讲都不一定有模型准确。大家总觉得大模型会犯错,但人犯错的概率其实比机器高得多。

放在今天,你很难找到一个不用 AI 去学习的理由。使用 AI 学习是一种非常 AI-native 的方式,从底层就开始融入 AI。

过去我们可能通过看视频、看书这种相对死板的方式学习,但在未来我们必然要用 AI 写代码。比如提需求前先让 AI 清理工作区、开 feature 分支,提完需求让 AI 写完代码后,我们做验收或 review 源码。甚至随着模型发展,我们连源码和测试都不用亲自 review,可以直接把测试交给 Agent 解决。

在手动笨拙地学习知识,与使用 Agent 辅助开发(AI Coding)之间,该如何过渡非常重要。我旗帜鲜明的观点是:在 AI 飞速发展的今天,绝对不能完全不用 AI 去“手搓”,搞得像古法艺人一样,这没有任何意义。

有人可能觉得不用 AI 学得更扎实,但这是错误的观念。这就好比一个小孩学算术一直用算盘,计算器发明后,他觉得用计算器没学到精髓、是在绕弯路,于是坚持用算盘;等他把算盘学精通了,才发现别人用计算器做的事情比他多十倍以上,速度也快得多。这完全是在做无用功。

所以,AI 学习不仅仅是一种方法,它更是奠定未来开发学习、乃至任何通识领域学习的新范式。