你好,我是李锟。
这节课是我们这门课程的最后一课。我们的学习之旅到达了一个里程碑,我们需要对学习过程做一些复盘。阶段性的复盘对于学习或者工作是非常重要的。
课程的回顾
我们已经学了多少?
在这门课程中,我带你完成了以下这些学习任务。
准备篇包括了2节课。01 课介绍了 Autonomous Agent 有何特点、与 ChatBot 有哪些主要区别、Autonomous Agent 要解决什么问题、Autonomous Agent 开发框架的历史和生态。02 课介绍了开源 LLM 相关的知识,包括开源 LLM 的文件格式、开源 LLM 的发布平台、开源 LLM 的部署工具等等。这些知识对于我们在本地部署使用开源 LLM 是必不可少的。
入门篇包括了 11 节课。在入门篇我们学习了 4 种 LLM 应用开发框架,包括三种 Autonomous Agent 开发框架 + 一种自动提示词开发框架。我们立足实战,分别使用三种 Autonomous Agent 开发框架实现了 24 点游戏智能体应用。我还介绍了 MetaGPT 和 AutoGPT 的一些高级开发技能。
进阶篇包括了 8 节课。在进阶篇,我们学习了设计开发 Autonomous Agent 的通用方法。并且设计开发了一个中等复杂度的 Autonomous Agent —— 企业员工 AI 助理 。在开发 AI 助理的过程中,我们解决了基于 AutoGPT Server 开发 Autonomous Agent 的一些工程学方面的技术问题:
-
支持更多开源 LLM,例如 Qwen2.5 + Qwen2.5-Math、DeepSeek V3 + DeepSeek R1。
-
实现了 AutoGPT Server 目录与 Autonomous Agent 项目目录的分离,同时通过符号链接让 AutoGPT Server 能够调用项目目录内的自定义代码。
-
实现了通过 RESTful API 和本地 API 调用 AutoGPT Server 中的 Agent。
-
为基于 AutoGPT Server 的应用实现了 Web 前端的验收测试页面,页面中可通过 RESTful API 和 WebSocket API 与 Web 后端通信。
在这门课程中,我们还熟悉了几种基础 LLM 的使用方法。
-
开源 LLM:Qwen2.5 + Qwen2.5-Math、DeepSeek V3 + DeepSeek R1、Llama3.2
-
云端商业 LLM:OpenAI o1-mini
有了这些实战开发经验,你再使用其他 LLM。比如云端部署的商业 LLM,或者本地部署的开源 LLM,都会很容易。
里程碑:动手做自己感兴趣的小项目
因为学到这里,我们已经可以启动一些自己感兴趣的 Autonomous Agent 小项目了。随着这些小项目的推进,再去有针对性地学习新的知识。这就是 Sam Altman 强调的“在做中学”。不必担心这些小项目拿不出手,那怕是一个所谓的“狗窝项目”,只要这个项目确实有用,就有它存在的价值。相信我,做一个精致的狗窝没什么丢人现眼的。
与其他开发者相比,我们目前处于一个非常有利的位置。首先,大多数 LLM 应用开发者只会开发一些简单的 ChatBot。这类简单的 ChatBot 基于常见的低代码开发工具,很容易开发。有很多自以为比“懂王”还懂的老板,认为随便找一两个大学生,就能开发好一个 ChatBot。你去跟这些开发者竞争开发此类简单的 ChatBot,显然是不明智的。但是开发企业级的 Autonomous Agent 就完全是另一回事了,这方面的人才目前是很稀缺的,而且这类应用比简单的 ChatBot 有用得多。
其次,我们已经掌握了 4 种 LLM 应用开发框架。基于这些开发框架来开发 Autonomous Agent,相当于是站在巨人的肩膀上面,你的开发效率和视野会比只会在 OpenAI API 或特定 LLM 的 API 基础上做开发的开发者要好得多。正如我在 21 课强调过的,开发企业级 Autonomous Agent 必须同时解决大量的工程学细节问题,而一个优秀的开发框架,可以帮助我们解决好大量的工程学细节问题,让我们更加专注于解决真正重要的领域问题和算法问题。
第三,通过学习这门课程,我们已经了解了 LLM 应用这个行业的全貌,不会只见树木不见森林。而且我们已经对于“在做中学”的学习方法烂熟于胸,以后我们的学习会更加有针对性,挑选学习材料会更加严格,不会饥不择食。我们学习的效率和深度会远远超过那些不理解“在做中学”的开发者。
现在的在线教育市场上,很多人在到处贩卖焦虑感,充斥着各种高冷技术专家、高冷学院派。可是乱花渐欲迷人眼,你必须尽快找到自己在行业中的准确定位。你现在已经理解了最佳的学习方法是“在做中学”,并且构思出来了自己最感兴趣的小项目。如果实在想不出来做什么项目最好,那么就跟着我继续开发这个 AI 助理好了。
到这里就结束了吗?
学习到这里,你可能会感到意犹未尽。我们似乎才刚刚开始,难道课程到这里就结束了?
开发 Autonomous Agent 是一个令人兴奋的方向,也充满了艰辛,也充满了希望。因此我们的课程并不会结束。未来我还会根据你的反馈,适当增加一些新的内容。
在完成课程以及项目的过程中,我也基本坚持了我最初的设想——实例驱动。通过要实现的应用的真实需求,驱动对 LLM、AI 相关技术的学习和使用,这是这门课程的主要特点。市场上充斥着大量 LLM 应用开发的教程和图书,往往生搬硬套很多算法公式,貌似面面俱到,实则蜻蜓点水泛泛而谈,几乎没有完整可运行代码例子,我是故意反其道而行之。如果这种教学方法能够得到你的认可和欣赏,未来新增的内容也会继续坚持这种方法。
开发框架的价值
在 LLM 应用开发领域,有很多开发者看不到开发框架的价值,认为基于 OpenAI API 可以做所有的开发。这个观点有一些道理,一方面现有的一些开发框架或者低代码开发工具往往过度封装,并没有真正促进 LLM 应用的开发,使得开发者不得不与框架的局限进行搏斗。另一方面,基础 LLM 的发展日新月异,直接基于 OpenAI API 可以充分利用新版本基础 LLM 的新功能。
然而这样做的弊病也很大,原因很简单,开发者不得不自行解决大量工程学细节问题。太阳底下没有新雪,其实大多数工程学细节问题都是通用的,几乎所有开发者都需要面对。我们应该慎重地选择一种轻量级开发框架,这种开发框架已经解决了大量工程学细节问题,并且对于多 Agent 协作做了很好的抽象,还支持强大的工作流。基于这种开发框架做开发,一定会事半功倍。这也是我选择基于刚刚开发了大半年的 AutoGPT Server 来实现 AI 助理的原因。
对自己的能力过高估计、看不到工程学细节问题,是很多年轻开发者最常见的两个问题。希望你能够意识到这两个问题。其实拿来主义没有什么丢人的,君子善假于物嘛。
AI 已走入歧途?
就像英国大文豪查尔斯·狄更斯经典小说《双城记》的开场白写的:
这是最好的时代,这是最坏的时代;这是智慧的年代,这是愚蠢的年代;这是信仰的时期,这是怀疑的时期;这是光明的季节,这是黑暗的季节;这是希望之春,这是绝望之冬;我们的前途拥有一切,我们的前途一无所有;我们正走向天堂,我们也正直下地狱。
上面这段话正是对于我们目前所处这个时代的准确描述。我们毫无疑问处在一个科技昌明的时代,然而每个人都感受到了满满的危机。AI 究竟能不能真正改善人类的生活品质?AI 时代为什么到处都是裁员?难道 AI 带给人类的只有这些?AI 工具和人类之间能不能达成“双赢”?难道 AI 工具只能导致人类的极度内卷,贫富分化不断加剧?

