在LLM语境下,Agent理解为在某种能自主理解、规划决策、执行复杂任务的智能体,LLM 充当着智能体的“大脑”。
从软件工程的角度,智能体是一种基于大语言模型的,具备规划思考能力、记忆能力、使用工具函数的能力,能自主完成给定任务的计算机程序。
在基于 LLM 的智能体中,LLM 的充当着智能体的“大脑”的角色,同时还有 3 个关键部分:
规划(Planning) :
智能体会把大型任务分解为子任务,并规划执行任务的流程;智能体会对任务执行的过程进行思考和反思,从而决定是继续执行任务,或判断任务完结并终止运行。(这个过程通常通过设计prompt实现)。
就像老太太们每天要做的事情一样,比如早上去买菜,下午去公园散步。她们会提前计划好一天的活动,这样就不会忘记或者弄乱。Agent智能体的“规划”也是类似,它需要提前决定好要完成的任务和步骤,这样它就可以有条不紊地工作。
记忆(Memory):
短期记忆,是指在执行任务的过程中的上下文,会在子任务的执行过程产生和暂存,在任务完结后被清空。长期记忆是长时间保留的信息,一般是指外部知识库,通常用向量数据库来存储和检索。
老太太们记性很好,她们能记住很多过去的事情,比如孩子们的生日、重要的节日等。Agent智能体的“记忆”也是这样,它需要记住之前发生的事情和学到的知识,这样它在处理新的任务时就能更快地做出反应。
工具使用(Tool use):
为智能体配备工具 API,比如:计算器、搜索工具、代码执行器、数据库查询工具等。有了这些工具 API,智能体就可以是物理世界交互,解决实际的问题。
老太太们在做家务时会用到各种工具,比如扫帚、拖把、剪刀等。Agent智能体的“工具使用”也是类似,它需要使用各种技术或方法来帮助它完成任务,比如上网搜索信息、处理数据等。