热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >绿洲和星尧聊了聊他的 ICLR Agent获奖论文 | Agent Insights

绿洲和星尧聊了聊他的 ICLR Agent获奖论文 | Agent Insights

来源:互联网 更新时间:2026-08-10 17:33

Agent,作为基于基础模型与人类多轮交互形成的端到端问题解决智能体,目前仍缺乏一种与环境的准确、灵活且能够自动优化的交互机制。美国伊利诺伊大学厄巴纳-香槟分校(UIUC)博士王星尧提出的CodeAct,正是为了填补这一空白——通过代码让Agent与环境交互,效率显著提升。CodeAct的核心价值在于,它能在与环境交互的过程中持续学习,不断寻找新数据并优化自身,这在互联网数据即将枯竭、模型能力遭遇瓶颈的当下,意义尤为突出。

绿洲和星尧聊了聊他的 ICLR Agent获奖论文

《EXECUTABLE CODE ACTIONS ELICIT BETTER LLM AGENTS》

CodeAct 整体框架图

论文链接:

https://arxiv.org/abs/2402.01030

解决问题

传统Agent架构通过生成预定义的JSON或文本完成操作,操作空间和灵活性严重受限。CodeAct利用代码将Agent的行动整合到统一的行动空间中,并与Python解释器集成,能够执行代码行动,通过多轮交互动态修改先前的行动,大幅提升了Agent与环境的交互能力。

模型框架

CodeAct的核心思想是用代码进行智能体-环境的交互(例如工具调用),从而提升效率和通用性。它的行动空间自然支持搜索、记忆等过程——比如记忆功能可以通过创建一个数据库来实现。

应用空间

Agent与环境交互的环节都可以用CodeAct替代。

各类模型在 CodeAct 架构下处理不同复杂任务的性能

评估结果

在复杂任务下,CodeAct的效果更为显著。以GPT-4-1106-preview为例,在M3ToolEval复杂任务中,CodeAct的性能比传统方案高出20%,同时交互轮数减少了30%。而且,CodeAct的优势会随着模型能力的提升愈发明显。

绿洲:

请帮我们简单介绍下您的研究背景,以及对Agent的看法?

星尧:

我在UIUC主要跟着Heng Ji老师做可交互语言模型智能体(Interactive Language Agent)相关的研究。在我看来,Agent的本质是以LLM或VLM等大模型为底座,在此之上与人类、环境进行多轮交互的结果。ChatGPT本质上也是基础模型与人类多轮交互的产品,只是缺少了与环境的交互。早期像AutoGPT这样的尝试,往往是提前布置好任务细节,交由Agent自主执行,缺少了人类在过程中的反馈修正。

Agent中模型、人类、环境的交互需要协同。我们发表在ICML/ICLR上的CodeAct,主要专注于探索如何让模型更好地与环境交互——以代码为媒介,与人类使用者通过自然语言交互,这是CodeAct的核心思路。接下来,我们会顺着这个框架拓展更实际的应用场景。

CodeAct的架构可以自然兼容搜索、记忆等过程。记忆功能本身也可以通过CodeAct实现:一个原始的方法就是直接给模型创建一个数据库,模型会利用代码访问数据库API将信息一行行写进去;搜索也类似,直接给模型配备Google Search API即可。CodeAct提供了一种思想:用代码进行部署和工具调用,可以直接利用已有的代码软件包,节省大量人类开发者预先定义不同工具的额外工作。

绿洲:

请帮我们解释一下,过去与现在模型-环境交互模式的变化?

星尧:

CodeAct是对过去交互方式的改进。例如,过去很多人使用ReAct配合Tool Calling的方式,用户需要提前定义工具列表,并为每个工具编写文档,让模型明白工具能做什么。最核心的痛点是“逼迫”模型按照特定格式输出(比如JSON),还要编写复杂的解析器去捕捉修复各种边缘情况。

在过去的Agent开发中,规定模型输出是非常痛苦的——模型永远会生成千奇百怪的结果,多一个空格或少一个逗号,都会导致Agent周围的工程化代码变得冗杂。然而,工具最终还是要用代码执行,执行完再喂回模型。模型根本不知道自己在与特定格式交互时,本质上还是在和代码交互。等于在Agent外面缠绕“十几层胶带”,让开发过程繁杂缓慢。CodeAct的思路就是少缠几层是几层,直接把整个环境暴露给模型,告诉它直接用Python指令交互。出现错误时,Python解释器返回的自动错误信息就能提醒模型进行代码修复。

总体来说,CodeAct相比过去的路径有四大优势:

  • 大幅节省模型与环境交互次数;
  • 准确率提升;
  • 软件功能泛化性;
  • 自动反馈优化。

目前,CodeAct已经能完成一些有意义的数据科学和数据可视化任务。未来,我们期待看到它解决更多端到端的问题,形成更复杂的应用。

绿洲:

您同时也是热门开源项目OpenDevin的主要贡献者,能否简单介绍一下OpenDevin,以及您在其中做了哪些工作?

星尧:

OpenDevin是一个很神奇的项目。阿里巴巴通义千问的Junyang和Binyuan在Devin项目推出后一天就在推特上发起了OpenDevin,我看到后立刻联系他们加入了社区。刚推出README文件就获得了一千多个Star,后来CMU教授Graham Neubig提交了第一个PR,写了一个简单的界面,社区便开始疯狂迭代,现在已有两万多Star。我当时想把CodeAct集成进去,后来逐渐成为了OpenDevin的第二大贡献者。

