超越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%。而我们更关注这些数字背后的产品价值:随着模型能力和工程技术的提升,数字员工将会从量变引发质变,从能用到好用,在各行业迎来全面的爆发”王伟解释道“这可能会是大模型时代背景下的一个重大变化,从公司到个人,我们都要为此做好准备。”
相关文章:

超越Devin!姚班带队,他们创大模型编程新世界纪录
超越Devin!SWEBench排行榜上迎来了新玩家—— StarShip CodeGen Agent,姚班带队初创公司OpenCSG出品,以23.67%的成绩获得全球第二名的成绩。 同时创造了非GPT-4o基模的最高纪录(SOTA)。 我们都知道,SWEBe…...

江苏大信环境科技有限公司:环保领域的开拓者与引领者
2009 年,江苏大信环境科技有限公司在宜兴环保科技工业园成立。自创立之始,该公司便笃定坚守“诚信为本、以质量求生存、以创新谋发展”这一经营理念,全力以赴为客户构建专业的工业有机废气治理整体解决方案,进而成为国家高新技术企…...

关于 Bean 容器的注入方式,99 % 的人都答不全!
引言:在使用 Spring 框架开发应用程序时,依赖注入是一个至关重要的概念。而对于 Bean 容器的注入方式,虽然我们可能都有一定的了解,但实际上很多人在被问及这个问题时可能并不能完整地回答。本文将深入探讨 Spring 中 Bean 容器的…...

Spring的@Async注解及其用途
Spring 的 Async 注解是 Spring Framework 4.2 版本引入的功能,它用于支持异步方法执行。当一个方法标注了 Async,Spring 会在一个单独的线程中调用该方法,从而不会阻塞主线程的执行。 Async 注解的用途: 提高性能:通…...

JS(DOM、事件)
DOM 概念:Document Object Model,文档对象模型。将标记语言的各个组成部分封装为对应的对象: Document:整个文档对象Element:元素对象Attribute:属性对象Text:文本对象Comment:注释对象 JavaScript通过DOM,就能够对HTML进行操作: 改变 HTML 元素的内…...

学习小心意——python的构造方法和析构方法
构造方法和析构方法分别用于初始化对象的属性和释放类占有的资源 构造方法_init_() 语法格式如下: class 类名:def __init__(self, 参数1, 参数2, ...):# 初始化代码self.属性1 参数1self.属性2 参数2# ... 示例代码如下 class Student:def __init__(self):s…...

GB/T 23995-2009 室内装饰装修用溶剂型醇酸木器涂料检测
溶剂型醇酸木器涂料是指以醇酸树脂为主要成膜物,通过氧化干燥成膜的溶剂型木器涂料适用于室内木制品表面的保护及装饰。 GB/T 23995-2009室内装饰装修用溶剂型醇酸木器涂料检测项目: 测试指标 测试方法 在容器中状态 GB/T 23995 细度 GB/T 6753.1 …...

Maven 中的 classifier 属性用过没?
最近训练营有小伙伴问到松哥一个关于 Maven 依赖的问题,涉及到 classifier 属性,随机问了几个小伙伴,都说工作中没用到过,因此简单整篇文章和小伙伴们分享下。 Maven 大家日常开发应该都有使用,Maven 中有一个比较好玩…...

Linux网络编程:传输层协议|UDP|TCP
知识引入: 端口号: 当应用层获得一个传输过来的报文时,这时数据包需要知道,自己应该送往哪一个应用层的服务,这时就引入了“端口号”,通过区分同一台主机不同应用程序的端口号,来保证数据传输…...

MongoDB CRUD操作:内嵌文档查询
MongoDB内嵌文档的查询 文章目录 MongoDB内嵌文档的查询使用点号.查询内嵌文档嵌套字段的相等匹配使用查询操作符进行匹配指定AND条件 嵌套文档的匹配使用 MongoDB Atlas 查询内嵌文档导航至集合指定查询过滤文档点击应用 可以使用下面几种方法查询MongoDB中的嵌入文档…...

JavaScript、Kotlin、Flutter可以开发鸿蒙APP吗?
自从去年华为宣布推出「鸿蒙Next」版本开始,标志着其操作系统的全面革新。鸿蒙Next将摒弃所有基于AOSP的代码,与Android系统彻底分离,实现完全自主的研发路径。通过精简约40%的冗余代码,鸿蒙Next致力于构建一个更高效、更流畅的系…...

刚体运动描述:欧拉角与四元数
在机器人学中,刚体的运动描述是非常重要的,特别是当我们需要精确控制机器人的姿态时。欧拉角和四元数是两种常用的描述刚体在三维空间中旋转的方法。下面将分别介绍这两种方法并给出其特点。 欧拉角 定义与特点: 定义:欧拉角是…...

