![]()
无论你是正在头脑风暴研究想法的科学家,还是希望在人力资源或财务领域实现任务自动化的CEO,你都会发现人工智能工具正在成为你意想不到的好助手。特别是,许多专业人士正在利用被称为AI智能体的半自主软件系统的才能,这些系统可以在特定时刻调用AI来解决问题和完成任务。
当AI智能体使用大语言模型时特别有效,因为这些系统功能强大、高效且适应性强。编程此类技术的一种方法是在代码中描述你希望系统做什么(即"工作流程"),包括何时应该使用大语言模型。如果你是一家软件公司,试图改造旧代码库以使用更现代的编程语言来获得更好的优化和安全性,你可能会构建一个系统,使用大语言模型逐个文件翻译代码库,并在过程中测试每个文件。
但是当大语言模型出错时会发生什么?你希望智能体能够回溯以进行另一次尝试,并结合从之前错误中学到的经验教训。编写这样的代码可能需要与实现原始智能体同样多的努力;如果你用于翻译代码库的系统包含数千行代码,那么你需要进行数千行代码更改或添加,以支持大语言模型出错时的回溯逻辑。
为了节省程序员的时间和精力,MIT计算机科学与人工智能实验室(CSAIL)和Asari AI的研究人员开发了一个名为"EnCompass"的框架。
使用EnCompass,你不再需要自己进行这些更改。相反,当EnCompass运行你的程序时,如果大语言模型出错,它会自动回溯。EnCompass还可以克隆程序运行时以并行进行多次尝试,寻找最佳解决方案。从更广泛的角度来看,EnCompass搜索你的智能体可能采取的不同路径,这些路径是所有大语言模型调用的不同可能输出的结果,寻找大语言模型找到最佳解决方案的路径。
然后,你所需要做的就是标注你可能想要回溯或克隆程序运行时的位置,以及记录任何可能对搜索策略有用的信息(即用于搜索智能体不同可能执行路径的策略)。然后你可以单独指定搜索策略——你可以使用EnCompass开箱即用提供的策略,或者如果需要,实现你自己的自定义搜索策略。
"使用EnCompass,我们将搜索策略与AI智能体的底层工作流程分离开来,"主要作者Zhening Li'25, MEng'25说道,他是MIT电气工程和计算机科学(EECS)博士生、CSAIL研究员,也是Asari AI的研究顾问。"我们的框架让程序员可以轻松试验不同的搜索策略,找到使AI智能体表现最佳的策略。"
EnCompass被用于实现为调用大语言模型的Python程序的智能体,在那里它展示了显著的代码节省。EnCompass将实现搜索的编码工作减少了高达80%,这适用于各种智能体,如用于翻译代码存储库和发现数字网格变换规则的智能体。未来,EnCompass可以使智能体处理大规模任务,包括管理庞大的代码库、设计和执行科学实验,以及创建火箭和其他硬件的蓝图。
分支扩展
在编程你的智能体时,你标记特定操作——比如对大语言模型的调用——结果可能会有所不同的地方。这些标注被称为"分支点"。如果你把智能体程序想象成生成故事的单一情节线,那么添加分支点就把故事变成了一个选择你自己冒险的故事游戏,分支点是情节分支成多个未来情节线的位置。
然后你可以指定EnCompass用来导航该故事游戏的策略,寻找故事的最佳可能结局。这可以包括启动并行执行线程或在遇到死胡同时回溯到之前的分支点。
用户还可以即插即用EnCompass开箱即用提供的几种常见搜索策略,或者定义自己的自定义策略。例如,你可以选择蒙特卡洛树搜索,它通过平衡探索和利用来构建搜索树,或者束搜索,它保留每一步的最佳几个输出。EnCompass使得试验不同方法变得容易,从而找到最佳策略来最大化成功完成任务的可能性。
EnCompass的编码效率
那么EnCompass为智能体程序添加搜索功能的代码效率究竟如何?根据研究人员的发现,该框架大幅减少了程序员需要添加到智能体程序中以添加搜索功能的代码量,帮助他们试验不同策略以找到表现最佳的策略。
例如,研究人员将EnCompass应用于一个将代码存储库从Java编程语言(通常用于编程应用程序和企业软件)翻译成Python的智能体。他们发现,使用EnCompass实现搜索——主要涉及添加分支点标注和记录每个步骤表现的标注——比手工实现少了348行代码(约82%)。他们还演示了EnCompass如何让他们轻松尝试不同的搜索策略,确定最佳策略是双层束搜索算法,在搜索预算为无搜索智能体大语言模型调用16倍的情况下,在五个不同存储库中实现了15%到40%的准确率提升。
"随着大语言模型成为日常软件更重要的组成部分,理解如何高效构建利用其优势并解决其局限性的软件变得更加重要,"共同作者Armando Solar-Lezama说道,他是MIT EECS教授和CSAIL主要研究员。"EnCompass是朝这个方向迈出的重要一步。"
研究人员补充说,EnCompass针对的是程序指定高级工作流程步骤的智能体;他们框架的当前版本不太适用于完全由大语言模型控制的智能体。"在那些智能体中,不是有一个程序指定步骤然后使用大语言模型执行这些步骤,而是大语言模型本身决定一切,"Li说道。"没有底层的程序化工作流程,所以你可以对大语言模型即时发明的任何东西执行推理时搜索。在这种情况下,像EnCompass这样修改程序如何通过搜索和回溯执行的工具的需求较少。"
Li和他的同事计划将EnCompass扩展到AI智能体更通用的搜索框架。他们还计划在更复杂的任务上测试他们的系统,以便为现实世界的使用(包括在公司中)进行优化。此外,他们正在评估EnCompass如何帮助智能体与人类在诸如头脑风暴硬件设计或翻译更大代码库等任务上合作。目前,EnCompass是一个强大的构建块,使人类能够更容易地调整AI智能体,提高它们的性能。
"EnCompass在一个及时的时刻出现,因为AI驱动的智能体和基于搜索的技术开始重塑软件工程中的工作流程,"卡内基梅隆大学教授Yiming Yang说道,他没有参与这项研究。"通过将智能体的编程逻辑与其推理时搜索策略清晰分离,该框架提供了一种有原则的方式来探索结构化搜索如何增强代码生成、翻译和分析。这种抽象为更系统和可靠的搜索驱动软件开发方法提供了坚实的基础。"
Li和Solar-Lezama与两位Asari AI研究人员共同撰写了这篇论文:加州理工学院教授Yisong Yue,该公司的顾问;以及高级作者Stephan Zheng,该公司的创始人兼CEO。他们的工作得到了Asari AI的支持。
该团队的工作在12月的神经信息处理系统会议(NeurIPS)上进行了展示。
Q&A
Q1:EnCompass是什么?它能解决什么问题?
A:EnCompass是MIT CSAIL和Asari AI开发的框架,专门为AI智能体提供自动搜索优化功能。它解决了当大语言模型出错时,智能体需要手动编写复杂回溯代码的问题,通过自动回溯和并行搜索来寻找最佳解决方案。
Q2:使用EnCompass能节省多少编程工作量?
A:根据研究结果,EnCompass可以将实现搜索功能的编码工作减少高达80%。例如在代码翻译智能体中,使用EnCompass比手工实现少了348行代码,约减少82%的工作量,同时还能实现15%到40%的准确率提升。
Q3:EnCompass适用于哪些类型的AI智能体?
A:EnCompass主要适用于有明确程序化工作流程的智能体,特别是那些调用大语言模型执行特定步骤的Python程序智能体。对于完全由大语言模型控制决策的智能体,EnCompass的适用性较低,因为这类智能体缺乏底层的程序化工作流程结构。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.