超越Devin!姚班带队,他们创大模型编程新世界纪录

超越Devin!SWEBench排行榜上迎来了新玩家——

StarShip CodeGen Agent,姚班带队初创公司OpenCSG出品,以23.67%的成绩获得全球第二名的成绩。

同时创造了非GPT-4o基模的最高纪录(SOTA)。

我们都知道,SWEBench评测高度贴近真实编程场景,难度极高,不仅要求模型能理解需求、协调多个函数/类甚至文件的变更,还要求模型与执行环境交互,处理超长上下文并执行远超传统代码生成任务的复杂逻辑推理。

在这种高难度的真实测试中,行业中最先进的GPT4和Devin,也仅能解决1.74%和13.86%的问题。

OpenCSG的这一成绩,标志着国内公司在推动语言模型向更实用、智能和自主化方向发展迈出了领先的一步。

  • 大模型编程,到底有多难?

2024年3月,首个AI软件工程师Devin的横空出世,引爆了整个技术界。虽然伴随着一系列争议,但Devin本身强大的创新能力和巨大的潜力,带给众多AI爱好者和从业者新的期待。

Devin不仅能够轻松解决编码任务,更可以自主完成软件开发的整个周期——从项目规划到部署,涵盖但不限于构建网站、自主寻找并修复 BUG、训练以及微调AI模型等等。

 为什么Devin敢于挑战GPT4等基础模型的编程能力呢?

核心在于软件工程师并不只是编写代码,更涉及到需求理解、代码解读、编程计划、代码生成、调试与异常修复等等环节,这里面的每个环节都会影响大模型编程的可用性和效果。

针对于这类真实场景,普林斯顿大学提出了SWEBench,这是一种量化评估端到端代码生成能力的工具。

GPT-4在SWEBench上的评分仅有1.74%,即使加上RAG技术,评分也不到3%,这表明单纯依靠基础模型来直接解决现实世界中的编程问题是不可能做到的。

而Devin的技术创新是基于Agent构建工作流程,将SWEBench的解决率提升到了一个新高度。

3月份,Devin以独立解决13.86%的问题解决率高居榜首,这直接将“大模型编程”从几乎不可用的状态提升到了“看到了曙光”。硅谷大厂和大模型创业公司纷纷闯入LLM for SE这个领域,这项记录被连续改写。

截止2024年4月底,最好的记录由Amazon AI团队推出的 Amazon Q Developer Agent 创造的20.33%。

较为遗憾的是,相比于基础模型榜单上中国公司的“百花齐放”,这项高难度的挑战中国公司鲜少参与,直到这一次OpenCSG改写了这一纪录。

  • 来自中国创业公司

SWEBench最新评测结果更新,OpenCSG跃居榜单第二名,该公司推出的OpenCSG StarShip CodeGen Agent在Lite评测中取得了23.67%的通过率,这一成绩不仅超过了Devin和Amazon的成绩。

OpenCSG(开放传神)成立仅一年,是一家致力于大模型生态社区建设,汇集人工智能行业上下游企业链共同为大模型在垂直行业的应用提供解决方案和工具平台的公司。

 

团队在开源及大模型复合经验十分深厚——

CEO陈冉是开源软件领域的知名企业家,曾成功打造过多家开源领域的商业公司。

CTO王伟来自清华05级姚班,在人工智能领域有多年研发经验。

公司核心研发团队中还汇聚了来自清华、北大、沃顿、港科大等学府的精英学子。

那么这样一支团队是如何打造出新的记录的呢?

当前许多企业正在积极探索和实践基础模型、垂直领域模型及RAG等技术,而OpenCSG则选择了专注的方向:致力于编程Agent的创新开发和大型模型算法的深度优化

Agent层面:不同于LLM+RAG或者通用Agent框架,OpenCSG StarShip CodeGen Agent针对软件研发领域高度定制优化Agent而设计:将研发各个阶段(需求理解、代码检索、编程计划、编写代码、循环验证等)通过LLM Agent实现,并结合软件工程方法,例如AST语法分析、依赖检索等进行深度优化的方式,在各个环节精益求精,最终整合实现了更高精度的代码生成。

算法层面:针对代码版本变更引起的API冲突等典型问题,OpenCSG提出了自适应教师模式,通过教师模型分析代码版本变更记录,生成高质量编程数据并用于改善基础模型的生成效果。根据评测这些创新带来的改进,显著优于当前的RAG模式,尤其是在API结构高频更新的热门项目场景中。这部分的相关成果已经形成论文投递到国际会议中。

正是这种算法+工程双管齐下、精益求精的模式,让OpenCSG CodeGen Agent能在一众模型中脱颖而出。

  • “StarShip就是各种家电电器”

