首个“开源”AI码农登场:爆改GPT-4,93秒修bug

AI程序员又出新选手了。

普林斯顿团队祭出了全新的智能体-计算机接口(ACI)——SWE-agent。

简单来说,SWE-agent能够让大语言模型(比如GPT-4)变身为软件工程AI智能体,并在真实的GitHub仓库里自己修bug。

GPT-4编程难的宿疾,这不就解决了!

在SWE-bench测试集上,SWE-agent成功解决了12.29%的问题,平均耗时只有93秒,准确率堪比Devin。

当然,更重要的是:SWE-agent完全开源。

仅仅十几个小时,就在GitHub上斩获了1.6k星,109个Fork。

地址:https://github.com/princeton-nlp/SWE-agent

英伟达高级科学家Jim Fan,也揭示了这一朴实的真理:要想在SWEBench上获得12.3%的分数,只要更好地手动设计GPT-4的命令行工具就行,不需要什么别的神奇之处。

矩阵操作bug,神速解决

下面就是一个SWE-agent如何解决GitHub问题的示例。

这是sympy项目中的一个问题,是SWE-bench的一个实例。

用户报告了这个问题:矩阵操作的Insert时,产生了一些不符合预期的输出。

SWE-agent是怎么解决这个问题的呢?

首先,它重现了报告的bug,把bug的代码复制到了一个名为“reproduce_bug”的文件中。

运行后,果然出现了和报告中一样的问题:

确认问题之后,它在存储库中搜索了“col_insert”函数,看看是在哪里被定义的。很快SWE-agent就发现了是在common.py里。

打开文件后,它找到了一个名为“_eval_col_insert”的函数,认为这可能是关键所在。

在分析代码后,SWE-agent发现,问题就是出在了矩阵操作的索引上。

于是,它对这个函数进行了修改。

再次运行代码,问题完美解决了。

提交解决方案后,SWE-bench的评估结果显示,该方案已经通过初步测试,因此可以将其标记为已解决。

而整个过程中,SWE-agent解决问题之神速,令人惊叹。

在项目主页中,还有一个可以自主操作的演示,感兴趣的可以自主尝试体验修改bug。

传送门:https://swe-agent.com/demo

“开源Devin”,软件工程护城河不存在了

根据研究者John Yang,也是SWE-bench一作介绍,SWE-agent的工作原理是与专门的终端交互,它可以:

  • 打开、滚动和搜索文件

  • 编辑特定行,并自动进行语法检查

  • 编写和执行测试

简单地将大模型连接到vanilla bash终端,并不能很好地工作。

因此,John等研究小组认为,大模型需要精心设计的智能体——计算机接口,类似于人类喜好的UI设计。

就比如,当LLM搞乱缩进时,编辑器就可以阻止,并给出反馈。

而另外一个典型案例是,在查看文件时,让SWE-agent每次只看100行,要比每次看200-300行,甚至整个文件效果要好得多。

即便是用上了GPT-4,一个优秀的智能体-计算机设计也非常重要。

而关于SWE-agent的技术报告,也将在4月10日上线。

作者Ofir Press表示,自己耗费了好几个小时用DALLE-3设计出了logo。

Devin从面世到现在不足一个月的时间,走向大众化。

有开发者表示,我感觉到了一个新的研究领域:智能体计算机交互(ACI)。它与人机交互(HCI)类似,但更侧重于LLM和LVM。

有人发出感慨,普林斯顿团队打造的“开源Devin”,仅用GPT-4在基准测试中取得了12.29%的准确率,真不敢想象GPT-5诞生之后会怎样?

网友纷纷表示,软件行业再也没有护城河了。

全新的ACI设计

为此,研究人员专门为大语言模型设计了简洁的指令和反馈格式——智能体-计算机接口(ACI),从而让模型能够更轻松地浏览代码仓库、查看、编辑和运行代码文件。

正如良好的提示设计对于充分发挥语言模型的潜力至关重要一样,优秀的ACI设计对于使用AI智能体时能够取得更佳效果也是关键。

在设计代理计算机接口过程中,研究人员发现了几个极其有用的功能,并将它们集成到了SWE-agent中:

1. 增加了一个在发出编辑命令时运行的代码检查器,如果代码语法不正确,则阻止编辑命令执行。

2. 提供了一个特制的文件查看器,并为文件编辑器添加了滚动查看和文件内搜索的功能。结果显示,这个查看器在每次只展示100行代码时效果最佳。

