深入浅出智能体(gent)|技术干货腾讯云开发者社区

随着人工智能技术的飞速发展,智能体(AI Agents)正逐渐成为人与大模型(如大语言模型)交互的主要方式。智能体是能够执行任务、解决问题并提供服务的 AI 系统,它们通过模拟人类的行为和决策过程,使得与大模型的交互更加自然、高效和个性化。

智能体作为人与大模型交互的桥梁,不仅提高了交互的效率和质量,还扩展了大模型的应用范围。随着技术的不断进步,智能体将更加深入地融入我们的日常生活,成为不可或缺的智能伙伴。

智能体(英文名:AI Agent 或 AI Bot)是指能够感知其环境并采取行动以实现某种目标的实体。智能体可以是软件程序、机器人、或其他形式的系统。在商业和技术应用中,智能体(AI Bot)的概念也被用来描述那些能够执行特定任务的自动化系统,它以云为基础,以 AI 为核心,构建了一个立体感知、全域协同、精确判断、持续进化和开放的智能系统,智能体(AI Bot)在企业服务、游戏开发、机器人控制、智能家居、自动驾驶汽车、金融分析、医疗诊断等多个领域都有广泛应用。智能体(AI Bot)由 4 个关键部分组成,分别是:规划(Planning)、记忆(Memory)、工具(Tools)、行动(Action)。智能体(AI Bot)具有自治性(Autonomy) 、反应性(Reactive)、主动性(Proactive)、社会性(Social)、进化性等基本特性。

如上图所示,在基于大模型的智能体中,大模型的充当着智能体的 “大脑” 的角色,同时还有 3 个关键部分:

智能体的特点主要包括:

相信看到这里,我们已经对智能体有了基本的认识。如果你还觉得智能体这个概念有点抽象,没关系,现在我们来结合下具体的场景,看看智能体能为我们解决什么实际问题。

我们可以利用知识库和工作流编排工具,让智能体成为某个领域的专家,最大化利用用户私域知识库的价值,提供详尽且准确的回答。例如我们创建一个收录了公开的金庸小说知识库,把一本数万字的小说进行分段处理并向量化处理后,输入给智能体,我们看看会发生什么情况吧:

我们首先创建一个 “金庸武侠小说” 知识库,直接将小说的 txt 文本或 PDF 文档上传,如下图所示。

几分钟后,文件进行分段处理并进行向量化,这个过程是转化为计算机理解的语言,方便识别和检索我们之前上传的文本信息。我们点击 “金庸 - 笑傲江湖.txt”,查看小说已经被分成了 4572 个段落。

创建完知识库后,我们接着创建智能体 Bot,取名为 “令狐冲”,并添加之前创建的 “金庸武侠小说” 知识库。

接下来,我们来运行一下看看我们的智能体的回答效果,我们输入一个问题 “令狐冲的独孤九剑都有哪些具体的招式?”

以上演示了一个智能体在处理专业领域知识的过程和效果,是不是超级简单有趣?下面让我们智能体在行业资讯智能整理与获取方面的应用场景吧。

智能体可以将新闻检索、网页抓取等插件能力编排进工作流,将内容整理提炼形成特定格式的资讯,高效获取行业的最新信息。

首先,创建一个 “搜索新闻” 的工作流,如下图所示:

接下来,我们直接调试工作流,可以看到不仅获得了最新的新闻,还可以进行数据格式整理,以便输出更好的阅读体验。

智能体还可以将优秀的文案创作方法论编排进提示词模板,让 AI 智能体按照用户的写作手法创作内容,用于角色创作、营销文案、宣发演讲稿等场景。例如:创作小红书体的营销种草文案、演讲稿等。下面我们以一个角色扮演的例子,看看为智能体添加了角色扮演风格的提示词 Prompt 后,大模型的回答效果。以下是我们准备的角色扮演设定:

为智能体添加以上提示词设定后,我们再来试下对话效果:

是不是很神奇,添加了角色设定后的智能体的回答不再像一般的大模型回答那么生硬,仿佛像一位真实的朋友在和我们聊天,TA 有拟人话的回答,甚至有表情旁白,你是不是也想有个属于自己的 AI 伴侣了?

看到这里,相信你对智能体的能力有了更具象的了解。下面我们再来总结下智能体的关键构成吧。

在基于大模型的智能体中,大模型充当着智能体的 “大脑” 的角色,同时还有 3 个关键部分:规划(Planning)、记忆(Memory)、工具使用(Tool use)

规划,可以为理解观察和思考。如果用人类来类比,当我们接到一个任务,我们的思维模式可能会像下面这样:

这是人类的规划能力,我们希望智能体也拥有这样的思维模式,因此可以通过 LLM 提示工程,为智能体赋予这样的思维模式。在智能体中,最重要的是让 LLM 具备这以下两个能力(子任务分解和反思完善):