如果说CodeGen Agent的真实评测是牛刀小试,那么StarShip则是承载着OpenCSG的宏伟蓝图。

对于StarShip的产品定位,OpenCSG CEO陈冉表示:

StarShip承担着我们对于大模型重塑软件开发的愿景。用户通过StarShip内置的智能体(Agent)组建自己的数字员工团队。CodeGen Agent是平台内置的数字程序员,目前已经发布的还有CodeReview Agent代码评审员和CodeSearch代码问答工程师。不同于代码辅助工具,我们希望这些数字员工能直接独立工作而不需要人工辅助干预。未来我们将发布更多类型的数字员工,全面覆盖需求、设计、编码、测试和运维各个环节。

CTO王伟则表示这条路径充满挑战但非常有趣,“从第一性原理来看,大模型对于生产力的提升已经不是’是’或者’否’的问题,而是何时、何地、何种形态的问题,StarShip正是我们尝试给出的一个回答。”

除StarShip之外,OpenCSG团队还相当高产:CSGHub开源模型平台、wukong预训练模型、CSGCoder微调代码模型等,这些产品定位精准,在业内颇受好评。

这些产品的快速推出与迭代,既满足了市场需求,同时也为了一个共同的目标:让大模型赋能每一个企业每一个人。

 让大模型赋能每个企业、每个人,就需要让大模型变成水和电一样。如果说大模型是电能,那么CSGHub是电力网络,StarShip则是各种各样的家电电器,最终赋能到千家万户。

OpenCSG的理念是开源开放,作为一家坚持以开源为核心的公司,不仅实现了模型开源、代码开源,甚至将平台开源。

CTO王伟这样总结,我们是一家年轻的公司,受益于开源,才能在较短的时间做出一些成果,同时也会全面回馈开源社区,这是开源社区的基本原则。除此之外,我非常认同Sam Altman的说法,开源只是一种模式,比模式更重要的是产品价值。

“Benchmark本身只是一个数字,随着GPT4-o的推出,SWEBench的测试成绩预计将会很快超过30%,乐观估计明年可以突破50%。而我们更关注这些数字背后的产品价值:随着模型能力和工程技术的提升,数字员工将会从量变引发质变,从能用到好用,在各行业迎来全面的爆发”王伟解释道“这可能会是大模型时代背景下的一个重大变化,从公司到个人,我们都要为此做好准备。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/675432.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

for深入学习

目录 练习&#xff1a; 例1&#xff1a; 求解0-100中整除3的数有哪些 例2&#xff1a; 求0-100中含数字9个个数 作业&#xff1a; 练习&#xff1a; 例1&#xff1a; 求解0-100中整除3的数有哪些 代码&#xff1a; #include<stdio.h> int main() {printf("整…

JAVAEE之网络初识_协议、TCP/IP网络模型、封装、分用

前言 在这一节我们简单介绍一下网络的发展 一、通信网络基础 网络互连的目的是进行网络通信&#xff0c;也即是网络数据传输&#xff0c;更具体一点&#xff0c;是网络主机中的不同进程间&#xff0c;基于网络传输数据。那么&#xff0c;在组建的网络中&#xff0c;如何判断到…

深入理解计算机系统 第三版 中文版 图5-27 p371 错漏

中文版 英文版 对照 可以看出错漏 这本书中文版很多错漏,可以配合英文版查正,不过英文版也很多错漏,所以不用太相信书本.要根据自己的理解来.

TDengine为物联网而生的大数据平台

TDengine为物联网而生的大数据平台 物联网背景 技术支撑 应用落地 未来趋势

【动手学深度学习】softmax回归从零开始实现的研究详情

目录 &#x1f30a;1. 研究目的 &#x1f30a;2. 研究准备 &#x1f30a;3. 研究内容 &#x1f30d;3.1 softmax回归的从零开始实现 &#x1f30d;3.2 基础练习 &#x1f30a;4. 研究体会 &#x1f30a;1. 研究目的 理解softmax回归的原理和基本实现方式&#xff1b;学习…

算法金 | 再见,支持向量机 SVM!

大侠幸会&#xff0c;在下全网同名「算法金」 0 基础转 AI 上岸&#xff0c;多个算法赛 Top 「日更万日&#xff0c;让更多人享受智能乐趣」 一、SVM概述 定义与基本概念 支持向量机&#xff08;SVM&#xff09;是一种监督学习模型&#xff0c;用于解决分类和回归问题。它的核…

Streamsets-JDBC模式offset变化逻辑和如何向下传递offset

Streamsets的版本为3.16.0 离线版 offset在jdbc模式中起到非常关键的作用&#xff0c;是滚动查询的基础&#xff0c;offset的准确直接影响数据同步的质量。 本文主要分享一下JDBC Query Consumer中的offset&#xff0c;包括变化逻辑、存储方式、处理器如何获取到最新的offset。…

