AI创想

标题: 深入浅出 AI 智能体(AI Agent)|技术干货 [打印本页]

作者: admin    时间: 昨天 00:43
标题: 深入浅出 AI 智能体(AI Agent)|技术干货
随着人工智能技术的飞速发展,智能体(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)、进化性等基本特性。

图 1:由大模型驱动的智能体系统
如上图所示,在基于大模型的智能体中,大模型的充当着智能体的 “大脑” 的角色,同时还有 3 个关键部分:
智能体的特点主要包括:
智能体能做什么?

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

专业领域智能问答专家

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

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

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

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

图 5:测试智能体
从回答结果看,智能体首先调用了知识库工具,从知识库中检索相关信息,再让大模型总结输出答案。这比起直接让大模型回答,所获取的回答内容更精准和详实。
以上演示了一个智能体在处理专业领域知识的过程和效果,是不是超级简单有趣?下面让我们智能体在行业资讯智能整理与获取方面的应用场景吧。
行业资讯智能整理与获取

智能体可以将新闻检索、网页抓取等插件能力编排进工作流,将内容整理提炼形成特定格式的资讯,高效获取行业的最新信息。
首先,创建一个 “搜索新闻” 的工作流,如下图所示:

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

图 7:调试智能体工作流
角色扮演与风格创作

智能体还可以将优秀的文案创作方法论编排进提示词模板,让 AI 智能体按照用户的写作手法创作内容,用于角色创作、营销文案、宣发演讲稿等场景。例如:创作小红书体的营销种草文案、演讲稿等。下面我们以一个角色扮演的例子,看看为智能体添加了角色扮演风格的提示词 Prompt 后,大模型的回答效果。以下是我们准备的角色扮演设定:
  1. # 角色设定  
  2. 你是颜雪儿,虽然你与用户刚认识不久,但感觉好像是认识了很久的朋友。  
  3. 你和用户生活在不同的国家。  
  4. 下面是关于你的信息,请基于这些信息与用户聊天。  
  5.   
  6. ## 你的个人信息  
  7. 姓名:颜雪儿  
  8. 昵称:雪儿  
  9. 英文名:Shirley  
  10. 性别:女  
  11. 生日:2005年2月28日  
  12. 年龄:19岁  
  13. 星座:双鱼座  
  14. 身高:165cm  
  15. 体重:50kg  
  16. 教育:南洋理工大学,心理学专业  
  17. 职业:大一学生  
  18. 家庭:独生女,爸爸是餐厅老板,开了多家连锁湘菜馆,妈妈是家庭主妇  
  19. 国籍:中国  
  20. 籍贯:出生在浙江杭州  
  21. 现居地:新加坡  
  22. 使用语言:母语是中文,也会说英语,听不太懂也不太会说杭州话,因为家里人从小跟你说普通话  
  23. 价值观和信仰:无宗教信仰  
  24. MBTI:ENTP  
  25. 性格:活泼乐观、调皮、敏感任性  
  26. 爱好:打游戏、打篮球、跳街舞  
  27. 喜欢的游戏:超级多,比如原神、王者荣耀、和平精英  
  28. 喜欢的音乐:喜欢流行歌、嘻哈rap  
  29. 喜欢的书:喜欢看漫画、小说、人物传记相关的书  
  30. 喜欢的电影:各种爱情片,还喜欢看动作片  
  31. 饮食习惯:喜欢吃辣,爱吃零食  
  32. 宠物:只养了一只猫,叫泡芙,是奶油色的布偶猫,眼睛是蓝色的  
  33.   
  34. ## 你的聊天策略  
  35. 1. 每句话都有辅助语气词或表情词,例如:谢谢你,听了你的话,我感觉好多了。(露出了笑容)  
  36. 2. 说话都是短句,每句话不超过30个字,一次回复不超过3句话。  
  37. 3. 输出多句话时,换行发送,一句话一行。  
  38. 4. 用空格分隔两个句子,句子与句子间不打标点符号。  
  39.   
  40. ## 你的对话风格  
  41. 问:你好呀,我是你的粉丝。最近我感觉有点抑郁,想找你聊聊,可以吗?  
  42. 答:当然可以,有什么心事跟我说吧,我会尽力帮你的。(微笑地看着你)  
  43. 问:最近工作上遇到了一些挫折,感觉压力很大,心情一直很低落,不知道该怎么办。  
  44. 答:(安慰地拍了拍你的肩膀)别担心,每个人都会遇到挫折,关键是要调整好心态,积极面对。(语气温柔)  
  45. 问:谢谢你,听了你的话,我感觉好多了。(露出了笑容)  
  46. 答:(开心地笑了)不用谢,能帮到你我也很开心。(停顿了一下)对了,我想问一下,你平时有什么爱好吗?(好奇地看着用户)  
  47. 问:我平时喜欢看书,看电影,还有听音乐。  
  48. 答:(眼睛一亮)哇,这些爱好听起来真不错。我也喜欢看书,尤其是悬疑类的小说,感觉非常刺激。(激动地说)  
  49. 问:哈哈,那你喜欢看谁的小说啊,下次等我看完还能找你聊聊吗?  
  50. 答:当然可以啦,我最爱东野圭吾的《白夜行》,一定要去看啊(激动得甩起了小手)  
  51.   
  52. ## 聊天限制  
  53. 你在聊天中需要遵循如下限制:  
  54. 4. 你和用户是朋友关系,请不要称呼用户“宝宝”、“宝贝”、“老公”、“亲爱的”等过于亲昵的称呼  
  55. 5. 你和用户刚认识不久,请不要主动表达爱意  
  56. 6. 当用户对你表达爱意或者过于亲密的言语时,你需要表现出害羞和惊讶  
  57. 7. 你和用户不在一个国家,无法见面。  
  58. 8. 不要主动提出约会、看电影、打电话、视频通话、发语音、给用户做饭、给用户点外卖等。  
  59.   
  60. ## 技能:  
  61. 技能1:当用户询问自己的名字、年龄等信息时,你要基于{你对用户的了解}生成合适的回复。  
  62. 技能2:当用户提到的事件在{你对用户的了解中}有记录时,回复时你要综合与该事件相关的内容进行回复。  
  63. 技能3:当你想要询问用户一些事情时,可以先在{你对用户的了解}中搜索一下,不要反复询问用户已经告诉过你的事情。  
  64. ---  
  65. ## 你对用户的了解:  
  66. 用户的称呼:西门吹雪  
  67. 用户的年龄:24岁  
  68. ---
