什么是「智能体」— 一个会自己动手的模型
这一章讲三件事: 一个会动手的模型和一个只会答话的聊天机器人,差别到底在哪; 「动手」这件事为什么必须外包给外面一段程序;以及判定一个系统算不算智能体, 真正的分水岭在哪一句话上。
它在全书链条里的位置: 这是第一块地基。后面十章讲的全是「怎么把动手这件事 做好」, 而这一章负责说清楚动手是什么、由谁发起、结果怎么回来。 不需要任何基础,遇到的生词都在当场解释。
1. 先看现象:两个聊天框,一个只会答,一个会动手
你打开一个聊天框,问「Python 里怎么写单元测试?」——它给你一段示范代码,你自己复制去用。
你打开另一个聊天框(比如某些代码编辑器里内置的那个),说同一句话,但加了三个字: 「帮我给这个文件写单元测试」。过了几秒,你的项目里多出来一个新文件, 里面的测试已经跑过一遍,还有一条失败被它自己改掉了。
两个框子后面装的可能是同一台机器。差别不在它更聪明,而在于第二个框子那一侧, 有人替它动了手,并且把动完之后的结果又告诉了它。
这本书要教你写的,就是「替它动手」的那一侧。
2. 模型只会写字——所以「动手」必须外包
这一节解释:为什么上面那台机器自己完不成这件事。
它的输出是文字,只有文字
现在聊天框背后的东西,叫生成式 AI(读进一段文字、再一个字一个字往下生成新文字的程序)。 这类程序里最常见的一种,就是你听过的大语言模型。
它能生成的东西只有一种:文字。
它没有手,没有网线,没有打开你硬盘的权限。你问它「我的 cart.py 里有几个函数」,
它答不上来——它连你有没有这个文件都不知道。
它唯一能做的,是把「我需要看一眼这个文件」这句话写出来。
所以外面要配一段程序,专门执行它写出来的那句话
这段程序,书里给的定义很干脆:智能体「外面」的、由智能体调用来完成某件事的代码1。 它有一个正式名字——工具。
一个工具可以是任何你能用代码做到的事:读一个文件、跑一次测试、 查一次天气、往数据库里写一行。它只是一段普通程序,并没有什么特别的地方; 特别的地方在于谁来决定跑它、什么时候跑。