一文速通23种设计模式——单例模式、工厂模式、建造者模式、原型模式、代理模式、装饰器模式、组合模式、组合模式、桥接模式、观察者模式、策略模式……
一文速通23种设计模式 写在前面 本文基于结城浩所著《图解设计模式》,其中所使用代码皆为Java版本。 随书代码下载地址-点击“随书下载” 全文15205字,全部读完需要约20分钟。 目录 一文速通23种设计模式写在前面 第一部分 适应设计模式迭代器模式 (…...

Lua 基础 04 模块
Lua 基础相关知识 第四期 require 模块,通常是一个表,表里存储了一些字段和函数,单独写在一个 lua 文件。 例如,这是一个 tools.lua 文件,定义了一个局部 tools 表,包含一个 log 函数,可以传…...

速递FineWeb:一个拥有无限潜力的15T Tokens的开源数据集
大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技(Mamba,xLSTM,KAN)则提…...

HDLBits答案汇总
一.Getting Started Getting started-CSDN博客 二.Verilog Basics-CSDN博客 Vectors-CSDN博客 Module Hierarchy-CSDN博客 Procedures-CSDN博客 More Verilog Features-CSDN博客 三.Circuits Combinational Basic-CSDN博客 Multiplexers-CSDN博客 Arithmetic-CSDN博客 Karnau…...

云端数据提取:安全、高效地利用无限资源
在当今的大数据时代,企业和组织越来越依赖于云平台存储和处理海量数据。然而,随着数据的指数级增长,数据的安全性和高效的数据处理成为了企业最为关心的议题之一。本文将探讨云端数据安全的重要性,并提出一套既高效又安全的数据提…...

Java开发:Spring Boot 实战教程
序言 随着技术的快速发展和数字化转型的深入推进,软件开发领域迎来了前所未有的变革。在众多开发框架中,Spring Boot凭借其“约定大于配置”的核心理念和快速开发的能力,迅速崭露头角,成为当今企业级应用开发的首选框架之一。 《…...

【Python3.11版本利用whl文件安装对应的dlib-19.24.1-cp311-cp311-win_amd64.whl库】
下载Python对应的安装包 找到自己Python版本对应的dlib whl库将网盘下载好的文件放在安装Python的Scripts路径下面接着在该路径输入cmdpip进行安装使用的是国内的源 找到自己Python版本对应的dlib whl库 python 3.11 对应 dlib-19.24.1-cp311-cp311-win_amd64.whl -i 也可以去…...

HW面试常见知识点2——研判分析(蓝队中级版)
🍀文章简介:又到了一年一度的HW时刻,本文写给新手想快速进阶HW蓝中的网安爱好者们, 通读熟练掌握本文面试定个蓝中还是没问题的!大家也要灵活随机应变,不要太刻板的回答) 🍁个人主页…...

鲁教版七年级数学下册-笔记
文章目录 第七章 二元一次方程组1 二元一次方程组2 解二元一次方程组3 二元一次方程组的应用4 二元一次方程与一次函数5 三元一次方程组 第八章 平行线的有关证明1 定义与命题2 证明的必要性3 基本事实与定理4 平行线的判定定理5 平行限的性质定理6 三角形内角和定理 第九章 概…...

带你走进在线直线度测量仪 解析测量方法!
在线直线度测量仪 在线直线度测量仪可安装于生产线上,进行非接触式的无损检测,能检测米直线度尺寸,对截面为圆形的产品,进性直线度检测的帮手。 测量方法 在线直线度拟采用我公司的光电测头对矫直后的棒材直线度进行测量。测量时…...

力扣1 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…...

AndroidFlutter混合开发
为什么要有混合开发 我们知道,Flutter是可以做跨平台开发的,即一份Flutter的Dart代码,可以编译到多个平台上运行。这么做的好处就是,在不降低多少性能的情况下,尽最大可能的节省开发的时间成本,直接将开发…...

Halcon 光度立体 缺陷检测
一、概述 halcon——缺陷检测常用方法总结(光度立体) - 唯有自己强大 - 博客园 (cnblogs.com) 上周去了康耐视的新品发布会,我真的感觉压力山大,因为VM可以实现现在项目中的80% 的功能,感觉自己的不久就要失业了。同时…...

关于找暑期实习后的一些反思
日期 2024年6月3日 写在前面:距离研究生毕业还有9个月,前端时间一直在不停地投简历,不停地刷笔试题,不停地被拒绝,今天悬着的心终于死透了,心情还是比较糟糕的,可能唯一的安慰就是一篇小论文终于…...

Rust struct
Rust struct 1.实例化需要初始化全部成员变量2.如果需要实例化对象可变,加上mut则所有成员变量均可变 Rust支持通过已实例化的对象,赋值给未赋值的对象的成员变量 #![allow(warnings)] use std::io; use std::error::Error; use std::boxed::Box; use s…...

【UE5:CesiumForUnreal】——加载无高度地形数据
目录 1.实现目的 2.数据准备 2.1下载数据 2.2 数据切片 3.加载无地形数据 1.实现目的 在CesiumForUnreal插件中,我们加载地图和地形图层之后,默认都是加载的带有高程信息的地形数据,在实际的项目和开发中,有时候我们需要加载无…...

证件/文书类日期中文大写js/ts插件
说明 证件/文书类落款日期中文大写往往会将“零”写作“〇”,而数字依然使用简体“一二三”,而不是“壹贰叁”。 如下: 针对这一点,写了如下转换插件。 代码 function DateToUpperCase(date: Date new Date()) {const chStr …...

03JAVA基础(方法/类/封装(构造方法))
目录 1.方法 1.1 方法的定义 1.2 方法的重载 2.类和对象 3.封装 1. private关键字 2. this关键字 3. 封装 4. 构造方法 1.方法 含义: 将具有独立功能的代码块组织成一个整体,具有特殊功能的代码集 注意: 方法必须先创建才可以使用,需要手动调用执行 1.1 方法的定义 格…...