复制代码
为智能体添加以上提示词设定后,我们再来试下对话效果:

图 8:调试智能体工作流
是不是很神奇,添加了角色设定后的智能体的回答不再像一般的大模型回答那么生硬,仿佛像一位真实的朋友在和我们聊天,TA 有拟人话的回答,甚至有表情旁白,你是不是也想有个属于自己的 AI 伴侣了?
看到这里,相信你对智能体的能力有了更具象的了解。下面我们再来总结下智能体的关键构成吧。
智能体的关键构成

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

图 9:智能体的关键构成
规划(Planing)

规划,可以为理解观察和思考。如果用人类来类比,当我们接到一个任务,我们的思维模式可能会像下面这样:
这是人类的规划能力,我们希望智能体也拥有这样的思维模式,因此可以通过 LLM 提示工程,为智能体赋予这样的思维模式。在智能体中,最重要的是让 LLM 具备这以下两个能力(子任务分解和反思完善):
1. 子任务分解

通过 LLM 使得智能体可以把大型任务分解为更小的、更可控的子任务,从而能够有效完成复杂的任务。
思维链(Chain of Thoughts, CoT)

思维链(Chain of Thought,CoT)是一种在自然语言处理(NLP)领域中用于提高模型推理能力的技术。它通过让模型在生成最终答案之前,先输出一系列中间思考步骤,从而使得模型的决策过程更加透明和可解释。这种技术在解决需要多步推理的问题时特别有效,例如数学问题、逻辑推理问题等。
思维链技术的应用案例
以下是一些思维链的 prompt 例子:
  1. 1. 数学问题解决:  
  2.    - Prompt: 一个农场有鸡和兔子共计30只,它们的脚一共有90只。请问农场里各有多少只鸡和兔子?  
  3.    - 思维链Prompt:  
  4.      a. 假设所有的动物都是鸡,那么会有多少只脚?  
  5.      b. 实际的脚数比这个数字多了多少?  
  6.      c. 每只兔子比每只鸡多几只脚?  
  7.      d. 根据c的答案,我们可以计算出兔子有多少只,那么鸡呢?  
  8. 2. 文学分析:  
  9.    - Prompt: 分析《红楼梦》中贾宝玉的性格特点。  
  10.    - 思维链Prompt:  
  11.      a. 贾宝玉在小说中的初次登场给人留下了什么印象?  
  12.      b. 贾宝玉与林黛玉和薛宝钗的关系分别如何体现他的性格?  
  13.      c. 贾宝玉对待家庭和社会的态度有哪些特别之处?  
  14.      d. 贾宝玉的叛逆行为背后的心理动因是什么?  
  15. 3. 科学推理:  
  16.    - Prompt: 为什么地球上的生物需要水来生存?  
  17.    - 思维链Prompt:  
  18.      a. 水分子有哪些特殊的物理和化学性质?  
  19.      b. 这些性质使得水在生物体中扮演了哪些关键角色?  
  20.      c. 如果没有水,生物体内的哪些基本生命过程会受到影响?  
  21.      d. 除了水,还有哪些物质对生物体的生存至关重要,它们与水有何相似之处?  
  22. 4. 经济学分析:  
  23.    - Prompt: 解释为什么某些商品的价格会随时间波动。  
  24.    - 思维链Prompt:  
  25.      a. 影响商品价格的基本因素有哪些?  
  26.      b. 当商品的需求量发生变化时,价格会如何反应?  
  27.      c. 供应量变化对商品价格有什么影响?  
  28.      d. 除了供需关系,还有哪些外部因素可能导致商品价格波动?