3. 提供了一个特制的全目录字符串搜索命令。研究发现,简洁地列出每个含有匹配项的文件非常重要,因为给模型提供每个匹配项的更多的上下文信息会使其感到困惑。

4. 当某个命令执行后没有任何输出时,会返回一条消息:“你的命令已成功执行,但没有产生任何输出。”

总结来说,通过智能体计算机接口(ACI),SWE-agent让LLM有了与专属的Docker容器互动,实现浏览、搜索、编辑和执行代码的功能,从而极大地拓宽了LLM在软件开发领域的应用范围。

智能体工作流

SWE-agent的工作流程分为两个阶段:

第一阶段被称为“推理”,此时SWE-agent会处理一个GitHub上报告的问题,并生成一个旨在修复该问题的拉取请求(Pull Request)

第二阶段,则是对生成的拉取请求进行“评估”,以确认它是否真正解决了报告的问题。(目前只适用于SWE-bench基准测试中的问题)

推理

只需使用下面这个脚本,你就可以在任何GitHub问题上运行SWE-agent了!

python run.py --model_name gpt4  --data_path https://github.com/pvlib/pvlib-python/issues/1603 --config_file config/default_from_url.yaml

接下来,要实现SWE-bench上的推理,需要在SWE-bench Lite上运行SWE-agent并生成补丁:

python run.py --model_name gpt4  --per_instance_cost_limit 2.00  --config_file ./config/default.yaml

如果要运行SWE-bench中的单个问题,则需使用–instance_filter选项:

python run.py --model_name gpt4  --instance_filter marshmallow-code__marshmallow-1359

评估

评估生成的拉取请求方法如下:

cd evaluation/./run_eval.sh <predictions_path>

需要注意的是,这个步骤仅适用于SWE-bench问题集。

作者介绍

就在下周公布,SWE-agent论文就会公开。

这项研究中两位核心作者是John Yang和Carlos E. Jimenez。

John Yang目前是普林斯顿大学的研究助理,导师是Karthik Narasimhan。他曾在加州大学伯克利分校取得了电子工程和计算机学士学位。

他本人对语言基础和交互、LLM的基准测试、软件工程和代码生成感兴趣。

Carlos E. Jimenez是普林斯顿的博士生,导师是Karthik Narasimhan教授。

他研究的是自然语言处理的人工智能和ML,研究兴趣包括代码语言模型,以及面向任务的对话。

Carlos曾在犹他大学获得了计算机科学学士学位,导师是Ellen Riloff。

编码的未来掌握在AI手中?

无可否认,AI正逐渐改变技术行业的运作方式。

不管是Devin、Devika,还是OpenDevin等等,都在软件工程领域有着出色的表现。

在这里,AI不再仅仅是软件工程师的辅助工具,而是开始承担起了工程师的角色,完成过去认为只有人类才能完成的任务。

那么,这是否意味着AI已经不仅仅是一个工具,而是成为了工程过程中的合作伙伴?

更进一步的,AI是否真的能够独立编写安全的代码?未来,编程是否将完全交由AI来掌控?

可以说,这些问题不仅关乎技术的进步,也触及到我们对于AI角色和能力认知的深层次思考。

Devin:AI工程的变革者

今年3月12日,一家叫才成立不到2个月的10人初创公司,就给了全世界亿点点震撼。

他们发布的世界上第一位AI程序员——Devin,不仅掌握了全栈技能,能自主学习不熟悉的技术,端到端地构建和部署应用程序,自己改bug,甚至还能训练和微调自己的AI模型!

在SWE-bench上,Devin的表现远远超过Claude 2、Llama、GPT-4等选手,取得了13.86%的惊人成绩。

可以说,Devin并不仅仅是一款AI工具,而是一个能够独立完成软件工程任务的AI系统。

与以往AI工具不同的是,Devin能够规划并实施复杂的软件项目,这意味着AI现在能够扮演起工程师的角色。

除了编写代码外,Devin还能够处理程序中的错误,部署应用,乃至于训练新的AI模型。

OpenDevin:共创未来的愿景

就在发布当天,Devin的开源翻版——OpenDevin横空出世。

通过鼓励社区成员贡献代码和坚持开放标准的原则,OpenDevin致力于不断改进和增强AI在软件开发中的应用,使软件工程师能够更高效地完成编程任务。