我对OpenDevin的贡献,本质上是把CodeAct应用到现实生活中。CodeAct过去主要在Python上进行Agent-环境交互实验,但很多软件工程任务对Agent环境交互要求很高,最主要的环境其实是Bash Terminal(Linux系统的运行命令)。所以在OpenDevin中,我把CodeAct延展到了Bash语言上。近期我们还在尝试将OpenDevin延展到类似浏览器的编程语言上,用户可以通过语言控制浏览器。OpenDevin会逐渐支持越来越多不受限的语言操作。

绿洲:

CodeAct在执行完全没接触过的新工具时,需要进行微调吗?

星尧:

目前分为两种情况。对于一些常见的工具包调用,建立在CodeAct之上的基础模型通过大量预训练已经非常熟悉,会自动选择合适的Library API,无需人工干预。但在特定场景中(例如让模型调用一些私有工具包),部分场景需要提供Library Documentation或代码样例。此外,你也可以选择在公司自己训练的私有大模型上部署CodeAct,这样Agent从一开始就能学会公司内部代码的用法。

绿洲:

我们如何定义模型选择哪个工具执行效果更好?例如我现在要订一张中国到欧洲的机票,CodeAct Agent如何知道是Google搜索、ChatGPT制定方案、微信询问中哪种方案最佳?

星尧:

我们也在思考人类做决策的模式。我们发现人也是在交互中学习——例如在网上查询没有满意结果后,自然会到微信里问朋友。我们接下来一个重要的研究方向就是Agent的在线学习能力。比如查询机票,有A、B、C三种途径,我们希望模型能查阅所有途径的信息并比较,发现C的结果最优后,下次查询时自动选择最优方案。未来大部分交互过程都应该是可学习的。

绿洲:

能否解释一下开发CodeActInstruct的意义?

星尧:

CodeAct在闭源模型上效果很好,但在开源模型上表现不佳,主要原因是开源模型的指令微调不足。比如Code Llama本身代码预训练是足够的,但微调过程中缺少相应数据。CodeActInstruct能够弥补这一点,让开源模型微调更有效。它是一个非常全面的数据集,相比同类数据集多了三倍数据量(至少5倍的Token数)。我们希望利用CodeActInstruct帮助开发者提升基础模型的CodeAct能力。

CodeActInstruct 数据集对比其他代码数据集

绿洲:

您下一步准备做什么?CodeAct可以更好地应用在哪些领域?

星尧:

我们现在把OpenDevin与普林斯顿的SWE-Agent结合起来,发现CodeAct已经在SWE-Bench标准(Software Development Task Completion Benchmark)上取得了不错进展,同时还能集成更多功能。从研究角度,我希望完善OpenDevin框架,并掌握前面提到的在线学习能力。

另外,我们也在把CodeAct中的交互模式做成“基础设施”,通用到更多领域。目前CodeAct只与Python交互,主要是因为工程建造时长太高。但社区里大家普遍希望建造通用的软件工程Agent,因此会贡献不同的交互方式——比如CodeAct与Bash、浏览器等。我会利用好这些社区经验做好研究,然后反哺开源社区,打造更加通用化的Agent环境交互方式。

绿洲:

目前大家对低代码Agent端到端自动化很兴奋,您觉得类似产品实际落地还需要哪些条件?

星尧:

目前从环境交互中学习的能力仍然缺失。基础模型的能力已经达到基本要求,稍微Prompt一下代码就能达到60分水平,但效果不稳定,有时会卡死循环。除了提升基础模型能力,最通用的解法是让Agent自己学——一开始做错了没关系,但下次需要有所进步。另外,预训练很快会用完世界上所有的互联网数据,当数据穷尽时,我认为需要从环境交互中找数据,并且从环境交互中学习。这是未来大模型非常关键的迭代方式。

本质上,CodeAct是在提供Agent与环境交互的过程,强化代码作为媒介的方式,而不是加强底层模型的代码生成能力。Agent接入CodeAct后,还需要学习规划、决策、反思等具体能力。我们不希望Agent学会代码交互后就把其他能力摒弃了。人类能够从历史经验中不断学习哪些方案可行或不可行,下一步就是希望基础模型+Agent也能做到这一点。在未来互联网数据日益穷尽的背景下,这一点尤为重要。

绿洲:

您如何看待开源大模型与闭源大模型长期以来的关系?合成数据在模型进化中扮演什么角色?

星尧:

我的假设是,总有一天大模型会用完人类世界所有互联网数据,那么开源模型的能力会慢慢追上来。OpenAI之所以强是因为有先发优势,开源与闭源模型的差距会逐渐缩小——除非线上学习需要大量资源,以至于开源社区完全做不了。如果不是这种情况,开源模型不会落后太多。

关于合成数据,人类与环境交互的过程本身就在产生合成数据——那是模型自己合成自己的输出数据。短期内,通过合成数据提升模型表现是可行的。例如,Apple最近有一篇论文《Rephrasing the Web: A Recipe for Compute and Data-Efficient Language Modeling》,他们将预训练数据转写了一遍混进去二次训练,发现效果提升了很多。这相当于把模型数据中乱糟糟的内容“洗干净”,让模型学得更好。另外,CodeAct提出的利用代码加强Agent-环境交互数据迭代积累、强化在线学习能力,也是一种不错的提升方式。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc