我相信你们大多数人最近都听说过 Devin AI,作为世界上第一个 AI 软件开发商,它吸引了大量关注。现在我们又有一位来自印度的开发者,名叫 Devika。
那么,这就是 AI 开发的未来吗?AI 代理(AI Agent)?让我们尝试更深入地了解什么是 AI 代理,它们如何发展,以及它们将如何改变 AI 开发的工作流程。
最重要的是,这将是迈向 AGI 或 AGI 本身的下一步吗?所以,事不宜迟,让我们直接进入 AI 代理和 AI 代理工作流程。
一般来说,AI 代理是一种通过传感器感知环境并根据其感知、内部状态和经验使用执行器对该环境采取行动以实现特定目标的系统。
但在本文中,我们专门讨论基于 LLM 的 AI 代理。它们在网络或 OS(操作系统)上自主运行,可以从交互中学习,并做出决策以追求其目标,通常会针对某些标准进行优化。
目录
- 人工智能代理的历史
- 改进提示
- 为LLM提供自我反思能力
- 利用工具实现自主操作
- 了解人工智能代理
- 代理工作流程
- 结论
人工智能代理的历史
早在 2016 年,RL 代理就大肆宣传,人们试图创建不同类型的 RL 代理来玩 Atari 等游戏和其他类似游戏。当时还没有 AI 代理的概念。然而,包括 Jim Fan、Karpathy 和 Tim Shee 在内的几位 OpenAI 研究人员希望使用这些 RL 代理来完成当前 AI 代理正在做的一些事情。该项目名为World of Bits,他们的想法是创建一个可以访问网页并处理订购披萨等小请求的代理。他们希望通过代理来浏览操作系统。但他们遥遥领先,这项技术尚未发明,他们无法让它正常工作。
到底缺少什么?缺少的是LLM。
他们还需要 5 年时间才能创造出更为通用的智能行为的基础。LLM 擅长的是理解语言,以至于他们能够根据指令修改输出和行为。LLM 成为了正确的方案,可以用人类语言进行指导,并最终负责创建工作流程。创建 Agentic 工作流程是最合乎逻辑的下一步。
关于构建 AI 代理的一些警告。
它并不像人们现在所想和炒作的那么简单。它就像自动驾驶汽车,很容易想到,很容易创建概念验证,但很难真正投入使用。
经过十年的研究和数十亿美元的投入,我们仍然没有完全自动驾驶的汽车。
另一项这样的技术是虚拟现实,自 2000 年代后期以来,我们就有了虚拟现实的想法和 POC,但它仍然无法扩展。
所以,人工智能代理可能也同样如此。
改进提示
创建一个好的代理的第一步是给它好的提示。但人类真的擅长创造好的提示吗?对于给定的主题,专家可能能够创建一个优化的提示,但其他的呢?因此,有一种称为PROMPT BREEDER的策略。它是一个自我改进的系统,可以为特定领域开发提示。
- 使用 LLM,它根据多次迭代的训练数据调整和评估任务提示。
- PROMPTBREEDER 还细化了指导任务提示调整的规则(突变提示)。这产生了双重自我改进:细化提示和细化方法(自我参照)。
- PROMPTBREEDER 在算术和推理测试中表现优于领先策略。
- 它还可以为仇恨言论分类等复杂挑战创建详细的提示。
培养LLM的新方法
为LLM提供自我反思能力
为了赋予LLM自我反思的能力,我们首先需要了解当前LLM存在的问题。
- 他们的回答非常笼统,往往缺乏细节。有时,答案会重复。
- 有很多冗长的话语和不必要的词语,根本没有说明任何内容。
- 他们常常试图用政治正确的方式讲述事物,但却无法从既定的世界观出发提出好的论点。
- 它会产生幻觉,并且经常会错误地回答一些复杂的问题,而这些问题可能需要用超过 8k 或 16k 个标记来回答。
- 内存不足,无法存储给定问题的相关上下文。
幻觉是LLM最大的问题之一。但这些幻觉到底是什么?
与其让我解释和谈论 LLM 幻觉,不如看看他本人对此有何看法。
Karpahty 谈幻觉
解决幻觉的可能方法是让系统在做出反应之前进行更多思考。这就是我们采用的几种策略,如思维链、思维树和思维算法。
图片来源: https: //arxiv.org/pdf/2305.10601.pdf
图片来源: https: //arxiv.org/abs/2308.10379
自我反思背后的想法是让系统在回答任何问题之前探索不同的路径。给定的系统应该具有回溯其路径并重新评估其自身响应的能力。
思想树/算法使用基于树或基于图的数据结构来导航所有知识图。
但我个人对这些提示策略有点谨慎。我们经常认为,通过这些高级提示策略提示时,LLM 会想出更好的计划。但一些研究人员已经表明,我们在这些提示策略中无意中提供了答案或暗示。
利用工具实现自主操作
人工智能代理肯定需要具备使用不同类型工具的能力,如果没有这种能力,我们就无法拥有能够操作计算机并完成某些任务的人工智能代理。
但是我们为什么需要工具,为什么我们不能把所有的知识直接交给LLM本身呢?
LLM 的数学计算能力确实很差。以前他们甚至无法上网,现在可以了。但为什么他们连基本的计算能力都差呢?在 LLM 中提供精确的信息非常困难,这就是为什么 LLM 最好不要自己计算数学答案,而是使用计算器或类似的工具。
但问题是LLM如何知道何时使用工具?
新版的 LLM 不仅可以生成文本,还可以使用不同的工具。例如,LLM 可以搜索互联网并利用这些信息提供更及时、更好的答案。
它的工作原理如下:
了解人工智能代理
目前,AI 代理在 LLM 环境中使用。它们被视为 RAG 管道的未来或迈向 AGI 的下一步。下图总结了什么是 AI 代理:
“代理”是一种自动推理和决策引擎。它接收用户输入/查询,并可以做出内部决策来执行该查询,以返回正确的结果。关键代理组件包括但不限于:
- 将复杂问题分解为较小的问题
- 选择要使用的外部工具 + 提出调用该工具的参数
- 规划一系列任务
- 将之前完成的任务存储在记忆模块中
我们有不同类型的代理,它们可以执行从简单到非常复杂的任务,比如动态规划。或者让我纠正一下,换句话说,可以帮助制定计划,然后可以通过自动规划程序检查其可行性。
代理工作流程
让我们看看如何让 LLM 思考得更多一些。但真正的问题是,将问题分解为更简单的问题是否会让 LLM 变得聪明。答案是肯定的,也是否定的。
请记住,我们仍然使用相同的 LLM,那么为什么性能会提高? 答案在于上下文。
当我们将问题分解为更简单的问题时,LLM 将回答所有问题,从而在解决整体问题的同时添加更多背景。
但是我们自己无意中告诉了 LLM,如何分解问题,因此我们自己在做规划。
LLM 无法理解哪个计划更好,哪个计划不好。但在接下来的几个月里,我们可以训练或指导 LLM,让它首先将问题分解为子问题。然后使用它来添加更多上下文,然后解决问题。
但问题就在这里,它自己不知道它提出的子问题是否正确。截至目前,人类必须决定使用哪些子问题来解决主要任务。
我自己已经看到,当被问及某些主题时,这种修改后的行为不断中断很多次。
观看这个关于 LLM 局限性的精彩讲座:
请不要误会,人工智能代理确实可以帮助我们进行规划,但它们自己无法制定自洽的计划。
我不是唯一一个有类似想法的人,就连 Lecun 也认为 LLM 无法自我反省。
无论如何,让我们看看对方对 LLM 的规划和推理能力以及更重要的是 AI 代理的看法。
代理工作流
反射
反思的理念是拥有两个 LLM,其中一个充当批评者,另一个充当编码者 LLM。现在,这已被证明至少在 HumanEval 编码基准上可以大大提高编码性能。
图片来源:https://www.youtube.com/watch?v =sal78ACtGTc&t=722s
实现这个工作流程非常简单,这正是我们在使用 GPT 应用程序时所做的,我们不断地询问它,直到它得到正确的答案。
现在,在使用该应用程序时,我们会决定给定的迭代答案是否正确。但对于 Coder AI 代理,我们可能会将答案存储在某个地方,以便 GPT 提供的脚本在某些 VS 代码或其他东西上运行,产生输出,然后将该输出与正确答案进行匹配。
工具使用
使用工具有助于减少错误答案。以上章节已解释过工具。
规划
规划还远远不够实用,它只是碰运气,因为它不知道什么时候停止。它需要依赖外部规划器来判断生成的计划是否正确。
多代理协作
这就是 Devin 所做的,它可以在软件工程领域扮演不同的角色。不同的代理可以担任测试员、开发人员等角色。
这里有多个代理使用不同的工具并表现出不同的行为,你可以认为不同的 LLM 指导着不同的行为。
Agentic Workflow 在未来几个月和几年内将发展迅猛,但这并不意味着LLM本身变得更加智能。这就像首次引入自动化,但针对的是LLM。自动化本身并不智能,它让LLM看起来更智能。
结论
1. 人工智能代理的定义和功能:人工智能代理的具体构成尚无定论,术语“人工智能代理”和“自主代理”经常互换使用。然而,定义特征包括使用 LLM 等技术进行推理和行动的能力、保持短期和长期记忆的能力以及通过 API 利用外部工具执行网页浏览和付款等任务的能力。
2. 从独立产品到集成功能的演变:趋势是从独立的 AI 代理产品转变为将其作为隐形功能纳入大型应用程序。其中包括个人助理和 GitHub 助理等,这表明代理技术的复杂性和集成度有所提高。
3. 企业使用的可靠性挑战:企业要求高可靠性(约 99.9%),而 AI 代理目前由于测试、调试、延迟和监控等问题难以达到这一标准。隐私、安全和数据保留方面的担忧使这一问题进一步复杂化。
4. 需要特定的 SDK 和框架:开发人员使用传统软件解决方案和代理专用工具的组合来解决 AI 代理特有的挑战。然而,该领域缺乏标准的工具和框架,使得开发变得繁琐。
5. 社区为标准化所做的努力:关于为自主代理建立标准以帮助进行基准测试、安全考虑和性能评估的讨论越来越多。这些努力包括代理协议,旨在标准化与代理的交互。
6. 专业化和垂直市场趋势:对人工智能代理的最初广泛探索正在让位于旨在完善特定功能(如编码或个人任务管理)的专业应用。这种专业化表明,未来应用程序将由多个协同工作的专用人工智能代理提供支持。
RA/SD 衍生者AI训练营。发布者:chris,转载请注明出处:https://www.shxcj.com/archives/2843