Agents需要一个代码解释器 原创

发布于 2024-5-15 10:43
浏览
0收藏

作者 | Vasek Mlejnsky

编译 | 言征

出品 | 51CTO技术栈(微信号:blog51cto)

构建人工智能代理很难。你将与幻觉作斗争,让agents智商不掉线,并引导他们使用正确的工具。

不过,方法也不难,其中一种就是赋予代理代码执行能力。

以下是为什么你的人工智能代理应该有一个代码解释器的一些原因。

一、额外技能

具有代码解释器的代理可以获得诸如对CSV文件执行统计分析或绘制图表之类的功能。

当你向不同的代理请求相同的东西时,很明显,那些具有底层代码解释器的代理有多大的不同。如果不运行代码,几乎不可能完成以下任务:

  • 分析NVIDIA的股票并预测其发展。
  • 和人一起玩扑克游戏。
  • 订一张机票。

我们先来看一下Perplexity(一个没有代码解释器的代理)如何处理数据分析任务。即使提供了数据文件,代理也无法完成任务——它所能做的最好的事情就是提供关于应该运行什么代码的建议。

Agents需要一个代码解释器-AI.x社区图片

以下是带有底层代码解释器的ChatGPT将如何处理相同的任务…

Agents需要一个代码解释器-AI.x社区图片

…还包括安装新软件包和生成图表。

Agents需要一个代码解释器-AI.x社区图片

请注意,最终用户不需要意识到应用程序在幕后执行编码任务,因为主要目标(如“为我预订航班”)通常不围绕编码。

二、复杂推理

大型语言模型(LLM)擅长生成文本,但难以进行推理和复杂思考。

谷歌的团队对丹尼尔·卡尼曼的名著《思考,快与慢》进行了有趣的类比。执行代码的能力使代理具有慢思考(努力、逻辑和计算)与快思考(直觉和自动)的能力,并通过代理在没有代码解释器的情况下的行为来表示。

在他们的类比中,完全依赖LLM的代理可以被认为是在没有慢思考的情况下操作,即在没有深入思考的情况下来快速生成文本。下面是一个例子,说明即使是简单的任务也可能需要一些系统,而不能凭直觉回答。

Agents需要一个代码解释器-AI.x社区图片

三、减少LLM幻觉

最近的一篇论文证实,即使在给出推理提示的情况下,LLM也会对多步骤任务产生幻觉。作为论文研究结果的后续,一位软件工程师展示了使用代码解释器式LLM引擎如何成功地将幻觉减少一个数量级。他发现,代码解释器可以将GPT-4幻觉率从<10%降低到<1%。

代码解释器可以处理上传和下载,编写代码从源文件中查找数据并得出结论,而不是像更简单的代理通常那样自由推理。

对抗LLM幻觉的其他方法包括RAG、微调和增加LLM上下文窗口的大小。

四、自己测试代码

另一个巨大的挑战是LLM代码的生成。当代理不仅可以生成代码,还可以在运行代码时,它就能够测试自己输出的功能并对其进行迭代。

五、使用代码解释器构建

作为围绕LLM构建的新生态系统的一部分,我们将看到代码解释器为更多的人工智能代理和应用程序提供动力,在LLM中,代码解释器代表了代理大脑的关键部分。有关构建的灵感,不妨参阅流行的开源产品,如Open Interpreter或AutoGen。

Agents需要一个代码解释器-AI.x社区图片

当然,仍然有一些挑战需要克服,例如找到一种安全和最佳的方式来运行LLM生成的代码,这可以通过在独立的云环境中执行进程来解决。

​本文转载自51CTO技术栈,作者:言征

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复