网易首页 > 网易号 > 正文 申请入驻

全球首个AI程序员当老板!IOI金牌得主全部工作AI掌盘,技术细节报告公开

0
分享至


新智元报道

编辑:桃子

【新智元导读】一夜之间,全球首个AI程序员的诞生码农的世界变了天。更让人震惊的是,现在的Devin还成为Cognition AI的首席执行官替身,开始打工了。

AI程序员Devin竟可以做老板的工作了?!

最近,Cognition AI的首席执行官Steven Hao给了Devin访问自己帐户的权限,然后Devin便开始为他工作了...


比如,「他」向初创公司Modal支持团队写了一封邮件,是询问关于其产品Secrets更新后用多久再提供给正在运行的应用程序。


然后,「AI老板」Devin与技术团队进行了无缝交流,最终解决了自己的疑惑。


就在最近,Cognition团队发布了Devin的最新技术报告。

开篇,Cognition提到团队的目标之一,就是让Devin成为一个专门从事软件开发的AI智能体,能够成功地为大型复杂代码库贡献代码。


Reddit网友称,「所有否认软件工程师很快就会过时的人都太天真了。失业将对我们所有人造成冲击」。


还有网友表示,AI正在迅速地重塑我们的现实,以至于我们根本不知道发生了什么。



技术报告出炉

为了评估Devin,研究人员使用了SWE-BENCH——一个针对软件工程系统的自动化基准测试,可以确定地评估(通过单元测试)系统在真实代码库中解决问题的能力。


https://www.swebench.com/

在SWE-bench中,Devin成功解决了13.86%的问题,远远超过了之前最高的1.96%无辅助基线。

即使给定要编辑的确切文件(「辅助」模式),之前的最好的模型也只能解决4.80%的问题。

方法

研究人员采用SWE-BENCH来评估智能体,这比原始的LLM评估设置更通用。

设置

- 使用标准化的提示从头到尾运行智能体,要求它仅根据GitHub问题描述编辑代码。在运行过程中,不会向智能体提供任何其他用户输入。

- 代码仓库被克隆到智能体的环境中。只保留基础提交(base commit)及其「祖先」提交在git历史记录中,以防止信息泄露给智能体。值得注意的是,研究人员移除了git远程仓库,这样git pull就不起作用。

- 在测试开始之前,设置了Python Conda环境。

- 将Devin的运行时间限制在45分钟,因为与大多数智能体不同的是,它具有无限期运行的能力。如果愿意,它可以选择提前终止。

Eval

- 智能体运行退出后,研究人员会将所有测试文件重置为原始状态,以防智能体修改测试,并将文件系统中的所有其他差异提取为patch。

- 为了确定哪些文件是测试文件,研究人员采用在测试patch中修改的所有文件的集合。

- 将智能体的patch应用到repo,然后是测试patch。

- 运行SWE-BENCH提供的eval命令,并检查是否所有测试都通过。

具体可以在如下链接中,找到研究人员改编的评估工具的代码:

https://github.com/CognitionAI/devin-swebench-results.


结果

研究人员在SWE基准测试集中,随机抽取了25%的测试集(2294个测试集中的570个)对Devin进行了评估。

这样做是为了缩短基准测试的完成时间,与作者在原始论文中使用的策略相同。

Devin成功解决了570个问题中的79个,成功率为13.86%。这明显高于之前最佳辅助系统Claude 2的4.80%。


图中的基线是在「assisted」设置中评估的,即向模型提供其需要编辑的确切文件。

基线在「unassisted」设置中表现较差,在这种情况下,一个单独的检索系统为LLM选择要编辑的文件(最佳模型是Claude 2+BM25检索系统,得分率为1.96%)。

在智能体环境中,Devin拥有整个软件repo,可以自由浏览文件,因此研究人员选择了较强的数据作为比较基准。

案例分析

多步规划

Devin可以执行多步计划,以接收来自环境的反馈。

72%的通过测试需要10分钟以上的时间才能完成,这表明迭代能力有助于Devin取得成功。


定性示例

研究人员对Devin的结果进行了一些定性分析。回想一下,Devin只得到了问题描述和克隆存储库作为输入。

示例1


最初,Devin被描述吓了一跳,它在返回self之前添加了self.lower_bound_ = max_lower_bound。

这实际上是不正确的,因为变量尚未定义。


根据问题描述中提供的测试代码,Devin会更新测试文件:


但在运行测试并出现错误后,Devin更正了文件:



在此修复后,Devin重新运行测试,以使其通过并成功退出。

这个例子很有趣,原因有几个:

- 尽管不准确,Devin还是非常严格地遵循了原版中的指示。这表明与用户的首选项过于一致。

- 有了在环境中运行测试的能力,Devin就能纠正自己的错误。对于软件开发人员来说,能够迭代是至关重要的,而智能体也应该能够做到这一点。

示例2

Devin可以识别正确的文件 django/db/backends/postgresql/client.py ,并进行完整编辑:


在这里,Devin能够成功地修改一大段代码。

SWE-BENCH中,许多成功编辑都由单行差异组成,但Devin能够同时处理多行。

示例3

这是一项艰巨的任务,涉及修改计算机代数系统,以正确处理地板和天花板对象上,与可指定为正值或负值的值有关的比较运算符。

这需要复杂的逻辑推理和多个推导步骤。


Devin错选了要编辑的正确类,他编辑的是frac类,而不是floor类和ceiling类。

此外,Devin只编辑了一个比较运算符gt,而lt、le和ge也需要修改。这样的编辑离正确还差得很远。

示例4

这项任务涉及向回购中的所有数据集添加额外的退货选项功能。Devin能够成功地对几个数据集进行此编辑;下面显示了一个示例。



Devin设法对数据集 california_housing.py 、 covtype.py 、 kddcup99.py 和 mldata.py (原始PR实际上排除了它们)进行了类似的编辑。

不幸的是,Devin漏掉了两个数据集, lfw.py 和 rcv1.py ,因此测试最终失败。研究人员打算改进Devin编辑多个文件的能力。

测试驱动实验

研究人员又进行了一次实验,向Devin提供了最终的单元测试和问题陈述。

在这种「测试驱动开发」的环境下,100个抽样测试中,成功通过率提高到了23%。(请注意,对测试本身的任何修改都会在评估前被删除)。

这一结果是无法与SWE-BENCH的其他结果相比较的,因为该智能体可以访问真值测试patch。

尽管如此,测试驱动开发是软件工程中的一种常见模式,因此这种设置是SWE-BENCH的自然扩展。

人类给智能体一个有针对性的测试,来通过是人类工程师和智能体合作的一种自然方式,我们预计未来会看到更多测试驱动的智能体。

Devin通过测试新解决的问题示例

Devin通过在函数前面添加一条Print语句,然后运行单元测试,然后根据Print语句编辑文件,解决了这个问题。



新单元测试断言会发出准确的错误信息:The value of 'filter_horizontal[0]' cannot include […]。

如果不知道错误的确切措辞,就不可能通过测试。

这凸显了该基准的一个问题,说明不使用测试patches也不可能获得满分。

智能体仍在发展的初级阶段,还有很大的改进空间。Cognition团队相信智能体的能力将在未来显著提高。


参考资料:

https://twitter.com/AISafetyMemes/status/1769234765813809359

https://www.reddit.com/r/singularity/comments/1bh2j0m/devin_ai_is_doing_the_full_job_of_his_developer/

https://www.cognition-labs.com/post/swe-bench-technical-report

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

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.

相关推荐
热点推荐
俄罗斯族乌军总司令上任近三个月 作战风格曝光:强调耐心和纪律性,重视无人机使用

俄罗斯族乌军总司令上任近三个月 作战风格曝光:强调耐心和纪律性,重视无人机使用

红星新闻
2024-04-26 18:04:11
大S放弃继承权!执意要给孩子改姓,张兰发声:去公证处更改遗嘱

大S放弃继承权!执意要给孩子改姓,张兰发声:去公证处更改遗嘱

八卦王者
2024-04-27 15:36:52
马自达:当我再努力也无法被中国市场青睐时,就只能选择躺平了

马自达:当我再努力也无法被中国市场青睐时,就只能选择躺平了

前沿科技学习分享圈
2024-04-26 23:13:00
狗头萝莉公布招工信息,却因工资太低被骂上热搜,哭着解释这件事

狗头萝莉公布招工信息,却因工资太低被骂上热搜,哭着解释这件事

新游戏大妹子
2024-04-27 12:26:23
13000颗!马斯克没有料到,6G计划正式公布,外媒:我们输了

13000颗!马斯克没有料到,6G计划正式公布,外媒:我们输了