Devika:开源社区的新星

受到Devin在AI软件工程领域开创性成就的激励,另一个开源项目——Devika也诞生了。

Devika是一个富有主动性的AI软件工程师,它能够理解人类的高级指令,把这些指令分解成具体步骤,搜集所需的信息,并据此编写代码来完成既定目标。

具体来说,Devika依托于Claude 3的强大能力,结合了先进的AI规划与编程技术,打造了一个开放给社区并由社区共同推动发展的平台。

Devika不仅仅是一个技术项目,它更是一个向全球开源贡献者发出的邀请,鼓励他们参与到AI创新的旅程中来,共同探索和定义AI技术的未来。

目前还无法代替人类

随着像Devin、Devika和OpenDevin这样的AI软件工程师的兴起,我们已经见证了AI在编程方面的巨大潜力。

这些AI不仅能够规划和执行复杂的工程任务,还能找出并修复漏洞,甚至负责整个项目的开发流程。

然而,当面对复杂的现有代码库并追求编写安全代码时,情况变得更加复杂。

编写安全的代码不仅要求代码无误,更重要的是要理解代码的广泛背景、可能的安全漏洞以及最新的安全研究和实践。在这个过程中,人类的监督仍然不可或缺。

虽然我们尚未达到AI能够完全取代软件工程师的阶段,但AI无疑正在改变技术领域的面貌和未来的走向。

在AI创新日新月异的今天,Devin、Devika和OpenDevin引发了我们对人工智能与人类之间关系的深思:我们是否应该将AI视为与人类相似的存在?

正如Ethan Mollick在“On the Necessity of Sin”中提出的:我们面临的是与AI合作共创软件工程未来的机遇,还是AI最终将取代人类角色的挑战?

答案可能在于我们对未来的设想,以及我们是否愿意采取一种开源的态度,强调透明度、开放性和协作精神。

参考资料:

https://swe-agent.com/

https://github.com/princeton-nlp/SWE-agent

https://news.opensauced.pizza/open-source-projects-that-are-gaining-steam-that-you-havent-heard-of/

本文来自微信公众号:新智元 (ID:AI_era),作者:新智元

声明: 该内容为作者独立观点,不代表新零售资讯观点或立场,文章为网友投稿上传,版权归原作者所有,未经允许不得转载。 新零售资讯站仅提供信息存储服务,如发现文章、图片等侵权行为,侵权责任由作者本人承担。 如对本稿件有异议或投诉,请联系:wuchangxu@youzan.com
(0)
上一篇 2024年4月3日 15:40
下一篇 2024年4月3日 16:11

