前言:AI时代,编程变得更简单
这本书是写给小鹿同学的。
小鹿是一位正在学习工程师道路上的年轻人。她对AI充满了好奇,日常工作里也会尝试用通义千问来帮忙写写代码。眼看就要开始找实习了,我希望可以尽我所能的帮助她系统地掌握一些AI知识,好让自己在面试时更有底气。
我翻来找去,市面上的AI学习资料,要么是写给算法工程师看的,门槛高得吓人;要么是写给完全零基础的小白看的,内容浮于表面。而对于像小鹿这样——有些编程基础、想用AI提升工作效率、又不想被深奥理论劝退的人来说,确实少了一个合适的选择。
于是,我决定亲手写一本。
刚开始写的时候,我只是想帮小鹿解决一个问题。写着写着,我发现这些内容可能比我想象的适用范围更广。如果你也像她一样——对AI充满好奇,想用它来辅助编程,却不知道从何入手,或者在各种概念和工具之间迷失了方向——那么这本书,也是写给你的。
我们正处在一个特殊的时代节点。
如果把软件开发比作一门手艺,那么过去几十年,学习这门手艺的路径几乎没有太大变化:先学语法,再学数据结构和算法,然后熟悉框架,最后通过大量实践积累经验。一个新手成长为熟练的开发者,往往需要数年时间。
而今天,这条路径正在被改写。
2023年ChatGPT的横空出世,让"人工智能"从实验室走进了千家万户。短短两年时间,AI已经深刻地改变了软件开发的方式。过去你需要花几个小时才能写完的代码,现在可能只需要几分钟;过去你需要翻遍文档、搜索Stack Overflow才能解决的问题,现在只需要一句话就能得到解答。
这不是说编程变得不重要了。恰恰相反,理解编程的本质变得比以往任何时候都更重要。因为当你拥有了AI这个强大的工具,你面临的挑战从"怎么写代码"变成了"怎么让AI写出你要的代码"、"怎么判断AI的答案对不对"、以及"怎么把AI给你的片段组装成一个完整的解决方案"。这些能力的背后,依然是对编程思维的深刻理解。
我想打一个比方。
想象你在学习摄影。传统的学习路径是:理解光学原理、学习曝光三要素、熟悉各种器材、掌握后期修图软件……然后你才能拍出一张像样的照片。而现在,智能手机的AI功能已经能帮你自动调参数、智能美颜、甚至一键出片。那么,光学原理还有必要学吗?曝光三要素还重要吗?
答案是:如果你想拍出好照片,这些知识依然重要。你不需要成为光学专家,但你需要知道"光线太暗时该怎么处理"、"怎么构图更好看"、"什么场景适合什么风格"。正是这些知识,帮你判断AI给的效果是不是你要的,帮你引导AI往正确的方向调整,帮你实现那些AI想不到的创意。
AI辅助编程的道理是一样的。你不需要成为AI专家,不需要深入理解神经网络、反向传播这些深奥的概念。但你需要理解AI是怎么"思考"的,它擅长什么、不擅长什么,怎么跟它沟通才能得到你想要的结果。这些,正是这本书想传达给你的。
本书有一条清晰的学习主线。
我们会从认识工具开始——了解目前主流的AI编码工具有哪些,它们各有什么特点,怎么选择适合自己的。然后,我们会学习如何与AI"对话":怎么描述你的需求,怎么让AI解释代码给你听,怎么让它帮你找bug、做代码审查。
在这些基础技能之上,我们会一起动手写几个小程序。从最简单的Hello World,到处理文件的实用脚本,再到抓取网页数据的小工具。你会在实践中发现,原来编程可以这么有趣、这么有成就感。
当你有了一些实践经验后,我们会回过头来聊聊原理。这里没有复杂的数学推导,而是用最直观的方式帮你理解:AI是怎么学习的?为什么它有时会"忘记"你之前说的话?Token是什么,为什么它会影响成本?理解了这些,你会对AI的行为更有预判,也更知道怎么规避它的局限。
接下来,我们会把目光投向更实际的应用场景:前端开发、后端开发、代码重构、写测试、生成文档……你会发现,在AI的辅助下,这些曾经让你头疼的任务变得轻松了许多。
本书的后半部分,我们会探索一个更前沿的领域:AI Agent。如果说用ChatGPT写代码是"与AI对话",那么Agent就是让AI"自己去干活"。它会自己规划任务、自己调用工具、自己检查结果,你需要做的只是告诉它目标、审核它的产出。这是目前AI应用最火热的发展方向之一,也是我认为每个开发者都应该了解的技术趋势。
最后,我们会用一个完整的实战项目把所有知识串联起来,再总结一些最佳实践和常见陷阱。当你读完这本书,你将获得的不仅是一些操作技巧,而是一套完整的思维框架——一套在AI时代进行软件开发的思维框架。
关于这本书怎么读,我有几个小建议。
如果你是完全的编程新手,我建议你从头到尾按顺序阅读,不要跳章。这本书的设计是渐进式的,每一章都有它的用意,前面的内容会在后面反复用到,形成知识的呼应。
如果你已经有一些编程经验,可以直接跳到感兴趣的部分,但我会建议你至少读一下第五章和第九章的原理部分。这两章讲的是AI"为什么"会这样工作,理解了原理,你对AI的行为会有更准确的预判,遇到问题时也更容易找到原因。
不管你是谁,我都有一个核心建议:动手实践。这本书里的每一个知识点、每一个例子,我都希望你试试看。光看不练,你可能会觉得"懂了";但只有自己动手做过,遇到问题、解决问题,你才算真正掌握了。AI编程是一门实践的技艺,不是纸上谈兵的理论。
在正式开始之前,我还想分享一个观念。
有人说,AI的发展会让程序员失业。我不这么认为。
每一次技术革命,都会让一些工作消失,也会创造新的工作。计算器出现了,算盘先生消失了,但会计师并没有失业,反而因为工具的进步能做更复杂的事情。翻译软件出现了,低端的翻译工作减少了,但真正优秀的翻译反而更稀缺了,因为机器翻译不了文化、翻译不了情感、翻译不了言外之意。
AI辅助编程,本质上是把程序员从"搬砖"的工作中解放出来,让我们把精力投入到更需要创造力、更需要人类判断的地方。AI不会取代程序员,但会用AI的程序员,可能会取代不会用AI的程序员。
这句话听起来有点残酷,但我觉得它是一个真实的趋势。与其担心被取代,不如主动拥抱变化,成为那个"会用AI"的人。
这本书,就是帮你迈出这一步的起点。让我们开始共同进入充满魅力与不确定性的AI世界吧。