小蘑菇壹号
2024-04-27 11:07:51
降薪850万,重签快船!管理层后悔莫及,哈登也再一次看走了眼

降薪850万,重签快船!管理层后悔莫及,哈登也再一次看走了眼

呆哥聊球
2024-04-27 16:21:10
后续:强龙卷风冰雹突袭广州,卡车被吹翻,家禽遭殃,路人吓哭了

后续:强龙卷风冰雹突袭广州,卡车被吹翻,家禽遭殃,路人吓哭了

一口娱乐
2024-04-27 22:54:15
网友恶搞p图《李想焊门》,两人的表情形成了鲜明对比

网友恶搞p图《李想焊门》,两人的表情形成了鲜明对比

映射生活的身影
2024-04-27 17:32:52
50岁蒙古女外长接待卡梅伦,穿宝石蓝长袍裙走在红毯上,风韵犹存

50岁蒙古女外长接待卡梅伦,穿宝石蓝长袍裙走在红毯上,风韵犹存

八八尚语
2024-04-27 12:20:40
当年在罗马尼亚有个著名的笑话,你要是走的话,我们就不用走了!

当年在罗马尼亚有个著名的笑话,你要是走的话,我们就不用走了!

翻开历史和现实
2024-04-26 13:48:06
全程梗着脖子、横眉竖眼,46岁的秦昊,把“演技炸裂”玩出新花样

全程梗着脖子、横眉竖眼,46岁的秦昊,把“演技炸裂”玩出新花样

深海鱿娱
2024-04-26 21:06:38
江苏气象发布:局部大雨!最高25℃!

江苏气象发布:局部大雨!最高25℃!

鲁中晨报
2024-04-28 07:29:08
岳云鹏看完董宇辉河南行后,气得喊话宇辉,原因引全场大笑

岳云鹏看完董宇辉河南行后,气得喊话宇辉,原因引全场大笑

娱最资讯
2024-04-27 19:17:45
海牛球员模仿曼联三将坐广告牌庆祝,刘军帅:要继赢下去

海牛球员模仿曼联三将坐广告牌庆祝,刘军帅:要继赢下去

懂球帝
2024-04-27 10:28:14
她被称为中国黄金身材,巅峰期退圈结婚,丈夫身份特殊到不方便说

她被称为中国黄金身材,巅峰期退圈结婚,丈夫身份特殊到不方便说

简读视觉
2024-04-11 20:00:03
邓肯罕见露面!才退役8年看着像60岁老人,44岁女友瓦妮莎显年轻

邓肯罕见露面!才退役8年看着像60岁老人,44岁女友瓦妮莎显年轻

百里无心
2024-04-27 00:23:27
“紧日子”,是这么过的?

“紧日子”,是这么过的?

槽逻辑
2024-04-26 17:49:29
中俄谈判进入尾声!普京不得不向中方低头求和,中方恐成最大赢家

中俄谈判进入尾声!普京不得不向中方低头求和,中方恐成最大赢家

博文聊世界
2024-04-27 13:44:01
“你玩我,是要付出代价的!”江苏女子实名举报男友父子,后如何

“你玩我,是要付出代价的!”江苏女子实名举报男友父子,后如何

元爸体育
2024-04-27 07:30:11
真的假的?沃神爆料乌度卡被火箭队解雇!

真的假的?沃神爆料乌度卡被火箭队解雇!

林子说事
2024-04-27 17:43:46
2024-04-28 08:48:49
新智元
新智元
AI产业主平台领航智能+时代
10964文章数 65460关注度
往期回顾 全部

科技要闻

股价历史性暴跌,英特尔怎么了?

头条要闻

被指沾染有害细菌 "巴黎水"200万瓶气泡矿泉水被销毁

头条要闻

被指沾染有害细菌 "巴黎水"200万瓶气泡矿泉水被销毁

体育要闻

一场2-2,改变2队命运!埃梅里神了

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

美国,突发爆雷!

汽车要闻

5月上市/智能化丰富 海狮 07EV正式到店

态度原创

数码
亲子
旅游
本地
公开课

数码要闻

小米米家 3 匹新风立式空调上架:双出风口,一级能效

亲子要闻

老婆在外打工,每个月就回来一次,然后给完生活费就走

旅游要闻

散装河北,冀北、冀东、冀中、冀南如何划分?

本地新闻

蛋友碰碰会空降西安!5.1山海境等你!

公开课

睡前进食会让你发胖吗?

无障碍浏览 进入关怀版