如何在QGIS中加载MapBox图源

在设计行业中需要多风格地图的调用&#xff0c;不管是规划、建筑设计还是景观&#xff0c;分析图的工作量都大&#xff0c;有好的底图&#xff0c;会事半功倍。 针对不同项目&#xff0c;会选择不同配色的底图&#xff0c;以便让设计内容中的呈现足够清晰。 这里就来分享一个…

如何在自己的电脑上添加静态路由

1.任务栏搜索powershell 选择以管理员身份运行 2.输入 route add -p (永久) 目的网络地址例如192.168.10.0 mask 255.255.255.0&#xff08;子网掩码&#xff09;192.168.20.1&#xff08;下一跳地址&#xff09;。回车即可生效

238.除以自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度内完…

网络编程(六)

网络编程&#xff08;六&#xff09; 广播&组播广播步骤 组播步骤 广播&组播 广播 是一种基于1发送多接收的模型 &#xff08;发送方和接收方&#xff09; 广播是在局域网内实现的&#xff08;发送到广播地址上的消息是会被局域网内同网段的所有主机进行接收&#xf…

[Redis]Set类型

集合类型也是保存多个字符串类型的元素的&#xff0c;但和列表类型不同的是&#xff0c;集合中 1&#xff09;元素之间是无序的 2&#xff09;元素不允许重复 一个集合中最多可以存储2^32-1个元素。 Redis 除了支持集合内的增删查改操作&#xff0c;同时还支持多个集合取交…

深入探讨ChatGPT API中的Tokens计算方式和计算库

引言 在现代人工智能应用中&#xff0c;自然语言处理&#xff08;NLP&#xff09;技术无疑是最受关注的领域之一。OpenAI推出的ChatGPT&#xff0c;作为一种先进的对话模型&#xff0c;已经在多个领域展示了其强大的语言生成能力。为了更好地使用ChatGPT API&#xff0c;理解其…

操作系统(3) 处理机调度

目录 一、处理机调度概述 1.基本准则 &#xff08;1&#xff09;CPU利用率 &#xff08;2&#xff09;系统吞吐量 &#xff08;3&#xff09;周转时间 &#xff08;4&#xff09;等待时间 &#xff08;5&#xff09;响应时间 2.进程调度方式 &#xff08;1&#xff0…

【Linux】深入理解进程的优先级(Linux 2.6版本O(1)调度算法)

进程的优先级 【前置知识】一、进程的优先级(一&#xff09;为什么要有优先级&#xff1f;&#xff08;二&#xff09;进程的优先级的范围 二、操作系统是如何实现进程的优先级&#xff1f;&#xff08;Linux内核2.6版本O(1)调度算法&#xff09; 【前置知识】 首先我们要了解…

【excel】设置二级可变联动菜单

文章目录 【需求】在一级菜单选定后&#xff0c;二级菜单联动显示一级菜单下的可选项【步骤】step1 制作辅助列1.列转行2.在辅助列中匹配班级成员 step2 名称管理器step3 制作二级下拉菜单step4 消除二级菜单中的空白 【总结】 之前做完了 【excel】设置可变下拉菜单&#xff…

导航时间与坐标转换

前言&#xff1a; 该章节代码均在Gitee中开源&#xff1a;因为这章是学校作业&#xff0c;所以稍微正经点. 时空位置转换https://gitee.com/Ehundred/navigation-engineering/tree/master/%E5%8D%AB%E6%98%9F%E5%AF%BC%E8%88%AA%E5%8E%9F%E7%90%86/%E5%AF%BC%E8%88%AA%E6%97…

Idea-Linux远程开发部署

第一步&#xff1a;File->Remote Development 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a;在Host位置填写Linux虚拟机的IP地址&#xff0c;在Username、Password填写对应的账号密码后点击Test Connection测试连接。 第五步&#xff1a; 第六步&#xff1a;在…

【leetcode--文本对齐(还没整理完)】

根据题干描述的贪心算法&#xff0c;对于每一行&#xff0c;我们首先确定最多的是可以放置多少单词&#xff0c;这样可以得到该行的空格个数&#xff0c;从而确定该行单词之间的空格个数。 根据题目中填充空格的细节&#xff0c;我们分以下三种情况讨论&#xff1a; 当前行是…

Vue——样式绑定的几种方式

文章目录 前言往期回顾绑定对象绑定对象的另一种写法绑定数组数组与对象的嵌套 前言 样式绑定在vue中属于一种很常见的操作。在之前博客中针对样式的绑定操作&#xff0c;介绍了一个指令v-bind。缩写为:xxx。 vue 官网 样式绑定 往期回顾 先简单回顾下最开始绑定标签样式的操…