上面图中 Joanna Maciejewska 女士在社交媒体上说的这段话,引起了广泛的共鸣。
我们真正希望与我们共存的理想 AI 工具,当然不是那种野蛮地跟我们争夺高薪智力工作岗位的 AI 工具。如果未来大多数智力工作都由 AI 工具完成,而大多数人类只能从事那些又脏又累的体力工作,很显然这不是社会的进步,而是社会的大倒退。
随着 AI 工具的普及,看起来未来的情况还会更糟,那么这个问题真的无解了吗?实话实说我也不知道答案,但是我可以肯定:Autonomous Agent 应用是解决这个问题的强有力工具。配备了外部工具,能够灵巧操作硬件设备的 Autonomous Agent 应用,才能够洗碗、洗衣服、干各种脏活累活。而只会玩嘴炮、说俏皮话的 ChatBot 完全无法实现 Joanna Maciejewska 女士真正希望 AI 工具完成的那些工作。
再重复一下我在课程开场白中的观点:只有 Autonomous Agent 才能引发新的工业革命,最终让 AI 技术改善大多数人的生活,而不是让 AI 技术成为极少数人聚敛财富的利器。
解答两个疑问
课程中为何没有讲 AI 辅助编程工具?
在一个 LLM 应用开发的课程中,居然完全没有介绍 AI 辅助编程工具,难道不是一个严重的问题吗?难道 AI 辅助编程工具对于开发 Autonomous Agent 没有价值吗?
非也,其实 AI 辅助编程工具对于开发 Autonomous Agent 非常有价值。但是目前 AI 辅助编程工具最擅长的领域仍然只是细节部分的代码实现,而不是全局的设计。开发者需要把编程需求用详细的提示词写明白,AI 辅助编程工具才能自动生成代码。而且 AI 辅助编程工具的很多高级功能收费不菲。我只是不希望 AI 辅助编程工具的大量使用技巧喧宾夺主,影响我们对于设计开发 Autonomous Agent 最重要的那些问题的关注。未来适当时候,我可以增加 AI 辅助编程工具的课程。你也可以学习极客时间上的相关课程,在这个平台上有很多选择。
另外,企图使用 AI 辅助编程工具生成完整的项目设计和实现代码,在我看来其实是缘木求鱼。如果你根本没有设计开发复杂项目的经验,希望走 AI 辅助编程工具的捷径,未来很容易挖一个大坑,不仅埋了自己也会埋了队友。最有名的 AI 辅助编程工具 Github Copilot 很谦虚地自称“副驾驶”,这个名称也说明它能起到的是辅助作用。如果你自己根本就不会驾驶,驾车毫无方向感,那么副驾驶也帮不了你。
“银弹”是不是快出现了?
AI 行业的聪明人确实车载斗量,有很多乐观的开发者认为,软件开发的“银弹”已经出现,或者很快就会出现。“银弹”这个概念来自于 Frederick Brooks 50 年前的经典著作《人月神话》,其中第 16 章的标题就是:没有银弹(No Silver Bullet)。