通过 LLM 使得智能体可以把大型任务分解为更小的、更可控的子任务,从而能够有效完成复杂的任务。

思维链(Chain of Thought,CoT)是一种在自然语言处理(NLP)领域中用于提高模型推理能力的技术。它通过让模型在生成最终答案之前,先输出一系列中间思考步骤,从而使得模型的决策过程更加透明和可解释。这种技术在解决需要多步推理的问题时特别有效,例如数学问题、逻辑推理问题等。

思维链技术的应用案例

以下是一些思维链的 prompt 例子:

通过这种方式,思维链的 prompt 可以帮助模型更系统地分析和解决问题,而不是直接给出答案。

思维树(Tree-of-thought, ToT)

思维树(Tree-of-thought, ToT)是一种在人工智能领域中使用的技术,特别是在强化学习和规划问题中。它是一种基于模型的决策方法,其中智能体构建一个可能的行动和结果的树状结构来评估和选择最佳的行动方案。

当前的大模型仍然是以从左到右的方式逐一做出 token 级的决定,这样一个简单的机制是否足以让 LM 朝着一般问题解决者的方向发展?

研究表明,人有两种参与决策的模式 -- 快速、自动、无意识的模式("系统 1")和缓慢、慎重、有意识的模式("系统 2")。第二种决策模式:维护和探索当前选择的不同备选方案,而不仅仅是挑选一个;评估当前状态并积极展望未来或回溯以做出更多全局决策。这可能会对当前模型决策的方式提供借鉴意义。

现有的大模型解决问题的缺陷主要有两个:

思维树 ToT 则允许模型探索多种思想推理路径,把所有问题都看作是在一棵树上的搜索,树上的每个节点都代表着一个状态(输入的部分解决方案和截至目前为止的思想序列)。

思维树(Tree-of-thought, ToT)是对思维链(Chain of Thought,CoT)的进一步扩展,在思维链的每一步,推理出多个分支,拓扑展开成一棵思维树。使用启发式方法评估每个推理分支对问题解决的贡献。选择搜索算法,使用广度优先搜索(BFS)或深度优先搜索(DFS)等算法来探索思维树,并进行前瞻和回溯。

智能体在执行任务过程中,通过 LLM 对完成的子任务进行反思,从错误中吸取教训,并完善未来的步骤,提高任务完成的质量。同时反思任务是否已经完成,并终止任务。

ReAct

ReAct(Yao et al. 2023) ,《ReAct: Synergizing Reasoning and Acting in Language Models》 这篇论文提出一种用于增强大型语言模型的方法,它通过结合推理(Reasoning)和行动(Acting)来增强推理和决策的效果。

为什么结合推理和行动,就会有效增强 LLM 完成任务的能力?ReAct 的论文例子通过与简单的百科 API 交互,克服了思维链推理中常见的幻觉和错误传播问题,并生成类似人类的任务解决轨迹,比没有推理痕迹的基线更具可解释性。

如图所示:(1)比较 4 种提示方法,(a)标准方法、(b)思维链(CoT,仅推理)、(c)仅动作、(d)ReAct(推理 + 动作)等,解决 HotpotQA(Yang2018)问题;(2) 比较 2 个提示方法,(a) 仅动作、和 (b) ReAct,去解决 一个 AlfWorld 游戏(Shridhar 2020b)。在这两个方法中,省略提示中的上下文示例,仅显示模型(Act,Thought)和环境(Obs)生成的任务解决轨迹。

智能体的记忆(Memory)是其存储和回忆信息的能力,这对于智能体的学习、决策和适应环境至关重要。智能体的记忆可以分为不同类型,每种类型在智能体的运作中扮演着不同的角色。

一、记忆的类型

2. 长期记忆

二、记忆的存储方式

2. 关联存储

3. 层次存储

三、记忆的更新和遗忘

2. 遗忘机制

四、记忆的作用

2. 学习和适应

3. 预测和规划

智能体的记忆是其智能行为的重要组成部分。通过合理的存储、更新和利用记忆,智能体可以更好地解决问题、学习和适应环境,并进行预测和规划。

LLM 是数字世界中的程序,想要与现实世界互动、获取未知的知识,或是计算某个复杂的公式等,都离不开不工具。所以我们需要为智能体配备各种工具以及赋予它使用工具的能力。

在智能体中,工具就是函数(Function),工具使用就是调用函数(Call Function)。在 LLM 中实现函数调用,使用到 LLM 的这个能力: Function Calling

大语言模型(Large Language Models, LLMs)中的 Function Calling 机制是指模型能够调用外部函数来执行特定任务或获取所需信息的一种能力。通过 API 调用 LLM 时,调用方可以描述函数,包括函数的功能描述、请求参数说明、响应参数说明,让 LLM 根据用户的输入,合适地选择调用哪个函数,同时理解用户的自然语言,并转换为调用函数的请求参数(通过 JSON 格式返回)。调用方使用 LLM 返回的函数名称和参数,调用函数并得到响应。最后,如果需求,把函数的响应传给 LLM,让 LLM 组织成自然语言回复用户。

