助力AI代理搜索,提升大型语言模型的最佳结果获取能力

richlovec 1500_400 (1)
 

无论你是科学家在头脑风暴研究思路,还是CEO希望自动化人力资源或财务任务,人工智能工具正逐渐成为你意想不到的得力助手。尤其是,许多专业人士开始利用半自主的软件系统——AI代理,这些代理能够在关键时刻调用AI来解决问题和完成任务。

AI代理在使用大型语言模型(LLM)时表现尤为出色,因为LLM功能强大、高效且适应性强。编程这类技术的一种方式是通过代码描述你希望系统执行的“工作流程”,包括何时调用LLM。例如,一家软件公司想用更现代的编程语言重构旧代码库以提升优化和安全性,可能会设计一个系统,利用LLM逐个文件翻译代码库,并在过程中测试每个文件。

但当LLM出现错误时怎么办?你希望代理能够回溯并重新尝试,吸取之前的错误教训。实现这一逻辑的编码工作量可能与实现原始代理相当;如果你的代码库翻译系统包含数千行代码,那么为了支持LLM错误时的回溯逻辑,你可能需要修改或新增数千行代码。

为节省程序员的时间和精力,麻省理工学院计算机科学与人工智能实验室(CSAIL)与Asari AI的研究人员开发了一个名为“EnCompass”的框架。

使用EnCompass,你无需亲自编写复杂的回溯代码。当EnCompass运行你的程序时,如果LLM出错,它会自动回溯。EnCompass还能克隆程序运行时环境,进行多次并行尝试,寻找最佳解决方案。它会在所有LLM调用可能产生的不同输出路径中搜索,找到LLM给出最佳结果的路径。

你只需标注可能需要回溯或克隆程序运行时的代码位置,并记录对搜索策略有用的信息。然后,你可以选择EnCompass自带的搜索策略,或自定义自己的搜索策略。

“EnCompass将搜索策略与AI代理的底层工作流程分离开来,”该项目主要作者、MIT电气工程与计算机科学博士生、CSAIL研究员及Asari AI研究顾问李振宁表示。“我们的框架让程序员能轻松尝试不同的搜索策略,找到让AI代理表现最佳的方案。”

EnCompass已应用于调用LLM的Python程序代理,显著减少了代码量。它在实现搜索功能时,编码工作量减少了约80%,涵盖代码库翻译代理和数字电网转换规则发现代理等。未来,EnCompass有望支持代理完成更大规模任务,如管理庞大代码库、设计科学实验、绘制火箭及其他硬件蓝图。

分支管理

在编写代理程序时,你需要标记某些操作(如LLM调用)为“分支点”,因为这些操作的结果可能不同。将代理程序比作一个故事情节,添加分支点就像制作一个“选择你自己的冒险”游戏,分支点是故事情节分叉的节点。

你可以指定EnCompass如何在这个故事游戏中导航,寻找最佳结局。它可以启动并行执行线程,或在遇到死胡同时回溯到之前的分支点。

用户可以直接使用EnCompass提供的常见搜索策略,也可以定义自有策略。例如,蒙特卡洛树搜索通过平衡探索与利用构建搜索树,束搜索则保留每步的最佳几个输出。EnCompass让你轻松尝试不同方法,找到最大化任务成功率的最佳策略。

EnCompass的编码效率

EnCompass在为代理程序添加搜索功能时极大地提高了编码效率。研究人员发现,该框架显著减少了程序员为实现搜索功能所需的代码量,方便他们尝试不同策略以优化性能。

例如,研究团队将EnCompass应用于一个将Java代码库翻译为Python的代理。Java广泛用于应用程序和企业软件开发。结果显示,使用EnCompass实现搜索(主要是添加分支点注释和步骤表现记录)比手动实现减少了348行代码,约82%。他们还通过EnCompass轻松测试了多种搜索策略,最终确定两级束搜索算法表现最佳,在五个不同代码库中,搜索预算为无搜索代理LLM调用次数的16倍时,准确率提升了15%至40%。

“随着LLM日益成为日常软件的重要组成部分,如何高效构建利用其优势并规避其局限的软件变得尤为重要,”MIT电气工程与计算机科学教授、CSAIL首席研究员Armando Solar-Lezama说。“EnCompass是朝这个方向迈出的重要一步。”

研究人员指出,EnCompass适用于由程序指定高层工作流程步骤的代理,目前版本不太适合完全由LLM控制的代理。“在那些代理中,LLM自行决定所有步骤,没有底层程序工作流程,因此可以在推理时动态搜索,不需要像EnCompass这样修改程序执行方式的工具。”李振宁解释道。

李振宁及其团队计划将EnCompass扩展为更通用的AI代理搜索框架,并在更复杂任务中测试以优化其实际应用,包括企业环境。他们还在评估EnCompass在硬件设计头脑风暴和大规模代码库翻译等人机协作任务中的表现。目前,EnCompass已成为一个强大的构建模块,使人类更容易调试AI代理,提升其性能。

“EnCompass的出现恰逢其时,AI驱动的代理和基于搜索的技术正开始重塑软件工程工作流程,”卡内基梅隆大学教授杨亦鸣评价道,他未参与本研究。“通过清晰分离代理的编程逻辑与推理时的搜索策略,该框架为探索结构化搜索如何提升代码生成、翻译和分析提供了原则性方法。这一抽象为更系统、更可靠的搜索驱动软件开发奠定了坚实基础。”

李振宁和Armando Solar-Lezama与两位Asari AI研究人员——加州理工学院教授Yisong Yue(公司顾问)和创始人兼CEO Stephan Zheng共同撰写了论文。该研究由Asari AI资助,并于12月在神经信息处理系统大会(NeurIPS)上发表。


分享:


发表评论

登录后才可评论。 去登录