很多读者希望我出一套完整的 AI 编程教程,所以我开了这个章节。
自从 2022 年底 ChatGPT 出来后,我就一直在和 AI 打交道。记得那时候还是 GPT-3.5 模型,我就用这种初代模型给整个网站添加了多语言支持(以前算法笔记教程主要以 Java 为主)。
那时候的模型指令遵从能力差,说白了就是经常不听话,输出格式总是跑偏,也没有 AI 驱动的编程助手工具。所以我就古法编程自己写脚本调 API 搓了一套工作流,硬是把代码翻译完成了,效果还不错。
现在再回头看,模型比那时候强太多了,AI 的形态也不只是网页里的聊天机器人了,而是向 Agent 的方向演进,可以直接帮你写代码、搭网站、做各种复杂的工程任务。
比如网站的 AI 助教 就是一个简单的 AI Agent,它能够根据你的阅读内容,和网站的教学风格,给你提供定制化的答疑服务。
为啥开这个新章节
我自己玩了这么久 AI,身边的朋友也都是 AI 的深度使用者,所以以为大家都对 AI 都已经非常熟悉了。
但是有很多读者问我这方面的问题,而且从大家的问题来看,无论是 AI 编程工具,还是 AI 相关的基本概念,都存在一些误区和混淆。
比方说,最早 chatGPT 出来的时候,那时候我们在探讨 LLM(大语言模型),越往后发展,新的概念层出不穷,比如 Agent(智能体)、MCP、Skills 等等。
之前,我们戏称 AI 编程为 Vibe Coding,现在又流行 Spec Coding, Harness Engineering 等等。
对于初次接触 AI 的朋友来说,这些概念很容易混淆。实际上这种术语本来就在不断演进,混淆也不奇怪。
那么在技术不断变化的过程中,总有不变的对吧?
就像我们讲 学习数据结构和算法的框架思维 一样,开篇就讲算法的本质就是「穷举」,一切算法技巧都是围绕穷举展开的优化。有了这种认知,再去学习各种算法技巧,就不被各种名词迷惑,一眼看透本质。
其实 AI 相关的技术也是一样,我来梳理一下:
所有 AI 技术的基座就是大语言模型(LLM),它的本质就是一个概率模型,根据已有的文本内容,预测下一个文本内容(token)是什么。
至于 Agent、MCP 等概念,都是围绕 LLM 的一套工程方法。
为啥需要工程方法呢?因为 LLM 并不完美,它的脑容量(上下文 Context)是有限的,信息超出这个上下文限制,LLM 就无法处理了。
所以,我们作为一个使用 LLM 的开发者,唯一需要做的事情就是在 LLM 有限的上下文中,尽可能准确高效的完成目标任务。
比如技能(Skills)、压缩(Compaction)、渐进式披露(Progressive Disclosure)等概念,都是在有限的上下文中雕花,提高上下文的使用效率。
LLM 自己写代码造轮子会浪费 token,而且不一定准确,那我们给它提供一系列可靠的工具,让它调用不就好了?
这就引出了函数调用(Function Calling),MCP(Model Context Protocol)等概念,让 LLM 能够调用我们给它提供的工具。
更进一步,对于编程这种比较复杂的开放性任务,尤其是在代码仓库比较大的真实开发场景下,LLM 也很难说一次性理解所有内容,一次性给出正确的代码。
会不会修了这个 bug,又引出一个新的 bug?会不会实现了这个功能,导致那个功能异常了?这种问题是常有的。
所以,为了确保 LLM 写的代码可以被验证,尽早发现问题并修复,我们就需要一套面向 AI 的测试、反馈、修复机制,这也就是最近比较火的 Harness Engineering 的概念。
当然,光说这些对于没搞过 AI 开发的读者来说,还是有些抽象,本章会手把手带你从零开始做 AI 应用的开发,到时候看到代码就彻底理解了。纸上得来终觉浅,绝知此事要躬行嘛!
本章的内容计划
本章内容才刚开始更新,本站会员 可以直接解锁所有内容。
我计划本章包含分几大部分:
第一部分,讲解 AI 应用开发的核心概念和原理,并讲解 Claude Code 等常用 AI 编程工具的使用技巧。
第二部分,以 Claude Code 这种编程 Agent 为例,深入讲解 Agent 开发过程中的各种技巧和工程方法。
第三部分,讲解我们自己手搓一套 Coding Agent,彻底掌握 Agent 开发的技能。
本章的重点在于 AI 编程的理论基础和实践,不会深入讲解 LLM 本身的训练、推理、优化等原理,因为大模型开发的坑位非常少,要求非常高,一般人玩不转。
了解基本原理和使用技巧就够你用了,我们还是聚焦如何用好 AI,来辅助自己的工作、构建自己的产品。
我会尽量用通俗的语言、可运行的代码,以及交互式的学习体验来帮助你理解和实践。
比如这是教程中一个交互式教学组件,展示聊天机器人的底层原理:
这是一个复刻 Claude Code 的交互组件,为了讲解 Claude Code 的使用技巧及原理:
这是我们将自己开发的一个 Coding Agent 工具:
目前整个章节的内容还在不断更新,大家敬请期待~