通过 Function Calling 机制,LLMs 能够更好地服务于实际应用场景,提高了其在现实世界中的价值。function calling 具体工作流程如下图所示:

假设有一个语言模型,用户请求生成一个简单的 Python 程序来计算两个数的和。模型不仅生成代码,还通过 Function Calling 机制调用一个函数来验证代码的正确性。

在这个例子中,Function Calling 机制可以调用一个验证函数来检查add_numbers函数的正确性,并返回验证结果。

Function Calling 为大语言模型的应用提供了极大的灵活性和功能性,使得模型能够直接与外部系统交互,执行复杂的任务,而不仅仅是生成静态文本。这种能力在构建智能助手、自动化工具和交互式应用中尤其有价值。

如果你想要开发一个 AI 智能体(AI 应用),已经比大模型爆发的初期方便太多了,随着 AI 应用需求的持续火热,智能体开发平台层出不穷。比如 Botnow 智能体开发平台,Botnow 抽象和封装那些被高频使用的模块,如记忆能力、规划能力、RAG 能力、大模型调用等。在 Botnow 智能体开发平台,用户可以通过插件、知识库、工作流等方式快速、低门槛打造高质量的智能体,并支持发布到第三方平台,同时也支持 API 调用和 Web SDK。

随着大型语言模型(LLM)的迅速发展,其支持的上下文长度不断增加,参数规模日益庞大,推理能力也随之显著增强。这使得基于此类先进模型构建的智能体(AI Agents)的能力边界不断被突破。借助智能体技术,我们已经能够开发出诸如 Copilot 和 Botnow 等多样化的 AI 应用,这些应用正逐渐成为我们日常生活和工作中不可或缺的一部分。可以预见,AI 应用将迅速且彻底地重塑我们熟悉的软件形态及交互模式,并大幅提升人类的工作效率。

THE END
0.手把手带你入门AI智能体:从核心概念到第一个能跑的AgentAI智能体为软件测试带来了革命性的变化,能够显著提高测试效率和质量。通过本文介绍的基础概念和简单示例,你已经迈出了智能体学习的第一步。接下来,你可以继续学习工具使用、记忆管理和多智能体协作等高级主题,逐步构建更加强大的测试智能体。 记住,最好的学习方式是动手实践。从一个小而具体的目标开始,逐步扩展你的智能体能力,很快你就能够享受到智能体带来的jvzquC41fg|fnxugt0gmk‚zp0eun1jwvkerf1:;:32;6
1.AI智能体(AIAgent)入门终极指南:一篇超详细的总结,带你轻松掌握智能体欢迎来到智能体的世界!在人工智能浪潮席卷全球的今天,**智能体(Agent)**已成为驱动技术变革与应用创新的核心概念之一。无论你的志向是成为AI领域的研究者、工程师,还是希望深刻理解技术前沿的观察者,掌握智能体的本质,都将是你知识体系中不可或缺的一环。 jvzquC41dnuh0lxfp0tfv87623e97<>22990c{ykenk0fnyckny03>9283899
2.AI智能体(AIAgent)概念股梳理(附股)AI智能体是什么?AI智能体,简AI 智能体是什么? AI 智能体,简单来说,是一种基于人工智能技术,能够自主感知环境、做出决策并执行行动的智能实体。它可以是软件程序,也能以硬件形式存在,或者是一个复杂的系统。 与传统人工智能相比,AI 智能体有着更强的自主性、适应性和交互能力。传统人工智能更多是在既定规则和大量数据训练下进行分类、预测等任jvzquC41zwkrk~3eqo5:2><3;894288443?8::5
3.AI智能体是什么?AI智能体是什么? AI智能体的定义: AI智能体,英文名字为AI Agent,它是指具备自主决策和执行任务能力的人工智能系统。它们能够感知环境、处理信息、做出决策并执行行动,通常用于模拟或替代人类行为。 AI智能体的主要特点: 1.自主性:能在无人类干预下独立运作。jvzquC41yy}/mnuwejooc7hp1cxuklqg1cxuklqgkplpAkzukpktuhy{rgC229+encytko~?2(gsari?7:773=
4.原创|一文读懂智能体:从概念到应用1.1 什么是智能体(Agent) 智能体(Agent),作为人工智能领域的一个重要概念,是指能够自主感知环境、做出决策并执行行动的系统。它具备自主性、交互性、反应性和适应性等基本特征,能够在复杂多变的环境中独立完成任务。智能体的出现,标志着人工智能从简单的规则匹配和计算模拟向更高级别的自主智能迈进。 jvzquC41yy}/yxqck0ipo8hWEz{jPJV[Levb[HxT3WV