AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


相信你们中的许多人最近都听说过Devin AI,它作为全球首个AI软件开发者引起了广泛关注
发布日期:2024-06-12 20:32:55 浏览次数: 1620


相信你们中的许多人最近都听说过Devin AI,它作为全球首个AI软件开发者引起了广泛关注。现在又出现了来自印度的Devika。那么,这是否预示着AI开发的未来,即AI代理呢?让我们深入了解一下AI代理是什么,它们如何发展,以及它们将如何改变AI开发的工作流程。最重要的是,这会是通往AGI(通用人工智能)的下一步,甚至是AGI本身吗?事不宜迟,让我们直接进入AI代理和AI代理工作流程的主题。

一般来说,AI代理 是一个通过传感器感知环境,并基于感知、内部状态和经验,通过执行器对环境采取行动以实现特定目标的系统。但在本文中,我们特别讨论的是基于LLM(大型语言模型)的AI代理。它们在网络或操作系统上自主运行,可以从交互中学习,并做出决策以追求目标,通常会优化某些标准。

人工智能代理的历史

早在2016年,强化学习(RL)代理是热门话题,人们试图创建各种RL代理来玩Atari等游戏。当时并没有人工智能代理的概念。然而,OpenAI的几位研究人员,包括Jim Fan、Karpathy和Tim Shee,希望利用这些RL代理来完成现在AI代理所做的事情。这个项目被称为World of Bits,他们的想法是创建一个能够浏览网页并处理如订购披萨等简单请求的代理。他们想通过代理来操作操作系统。但他们过于超前,所需技术尚未发明,无法使其正常工作。

到底缺少什么?LLMs(大型语言模型)。

他们还需要5年时间来创建更通用智能行为的基础。LLMs擅长理解语言,以至于可以根据指令调整输出和行为。LLMs成为正确的配方,可以使用人类语言进行指令,并最终被委以创建工作流程的任务。创建代理工作流程是逻辑上的下一步。

关于构建AI代理的一点警告。

这并不像现在人们可能想象和炒作的那样简单。就像自动驾驶汽车一样,概念容易理解,概念验证也容易创建,但要使其真正可用却非常困难。经过数十年的研究和数十亿美元的投资,我们仍然没有完全自动驾驶的汽车。另一个类似的技术是VR,自2000年代后期以来,我们就已经有了VR的概念和原型,但至今仍未实现规模化。

因此,人工智能代理可能也是如此。

提升提示语

创建一个好的代理的第一步是为其提供优质的提示语。但人类真的擅长创建好的提示语吗?对于某个特定主题,专家可能能够制定出优化的提示语,但其他人呢?因此,有一种策略叫做PROMPTBREEDER。这是一个自我改进的系统,能够为特定领域进化提示语。

  • 它利用LLMs(大型语言模型),根据多轮训练数据调整并评估任务提示。

  • PROMPTBREEDER还细化了指导任务提示调整的规则(变异提示)。这形成了双重自我改进层:优化提示语和优化方法(自我参照)。

  • 在算术和推理测试中,PROMPTBREEDER的表现优于领先的策略。

  • 它还能为像仇恨言论分类这样的复杂挑战创建详细的提示语。

点击这里阅读完整文章,了解如何利用遗传算法概念创建更好的提示语:

为LLMs赋予自我反思能力

为了赋予LLMs自我反思能力,我们首先需要理解当前LLMs存在的问题。

  1. 它们给出的响应往往过于泛泛,缺乏细微差别,有时还会自我重复。

  2. 存在大量冗余词汇,没有实质性内容。

  3. 它们经常试图政治正确地表达,无法从特定视角提出有力论点。

  4. 对于可能需要超过8k或16k个令牌来回答的复杂问题,它会臆想并经常出错。

  5. 缺乏存储相关问题上下文的内存。

臆想是LLMs的最大问题之一。但这些臆想究竟是什么?

与其由我来解释和谈论LLM的臆想,不如看看专家本人对此有何见解。

Karpathy谈臆想(图片来源)

解决臆想问题的可能方法是让系统在响应之前进行更多思考。这就是Chain of Thought、Tree of Thought和Algorithm of Thought等策略的用武之地。

图片来源:https://arxiv.org/pdf/2305.10601.pdf图片来源:https://arxiv.org/abs/2308.10379

自我反思的理念是让系统在回答问题之前探索多种路径。给定的系统应具有回溯其路径并重新评估自身响应的能力。Tree/Algorithm of Thoughts 使用基于树或图的数据结构来遍历所有知识图谱。

要了解更多关于自我反思、Chain of Thought、Tree of Thought和Algorithm of Thought的信息:

我个人对这些提示策略持谨慎态度。我们常常认为,通过这些高级提示策略,LLM可以进行更好的规划。但一些研究人员已经表明,我们在这些提示策略中无意间向LLM提供了答案或提示。

阅读这篇精彩的文章,了解为什么LLMs无法推理和规划?

自主操作工具的使用

人工智能代理肯定需要使用各种工具的能力,没有这个能力,我们就无法创造出能操作计算机并完成特定任务的AI代理。

但为什么我们需要工具,为什么不能直接将所有知识传授给LLM呢?

LLM在进行数学计算时非常不擅长。以前它们甚至无法访问互联网,现在可以了。但为什么它们甚至在基本计算上也表现不佳呢? 在LLM中嵌入精确信息非常困难,因此最好让LLM不是自己计算数学答案,而是使用计算器或类似工具。

但问题是,LLM如何知道何时使用工具呢?

