智能体是未来人工智能的一个重要应用技术,而其难点就在于怎么让大模型具备更好的独立思考和任务拆解与规划的能力。

Agent技术也被业界称为智能体技术,本质上是使得大模型具备独立思考和解决问题的能力;被广泛应用于各种应用场景,而且也被称为是实现通用人工智能的一种技术手段。

 

但在此之前对于智能体的理解比较肤浅,而今天突然发现原来智能体没我们想象中的那么简单,也没想象中的那么复杂。

 

今天我们就从Agent的两个实现技术之思维链和函数调用来重新理解智能体。

 

 

 

 

智能体和思维链以及函数调用

 

 

 

在之前对于智能体的理解仅仅停留在问题表面,那就是可以使用思维链技术➕函数调用的方式实现一个智能体;但没有真正理解什么是智能体,也没有真正理解思维链技术和函数调用技术,甚至很多时候把它们混为一谈。

 

今天我们来更加深入的理解一下智能体,思维链和函数调用这三个概念,以及其中的区别与联系。

 

1. 智能体

 

首先在关于智能体的概念有一个经典的结构图,如下图所示,智能体具备工具,记忆,规划和行动的能力。

 

 

 

其实从本质上来说,就是让智能体能够像真正的人类一样去处理问题,具备独立思考,使用工具并付诸行动的能力;而由于大模型不具备记忆的能力,因此记忆也是智能体中很重要的一环。

 

所以简单来说,就是智能体就是让基于大模型构建的具有独立思考和规划并且能够调用外部攻击去执行任务的一个集合体。

 

所以,我们不要被表象所迷惑,智能体没有任何标准的形态,也没有任何标准的形式,其实现过程也是千奇百怪;而目的只有一个,那就是能够独立解决问题,即使仅仅只是某个领域内的问题。

 

 

 

但大模型怎么才能具备思考能力,以及调用外部工具的能力呢?

 

这就用到了以下两种技术,思维链和函数调用。

 

思维链使得大模型具备独立思考的能力,而函数调用使得大模型具备使用外部工具的能力;要知道人和动物的根本区别就是是否会制造和使用工具。

 

2. 思维链技术

 

思维链技术说起来很高大上,其实简单来说就是我们平常面对复杂问题的拆解和规划能力。

 

 

 

思维链是指模型在解决问题时,通过生成中间推理步骤(类似于人类的思考过程)来逐步推导出最终答案。这种方法特别适合解决复杂问题,如数学题、逻辑推理等。

 

 

 

面对复杂的问题,我们一般不可能做到一步到位,因此常见的做法就是把问题拆解成多个具备可行性的子任务,然后一步一步地去完成。

 

而这就是思维链技术产生的基本思想,而具体操作起来还有zero-shot和few-shot等,也就是零样本提示和少量样本提示。

 

 

 

而目的只有一个,就是让大模型能够更好地推理和拆解任务。

 

当然,思维链技术经过这几年的发展又有了新的理论和实践,比如思维树等;但本质上思维链的目的就是独立思考,任务拆解。

 

3. 函数调用

 

函数调用其实是一项独立的技术和大模型并没有直接关系,而且市面上有些模型集成了函数调用的能力,而有些模型并没有集成此能力。

 

而函数调用从技术的角度来说就是接口调用,只不过是让大模型自己根据函数的定义,使用思维链的方式去规划和调用相应的函数,以此来解决实际的问题。

 

 

这玩意就相当于给大模型集成了一个网络请求的功能,然后让大模型根据具体的需求自己去选择和组装请求参数,并解析结果。

 

当然,智能体在具体的开发过程中还存在各种各样的问题,而这也直接导致智能体在应用过程中的安全性问题;比如说大模型理解偏差无法准确调用相应的函数;比如查询天气的时候,调了一个地图函数接口。

 

智能体技术是人工智能技术应用的一个重要方向,但由于大模型意图识别不准确的问题,也给智能体的应用带来了很大的技术挑战;虽然说一些模型服务商提供了一些解决方案,但具体来说还是拥有一些潜在的风险。

 

当然,智能体不仅仅只依靠思维链和函数调用技术,还有一些其它技术的使用;如工作流,通过配置工作流的方式来降低模型犯错的概率;典型的就是字节跳动的coze扣子平台。

 

扣子地址:https://www.coze.cn/open/docs/guides

 

 

最后再遗留一个问题,让大家思考一下。思维链技术是怎么实现的,它和NLP有直接关系吗?如果有其关系是什么?与神经网络又有什么关系?以及大模型是怎么具备函数调用能力的呢?

 

所以,你现在理解NLP,神经网络,思维链,函数调用和Agent 智能体的联系和区别了吗?

文章来自:51CTO

Loading

作者 yinhua

发表回复