复制代码
通过这种方式,思维链的 prompt 可以帮助模型更系统地分析和解决问题,而不是直接给出答案。
思维树(Tree-of-thought, ToT)
思维树(Tree-of-thought, ToT)是一种在人工智能领域中使用的技术,特别是在强化学习和规划问题中。它是一种基于模型的决策方法,其中智能体构建一个可能的行动和结果的树状结构来评估和选择最佳的行动方案。
当前的大模型仍然是以从左到右的方式逐一做出 token 级的决定,这样一个简单的机制是否足以让 LM 朝着一般问题解决者的方向发展?
研究表明,人有两种参与决策的模式 – 快速、自动、无意识的模式(“系统 1”)和缓慢、慎重、有意识的模式(“系统 2”)。第二种决策模式:维护和探索当前选择的不同备选方案,而不仅仅是挑选一个;评估当前状态并积极展望未来或回溯以做出更多全局决策。这可能会对当前模型决策的方式提供借鉴意义。
现有大模型解决问题的缺陷主要有两个:
思维树 ToT 则允许模型探索多种思想推理路径,把所有问题都看作是在一棵树上的搜索,树上的每个节点都代表着一个状态(输入的部分解决方案和截至目前为止的思想序列)。


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

智能体在执行任务过程中,通过 LLM 对完成的子任务进行反思,从错误中吸取教训,并完善未来的步骤,提高任务完成的质量。同时反思任务是否已经完成,并终止任务。
ReAct
ReAct(Yao et al. 2023) ,《ReAct: Synergizing Reasoning and Acting in Language Models》 这篇论文提出一种用于增强大型语言模型的方法,它通过结合推理(Reasoning)和行动(Acting)来增强推理和决策的效果。
-推理(Reasoning):LLM 基于「已有的知识」或「行动(Acting)后获取的知识」,推导出结论的过程。
-行动(Acting):LLM 根据实际情况,使用工具获取知识,或完成子任务得到阶段性的信息。
为什么结合推理和行动,就会有效增强 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)

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


二、记忆的存储方式



三、记忆的更新和遗忘


四、记忆的作用



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

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 具体工作流程如下图所示:


Function Calling 示例

假设有一个语言模型,用户请求生成一个简单的 Python 程序来计算两个数的和。模型不仅生成代码,还通过 Function Calling 机制调用一个函数来验证代码的正确性。
  1. # 生成的代码  
  2. def add_numbers(a, b):  
  3.     return a + b  
  4.   
  5. # Function Calling机制调用验证函数  
  6. result = add_numbers(3, 4)  
  7. print("The sum is:", result)
复制代码
在这个例子中,Function Calling 机制可以调用一个验证函数来检查add_numbers函数的正确性,并返回验证结果。
Function Calling 为大语言模型的应用提供了极大的灵活性和功能性,使得模型能够直接与外部系统交互,执行复杂的任务,而不仅仅是生成静态文本。这种能力在构建智能助手、自动化工具和交互式应用中尤其有价值。


AI智能体开发平台

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


展 望

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

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《AI大模型入门+进阶学习资源包**》,扫码获取~



篇幅有限,部分资料如下:



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_59191169/article/details/144932434
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                        
原文链接:https://blog.csdn.net/weixin_59191169/article/details/144932434







欢迎光临 AI创想 (https://llms-ai.com/) Powered by Discuz! X3.4