相关推荐

  • 水温80度:AI行业真假繁荣的临界点

    我们从来没拥有过这么成功的AI主导的产品。

    (这种分析统计并不那么准,但大致数量级是差不多的)

    这两个产品碰巧可以用来比较有两个原因:

    一个是它们在本质上是一种东西,只不过一个更通用,一个更垂直。

    蓝海的海峡

    未来成功的AI产品是什么样,大致形态已经比较清楚了,从智能音箱和Copilot这两个成功的AI产品上已经能看到足够的产品特征。

    未来科技 2024年6月5日
  • ChatGPT、Perplexity、Claude同时“罢工”,全网打工人都慌了

    美西时间午夜12点开始,陆续有用户发现自己的ChatGPT要么响应超时、要么没有对话框或提示流量过载,忽然无法正常工作了。

    因为发现AI用久了,导致现在“离了ChatGPT,大脑根本无法运转”。”

    等等,又不是只有一个聊天机器人,难道地球离了ChatGPT就不转了。

    大模型连崩原因猜想,谷歌躺赢流量激增6成

    GPT归位,人们的工作终于又恢复了秩序。

    未来科技 2024年6月5日
  • ChatGPT宕机8小时,谷歌Gemini搜索量激增60%

    ChatGPT一天宕机两次

    谷歌Gemini搜索量激增近60%

    ChatGPT在全球拥有约1.8亿活跃用户,已成为部分人群工作流程的关键部分。

    过去24小时内提交的关于OpenAI宕机的问题报告

    图片来源:Downdetector

    ChatGPT系统崩溃后,有网友在社交媒体X上发帖警告道:“ChatGPT最近发生的2.5小时全球中断,为我们所有依赖AI工具来支持业务的人敲响了警钟。

    未来科技 2024年6月5日
  • ChatGPT、Perplexity、Claude同时大崩溃,AI集体罢工让全网都慌了

    接着OpenAI也在官网更新了恢复服务公告,表示“我们经历了一次重大故障,影响了所有ChatGPT用户的所有计划。Generator调查显示,在ChatGPT首次故障后的四小时内,谷歌AI聊天机器人Gemini搜索量激增60%,达到327058次。

    而且研究团队表示,“Gemini”搜索量的增长与“ChatGPT故障”关键词的搜索趋势高度相关,显示出用户把Gemini视为ChatGPT的直接替代选项。

    未来科技 2024年6月5日
  • 深度对话苹果iPad团队:玻璃的传承与演变

    iPad最为原始的外观专利

    没错,这就是iPad最初被设想的样子:全面屏,圆角矩形,纤薄,就像一片掌心里的玻璃。

    2010年发布的初代iPad

    好在乔布斯的遗志,并未被iPad团队遗忘。

    初代iPad宣传片画面

    乔布斯赞同这一想法,于是快速将资源投入平板电脑项目,意欲打造一款与众不同的「上网本」,这就是iPad早年的产品定义。

    iPad进化的底色

    苹果发布会留下过很多「名场面」,初代iPad发布会的末尾就是一例。

    未来科技 2024年6月5日
  • 底层逻辑未通,影视业的AI革命正在褪色…

    GPT、Sora均为革命性产品,引发了舆论风暴,但它在上个月发布的“多模态语音对谈”Sky语音,却由于声音太像电影明星斯嘉丽·约翰逊,被正主强烈警告,被迫下架。

    华尔街日报也在唱衰,认为“AI工具创新步伐正在放缓,实用性有限,运行成本过高”:

    首先,互联网上已经没有更多额外的数据供人工智能模型收集、训练。

    03、

    如果说训练“数字人”、使用AI配音本质上瞄向的仍是影视行业固有的发展方向,那么还有另外一群人试图从根本上颠覆影视行业的生产逻辑和产品形态。

    但分歧点正在于此,电影公司希望通过使用AI技术来降低成本,但又不希望自己的内容被AI公司所窃取。

    未来科技 2024年6月5日
  • KAN会引起大模型的范式转变吗?

    “先变后加”代替“先加后变”的设计,使得KAN的每一个连接都相当于一个“小型网络”, 能实现更强的表达能力。

    KAN的主要贡献在于,在当前深度学习的背景下重新审视K氏表示定理,将上述创新网络泛化到任意宽度和深度,并以科学发现为目标进行了一系列实验,展示了其作为“AI+科学”基础模型的潜在作用。

    KAN与MLP的对照表:

    KAN使神经元之间的非线性转变更加细粒度和多样化。

    未来科技 2024年6月5日
  • 这个国家,也开始发芯片补贴了

    //mp.weixin.qq.com/s/tIHSNsqF6HRVe2mabgfp6Q
    [4]中国安防协会:欧盟批准430亿欧元芯片补贴计划:2030年产量占全球份额翻番.2023.4.19.https。//mp.weixin.qq.com/s/VnEjzKhmZbuBUFclzGFloA
    [6]潮电穿戴:印度半导体投资大跃进,一锤砸下1090亿,政府补贴一半.2024.3.5https。

    未来科技 2024年6月5日
  • 大模型的电力经济学:中国AI需要多少电力?

    这些报告研究对象(数字中心、智能数据中心、加密货币等)、研究市场(全球、中国与美国等)、研究周期(多数截至2030年)各不相同,但基本逻辑大同小异:先根据芯片等硬件的算力与功率,计算出数据中心的用电量,再根据算力增长的预期、芯片能效提升的预期,以及数据中心能效(PUE)提升的预期,来推测未来一段时间内智能数据中心的用电量增长情况。

    未来科技 2024年6月5日
  • 你正和20万人一起接受AI面试

    原本客户还担心候选人能否接受AI面试这件事,但在2020年以后,候选人进行AI面试的过程已经是完全自动化的,包括面试过程中AI面试官回答候选人的问题,AI面试官对候选人提问以及基于候选人的回答对候选人进行至多三个轮次的深度追问。

    以近屿智能与客户合作的校验周期至少3年来看,方小雷认为AI应用不太可能一下子爆发,包括近屿智能在内的中国AI应用企业或许要迎来一个把SaaS做起来的好机会。

    未来科技 2024年6月4日