最新版本的LLM不仅可以生成文本,还可以使用不同的工具。例如,已经赋予LLM搜索互联网的能力,并利用这些信息提供更及时、更准确的答案。

它是这样工作的:

如果你想要全面了解LLM:

了解人工智能代理

目前,人工智能代理被应用于大型语言模型中。它们被视为RAG管道的未来,或是通往AGI的下一步。下图概述了人工智能代理是什么:

“代理”是一个自动化推理和决策引擎。它接收用户输入/查询,并能做出内部决策来执行查询,以返回正确结果。关键的代理组件可能包括但不限于:

  • 将复杂问题分解为更小的问题

  • 选择外部工具并设定调用工具的参数

  • 规划一系列任务

  • 在记忆模块中存储先前完成的任务

我们有不同类型的代理,可以执行从简单到非常复杂的任务,如动态规划。或者,如RaoK所指出的,它们可以帮助生成计划,然后用自动化规划器检查可行性。

当前的大型语言模型

代理式工作流程

让我们看看如何让LLM(大型语言模型)思考得更多。但真正的问题是,将问题分解为更简单的问题是否会让LLM变得更聪明。答案是:既是也否。

请记住,我们仍在使用相同的LLM,那么为什么性能会提高呢?答案在于上下文。

当我们把问题分解为更小的问题时,LLM会逐一回答,从而在解决整个问题时增加更多上下文。

然而,我们实际上是告诉LLM如何分解问题,因此规划工作是由我们自己完成的。LLM无法理解哪个计划更好,哪个不好。但在接下来的几个月里,我们可以训练或指导LLM,让它先将问题分解为子问题,然后利用这些子问题增加上下文,最后解决问题。但问题在于,它自己并不知道所提出的子问题是否正确。目前,人类必须决定使用哪些子问题来解决主要任务。

我自己已经注意到,对于某些话题,这种修订后的行为经常出错。

请不要误解,AI代理确实可以帮助我们进行规划,但它们无法自己创建自洽的计划。

并非只有我这样认为,Lecun也持有相同的观点,即LLM无法自我反思。

无论如何,让我们来看看关于LLM的规划和推理能力,以及更重要的是关于AI代理的其他观点。

代理式工作流程

反思

反思的概念是使用两个LLM,其中一个作为评论者,另一个是Coder LLM。已经证明,这种方法至少在HumanEval编码基准上极大地提高了编码性能。

Img Src: https://www.youtube.com/watch?v=sal78ACtGTc&t=722s

实现这个工作流程相当简单,这正是我们在使用GPT应用时所做的,我们不断地询问,直到得到正确答案。在使用应用时,我们自己判断给定迭代答案是否正确。但对于Coder AI代理,我们可能已经将正确答案存储在某个地方,这样就可以在VS代码或其他类似环境中运行GPT提供的脚本,生成输出,然后将该输出与正确答案进行比较。

工具使用

图片来源: https://www.youtube.com/watch?v=sal78ACtGTc&t=722s

使用工具有助于减少错误答案。上述部分已经解释了关于工具的使用。

规划

图片来源: https://www.youtube.com/watch?v=sal78ACtGTc&t=722s

规划目前还远未达到可用状态,因为它不知道何时停止,需要依赖外部规划器来判断生成的计划是否正确。

多智能体协作

图片来源: https://www.youtube.com/watch?v=sal78ACtGTc&t=722s

这是Devin所做的,它在软件工程领域中可以扮演不同的角色。不同的智能体可以担任测试员、开发人员等角色。

这里,多个智能体使用不同的工具并表现出不同的行为,你可以想象不同的LLMs被指令执行不同的行为。

在未来几个月和几年里,智能体工作流将变得非常重要,但这并不意味着LLMs本身变得更智能。这就像首次引入自动化,但针对LLMs。自动化本身并不智能,它只是让LLMs看起来更智能。

这是对AI智能体和智能体工作流的介绍。接下来,我们将尝试更深入地了解这些智能体的技术层面,讨论ReAct:LLMs的推理与行动,More Agent Is All You Need论文,LLM编译器,以及Llama Index的实际工作流实现。

结论

1. 人工智能代理的定义与能力: 对于什么是人工智能代理尚无定论,通常“人工智能代理”和“自主代理”互换使用。其特征包括使用LLMs等技术进行推理和行动,保持短期和长期记忆,以及通过API与外部工具交互,用于浏览网页和支付等任务。

2. 从独立产品到集成功能的演变: 从独立的人工智能代理产品转向将它们作为大型应用中的隐形功能。这包括个人助手和GitHub助手等,显示出代理技术的复杂性和集成度在提高。

3. 企业使用中的可靠性挑战: 企业要求高可靠性(约99.9%),而目前的人工智能代理在测试、调试、延迟和监控等问题上难以达到这一标准。此外,隐私、安全和数据保留问题也增加了复杂性。

4. 需要特定的SDK和框架: 开发者使用传统软件解决方案和针对代理的专用工具来应对人工智能代理特有的挑战。然而,该领域缺乏标准工具和框架,使得开发过程变得繁琐。

5. 标准化的社区努力: 关于建立自主代理标准的讨论日益增多,以帮助基准测试、安全考量和性能评估。其中包括Agent Protocol,旨在标准化与代理的交互。

6. 向专业化和垂直市场的趋势: 人工智能代理的初步广泛探索正在转向针对特定功能的专门应用,如编程或个人任务管理。这种专业化预示着未来应用将由多个协同工作的专业化AI代理驱动。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询