Google 的智能体入门白皮书非常棒
解读 Google 的 AI 智能体白皮书,了解智能体、工具、编排层等概念的定义。
本页目录
2024 年 9 月,Google 的一群研究者发布了一份 智能体白皮书.
这份白皮书没有特别有争议或新颖的内容。
但它很好地定义了一组与智能体相关的术语。
它定义了什么是智能体、什么是工具,还提出了几个值得讨论的有趣定义。
我认为它是这个领域极好的入门材料,因此值得介绍。
“智能体”的定义
先从最有价值的部分——定义——开始:
智能体是“通过观察世界,并利用可用工具对世界采取行动,尝试实现目标的应用”。
这个定义听起来合理,不过按它来看,恒温器当然也算智能体。
白皮书还很有帮助地区分了智能体与模型。
其中有一张很清晰的表格:
- 模型受限于训练数据中的信息,而智能体可以访问外部系统。
- 智能体能够访问聊天历史,从而随时间向上下文中补充信息。
换句话说,模型本身不能成为智能体。智能体是一个包含记忆、推理、规划和工具调用的系统。
不过,白皮书也避免严格定义智能体。引言中有一句有趣的话,称这些因素的组合“唤起了智能体的概念”。
基本上,如果它闻起来像 agentic ,那它很可能就是智能体。
想继续深入: 加入“面向真正工程师的 AI 编码”候补名单
编排层
白皮书还指出,编排层对智能体非常重要。
编排层控制智能体如何“接收信息、进行内部推理,并用推理结果指导下一项决策或行动”。
换句话说,它就是我在 Vercel AI SDK 教程.
“工具”的定义
几乎所有人都同意,一个系统要成为 agentic ,必须能够访问工具。
白皮书把工具定义为“弥合智能体内部能力与外部世界之间的鸿沟”。
它比大多数工具定义更进一步,实际划分了两类工具:扩展和函数。
扩展
扩展用于增强智能体能力。文中以调用 API 为例,例如获取天气或查询两地之间的路线。
可以把扩展理解为智能体无需询问即可执行的操作。
它们类似典型工具定义:通过示例告诉智能体如何使用工具,并说明成功调用所需的参数。
函数
函数不同于扩展。教 LLM 使用它们的方式完全相同,但工具调用的控制权属于用户,而非智能体。
以删除数据库中的帖子为例。智能体所在系统可能没有删除权限,而且出于各种原因,你也可能不想授予它该权限。
因此,智能体不会自行删除,而是告诉用户“删除这篇帖子”。
这就是白皮书定义的函数:“调用实际 API 端点的逻辑和执行从智能体移出,交还给客户端应用。”
这样做可能有几个原因:
- 如前所述,你不想赋予智能体执行这些操作的权限
- 你希望进行 human-in-the-loop 评审
- 或者希望在构建智能体时复用现有 API 端点
总结一下:扩展由智能体执行工具,函数则由客户端执行工具。
我的看法
这个定义有些奇怪。我一直不太喜欢把新概念挂在如此常用的词上。开发者本来就知道什么是函数,而函数与扩展的界限也不够清楚。
白皮书随后提到 Google Vertex AI 平台,因此函数与扩展的区别可能是该平台中的关键概念。
作为教学手段,我确实喜欢这种划分,但不确定自己是否会采用这套定义。
总结
总体而言,Google 的白皮书是很好的领域入门材料,也为讨论增加了几个有趣定义。
文中还有使用 LangChain 和 Python 的示例等更多内容,值得亲自阅读。
希望你喜欢这篇总结,我们下篇再见。