Frederick Brooks 是软件工程的开创者,也是软件工程领域唯一获得图灵奖的人。以下有两篇不错的文章,你课后可以读一下:
“银弹”是一个非常经典的比喻, Brooks 大师把大型软件中存在的固有复杂度比喻成为月圆之夜会现身吃人的凶残人狼,唯一能够杀死这头人狼的武器就是“银弹”。
我们已经快要迈入 AGI 时代了,为何还要介绍这本老掉牙的旧书?有些人肯定会感觉李老师实在是很反动。我先不预言真正的 AGI 时代还需要多少年才能到来,就目前阶段的 LLM 和 AI 技术的发展状况来说,我的判断是:银弹仍然没有出现。AI 辅助编程工具对于开发小项目很有用,但是对于开发大项目,仍然无法带来 10 倍以上的开发效率提升 (在同等质量的前提下)。
有些人喜欢把某种 AI 辅助编程工具说成是“银弹”,例如某老板宣称“秒哒”上市之后,“不用写代码,就能实现任意想法”。之后有大量跟风文章说“秒哒”未来会全面淘汰程序员。这些都是市场营销的噱头而已,随便听听就好了,一认真你就输了。
最后你可以认真思考一下,你自己的第一个 Autonomous Agent 项目可以做些什么?
精选留言
2025-03-18 19:11:43