智能体与大模型有什么差异?什么是智能体?
在 AI 里,很多人其实并不清楚智能体到底是什么。
要理解智能体,可以先从大模型说起。大模型就像一个大脑,它的输入是一段文本,输出通常也是一段文本。也就是说,大模型本身主要负责理解、推理和生成内容,但并不具备直接执行现实动作的能力。
你可以把它想象成一个没有手脚的大脑。它能接收外界信息,也能给出思考结果,但它自己不能真正完成操作。
比如,你问它怎么做一个账号,它可以告诉你第一步、第二步、第三步分别要做什么。但这些步骤本身,仍然需要其他系统去执行。
智能体要解决的,就是这个问题。
简单说,大模型负责思考,智能体负责把思考连接到现实动作。
最简单的智能体:聊天智能体
最简单的智能体,可以理解为带搜索能力的聊天系统。
当用户输入一段话后,智能体会先处理用户输入。有的系统会提取关键词,有的系统会直接把整段问题提交给搜索引擎。搜索引擎返回一批结果后,智能体再把这些搜索结果和用户问题一起提交给大模型。
大模型基于这些信息,生成最终回复。
这个过程解决的是信息时效性问题。
大模型是基于训练数据得到的,它并不天然拥有最新信息。因此,聊天智能体通常会加入搜索能力,让模型可以获取当前的公开信息。
这样,一个基础聊天智能体就建立起来了。它不仅能聊天,还能借助外部搜索获得更新的信息。
智能体需要上下文管理
只有搜索还不够。
聊天体验里还有一个非常重要的问题:上下文。
如果你和一个大模型聊天,它不知道你之前说过什么,体验一定很差。因为你不可能每次都把过去所有信息重新说一遍。
但这不是大模型本身的错误。大模型没有天然的长期记忆能力。
因此,智能体通常需要一个关键模块:上下文管理。
当用户和智能体有历史聊天记录时,智能体会把过去的对话、当前输入、搜索结果等信息整理好,再一起提交给大模型。它还会通过提示词告诉大模型:哪一部分是搜索结果,哪一部分是历史记录,哪一部分是当前问题,以及应该如何组织这些信息。
搜索解决信息时效性问题。
上下文管理解决记忆连续性问题。
从聊天到画图:智能体开始调用工具
聊天智能体的输出本身就是文字,所以它和大模型的输出形式天然匹配。
但如果用户输入一句话,希望最后得到一张图,流程就不同了。
一个画图智能体会先接收用户输入,再结合历史记录和上下文信息,与大模型进行第一轮沟通。这一轮沟通的目标不是得到最终回答,而是让大模型生成适合绘图模型使用的提示词。
比如用户要调用豆包、阿里通义千问等绘图模型,智能体需要根据不同模型的特点,生成适合对应模型的提示词。因为普通用户往往不知道该怎么写提示词。
提示词生成之后,智能体再把它交给绘图模型,最终得到图片。
这里就涉及到了工具调用。
大模型不直接画图,但智能体可以让大模型生成绘图指令,再调用绘图工具完成任务。
写 Word 文档的智能体
再举一个写 Word 文档的例子。
大模型本身没有真正操作 Word 文档的能力。它可以生成文本,但不能直接创建、修改或保存.docx文件。
因此,一个写 Word 的智能体,需要调用插件或工具,比如 Pandoc,或者通过 Python 脚本生成文档。
它的大致过程是:
首先接收用户输入。
然后进行上下文管理,把用户需求、历史记录、相关资料整理好。
接着提交给大模型,让大模型返回特定格式的指令。
这些指令可以包括:创建文档、插入文字、删除段落、修改内容等。具体指令集合由开发者定义,并通过提示词告诉大模型:只能返回这些可执行指令。
文档智能体得到指令后,再调用对应脚本执行。比如创建 Word 文档、插入内容、删除内容、修改文档结构。
这个执行脚本本身,也是智能体的一部分。
Action、Tool、Skill,本质上都是智能体的能力
这里面的命名比较混乱。
有的地方叫action,有的地方叫tool,也有的地方叫skill。但本质上,它们都可以理解为智能体的动作或技能。
比如,一个智能体可以具备这些技能:
上网搜索。 查询数据库。 读取文件。 写入文件。 生成 PDF。 生成图片。 访问网站。 填写表单。 调用 Python 做数据分析。 调用统计库处理数据。
当我们不断给智能体添加技能,它能完成的任务范围就会扩大。
但技能多了之后,又会出现一个新问题:编排。
智能体的关键能力:任务编排
比如一个编程智能体,如果接到一个开发任务,它需要先查看当前项目文件,再理解需求,然后规划修改路径。
它需要先读取文件,再编辑已有文件,再创建新文件,最后做格式校验和结果检查。
这里面不是单个动作,而是一整套流程。
所以,智能体不只是调用工具,还要决定:
先做什么。 后做什么。 什么时候读取信息。 什么时候执行修改。 什么时候检查结果。 如果执行失败,下一步怎么办。
这就是任务编排。
不同大模型之间的能力差异,很多时候就体现在这里。为什么有时候会说国外的大模型在某些智能体任务上更强?很重要的一点,就是它们在复杂任务编排上的表现更好。
智能体可以循环执行任务
智能体的执行过程不一定只跑一轮。
它可以先根据用户输入、上下文、知识库和可用技能,生成一轮执行计划。执行之后,它会得到反馈。然后再把执行结果、反馈信息和过去的上下文重新交给大模型,让大模型继续判断下一步怎么做。
所以,一个任务可以一轮完成,也可以多轮完成。
简单智能体只负责聊天。
复杂智能体则需要动态任务编排,并且能够根据反馈不断调整下一步动作。
企业知识库与长期记忆
前面提到的搜索,主要是从互联网上获取公开知识。
但对于企业来说,很多知识并不在互联网上。比如企业内部文档、产品资料、项目资料、日常话术、流程规范,这些都不是公开搜索可以得到的。
所以企业通常会搭建自己的内部知识库。
智能体可以从企业知识库中检索信息,再把这些信息和用户问题、历史上下文一起提交给大模型。这样,大模型就能理解这家企业的产品、业务和内部表达方式。
对于个人来说,也可以搭建自己的私有知识库。
知识库在某种意义上,也可以看成长期记忆系统。
一个完整智能体的大致结构
到这里,一个智能体的框架就比较完整了。
首先是知识库,或者说长期记忆系统。
其次是上下文管理。它决定在提交给大模型之前,需要收集哪些信息,比如聊天历史、上一轮任务执行结果、相关文档、图片上下文等。
然后是核心大模型。它负责理解、推理、规划和生成下一步指令。
再之后是执行组件。它根据大模型返回的结果,调用对应工具或技能完成动作。
对于简单任务,一轮就可以结束。对于复杂任务,还需要把执行反馈重新交给大模型,继续下一轮编排。
此外,还会有技能管理系统。它负责管理智能体具备哪些技能,以及在什么情况下应该调用哪些技能。
不同智能体的差异在哪里
不同智能体之间的差异,主要体现在几个方面。
第一是上下文管理能力。
如果你和一个智能体聊了很久,它会积累大量历史信息。但这些上下文不可能全部丢给大模型,因为会消耗大量 token,甚至超过模型的上下文限制。
好的智能体可以对上下文进行压缩,并尽量保留关键信息。差的智能体一压缩,原来的重要信息就丢了。
所以,上下文压缩和上下文管理,是智能体能力差异的重要来源。
第二是知识命中能力。
有些智能体只是基于关键词匹配知识,有些会基于向量匹配,还有一些会进一步结合关联、联想和背景信息,把相关知识以及知识背后的上下文一起抽取出来。
这会直接影响回答的准确性。
第三是技能选择能力。
当一个智能体拥有大量技能时,如果一次性把所有技能都交给大模型,也会形成巨大的上下文消耗。
所以有些产品会先做前置筛选。比如根据任务内容,先用一个小模型选出最相关的几个技能,再把这些技能交给大模型去编排。
这样既能节约算力和 token 成本,也能提升速度。
总结
所以,大模型和智能体的区别可以这样理解:
大模型是一个纯粹的大脑。
它会思考,但自己什么都做不了。
智能体则是在大模型这个大脑之外,加上知识库、长期记忆、上下文管理、工具调用、技能管理、任务编排和执行反馈。
它利用大模型的能力,去完成现实中的任务。
不同智能体之间的差异,就体现在它是否能更好地管理上下文,是否能更准确地命中知识,是否能更低成本地选择技能,是否能更有效地完成任务编排。
所以,选择一个智能体,不只是看它背后用了哪个大模型,还要看它围绕大模型搭建了怎样的执行系统。
