随着围绕 LLM 构建的新生态系统的一部分,我们将看到代码解释器(Code Interpreter)为更多 AI 代理和应用程序提供支持,其中代码解释器代表了代理大脑的关键部分。
译自 4 Reasons Your AI Agent Needs Code Interpreter,作者 Vasek Mlejnsky。
构建 AI 代理很难。你会遇到幻觉、让代理保持正轨和引导它们使用正确工具的问题。
克服这些问题的一种方法是赋予代理代码执行能力。
以下是一些你的 AI 代理应该拥有代码解释器的原因:
1. 额外技能
拥有代码解释器的代理可以获得执行诸如 CSV 文件统计分析或绘制图表等能力。
当你向不同的代理询问相同的事情时,就会明显看出那些具有底层代码解释器的代理有多大的不同。如果没有运行代码,几乎不可能完成以下任务:
- 分析 NVIDIA 股票并预测其发展。
- 与我玩扑克游戏。
- 为我预订航班。
看看 Perplexity(一个没有代码解释器的代理)如何处理数据分析任务。即使提供了数据文件,代理也无法完成任务——它能做的最好的事情就是提供有关我应该运行什么代码的建议。
以下是具有底层代码解释器的 ChatGPT 如何处理相同任务的示例……
……包括安装新包和生成图表。
请注意,最终用户不必 意识到应用程序在后台执行编码 任务,因为主要目标(如“为我预订航班”)通常不涉及编码。
2. 复杂推理
大型语言模型 (LLM) 非常擅长生成文本 但在推理和复杂思考方面存在困难。
谷歌团队从 Daniel Kahneman 的著名著作“思考,快与慢”中做了一个有趣的类比。执行代码的能力使代理具备慢思考(费力、合乎逻辑和计算)与快思考(直观和自动)的能力,并且由代理在没有代码解释器的情况下如何行动来表示。
在他们的类比中,纯粹依赖 LLM 的代理可以被认为在没有慢思考的情况下运行,快速生成文本而没有更深入的思考。以下是一个示例,说明即使是简单的任务也可能需要一些系统,而不能仅凭直觉来回答。
3. 减少 LLM 幻觉
最近的一篇 论文 证实,即使给出了推理提示,LLM 在多步骤任务中也会出现幻觉。作为对论文发现的后续,一位软件工程师 演示 了如何使用代码解释器风格的 LLM 引擎成功地将幻觉减少了一个数量级。他发现代码解释器可以将 GPT-4 幻觉率从 <10% 降低到 <1%。
代码解释器可以处理上传和下载,编写代码以从源文件中查找数据并得出结论,而不是像通常的简单代理那样自由推理。
对抗 LLM 幻觉的其他方法 包括 RAG、微调和增加 LLM 上下文窗口的大小。
4. 测试
另一个重大挑战是 LLM 代码生成。当代理不仅可以 生成还可以运行代码 时,它能够测试其自身输出的功能并对其进行迭代。
使用代码解释器构建
我认为我们将看到代码解释器为更多 AI 代理和应用程序提供支持,作为围绕 LLM 构建的新生态系统的一部分,其中代码解释器代表了代理大脑的关键部分。有关构建的灵感,请参阅流行的开源产品,如 Open Interpreter 或 AutoGen。
仍有一些挑战需要克服,例如找到一种安全且最佳的方式来运行 LLM 生成的代码,这可以通过在 隔离的云环境 中执行进程来解决。