全球最强AI程序员 “Genie” 横空出世

ops/2024/9/20 1:06:23/ 标签: 人工智能, 机器学习, 深度学习

全球最强AI程序员 “Genie” 横空出世

    • Genie 是什么
    • Genie not just a copilot
    • 那么如何训练一名AI工程师呢
    • Genie启动

World’s best AI Software Engineer.

Genie is the best AI software engineer in the world by far - achieving a 30% eval score on the industry standard benchmark SWE-Bench.

Genie is able to solve bugs, build features, refactor code, and everything in between either fully autonomously or paired with the user, like working with a colleague, not just a copilot.

Genie 是什么

Genie是迄今为止世界上最好的 AI 程序员

  • 在权威榜单 SWE-Bench 上得分为 30%,遥遥领先第二名19.27%!(SWE-Bench:评估大模型解决现实中软件问题的基准)
    • 比亚马逊的 Q 和 Factory 的 Code Droid 的 SOTA 得分高出 56%:两者在 SWE-Bench 上的得分均为 19%
    • 比 Cognition 的 Devin 高出 118%:在 SWE-bench 的 subset 上得分为 13.8%

由于 Devin 只跑了 SWE-Bench 上 2294 个任务中的 500 个,因此它们的可比得分为 3.44%。

Genie not just a copilot

Genie 能够完全自主地与用户匹配,处理bug、构建特征、重构代码以及在两者之间的一切,智能如你身旁的同事。

研发团队认为:若希望模型更像程序员,就需要教会它人类程序员的工作方式。这种方法不仅在基准测试中表现出色,而且还能够构建出真正像人类程序员一样行事的产品。

那么如何训练一名AI工程师呢

首先,让它观察程序员如何工作,并模仿这个过程。但在实践中,获取这些数据并加以利用均极为困难。因此研发团队尝试从数据集、上下文语言模型、多模态数据入手。

利用构建工具创建数据集

在过去的一年里,Genie 研发团队致力于通过构建工具来创建一个能够展示这个过程的数据集。他们的数据管道结合了人工制品、静态分析、自我博弈、逐步验证和经过大量标记数据训练的微调AI模型,从而实现最佳输出。

数据质量的把控

从语言、任务类型、任务长度等不同维度入手,在数据混合方面做了诸多尝试,并对多模态数据进行大量试验。

基础模型的选用

当第一次开始这个项目时,能训练的最好结果是 gpt-3.5-turbo-16k,但很快意识到这个模型智能受限,其最关键的还是上下文长度。

要想获得高质量的输出,模型需尽可能多的信息;研发团队与OpenAI 一起训练出更佳的上下文长度模型,极大地释放研究项目能力。

so much has been learned, but the number one learning, and it sounds obvious, is that the data is absolutely everything.


Genie采用特殊数据集和自我改进机制,使其在复杂编码中表现出色。

未来,Genie 将更熟练地掌握更广泛的编程语言,重点是熟练掌握每种语言最新和最广泛使用的框架,以满足开发人员各式各样的业务需求。

Genie启动

Genie
那么,可以给 Genie 分派开发任务了:cosine.sh

对付这点小事对我来说真是小菜一碟----麦克阿瑟

欢迎关注:有点建树,做更多交流。
在这里插入图片描述


http://www.ppmy.cn/ops/95660.html

相关文章

css实现水滴效果图

效果图&#xff1a; <template><div style"width: 100%;height:500px;padding:20px;"><div class"water"></div></div> </template> <script> export default {data() {return {};},watch: {},created() {},me…

记录|C#主界面设计【Web风格】

目录 前言一、页面效果二、布局设计2.1 左边菜单栏搭建框架Step1. panelMenu &#xff1a;Step2. panelLogoStep3. button模板Step4. 复制buttonStep5. 微调Button 2.2 界面颜色变换Step1. ThemeColor类Step2. From1.csStep3. 更换按钮点击颜色效果 2.3 按钮点击事件2.4 顶部ti…

Grafana+Influxdb(Prometheus)+Apache Jmeter搭建可视化性能测试监控平台

此性能测试监控平台&#xff0c;架构可以是&#xff1a; GrafanaInfluxdbJmeterGrafanaPrometheusJmeter Influxdb和Prometheus在这里都是时序性数据库 在测试环境中&#xff0c;压测数据对存储和持久化的要求不高&#xff0c;所以这里的组件可以都通过docker-compose.yml文件…

Linux环境开发工具【yum与vim】

&#x1f308;个人主页&#xff1a;Yui_ &#x1f308;Linux专栏&#xff1a;Linux &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;数据结构专栏&#xff1a;数据结构 文章目录 1.Linux软件包管理器yum1.1 快速使用yum 2. Linux编辑器-vim的使用2.1 vim的基本…

浙大数据结构慕课课后题(04-树6 Complete Binary Search Tree)

题目要求&#xff1a; A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes with keys less than the nodes key.The right subtree of a node contains only nodes wit…

php根据截止时间计算剩余的时间,并且在剩余时间不足1天时仅显示小时数

//获取政策库文章public function getIndexZckList(){$fl_id = input(fl_id);if(empty(

fastzdp_sqlmodel框架是如何实现更新和删除相关的功能封装的,20240817,Python的国产新ORM框架

根据模型对象更新 初步封装的方法 def update(engine, model_obj, update_dict):"""修改数据:param engine: 连接数据库的引擎对象:param model_obj: 模型对象:param update_dict: 更新字典:return:"""with Session(engine) as session:if not…

数据结构之数组

写在前面 看下数组。 1&#xff1a;巴拉巴拉 数组是一种线性数据结构&#xff0c;使用连续的内存空间来存储数据&#xff0c;存储的数据要求有相同的数据类型&#xff0c;并且每个元素占用的内存空间相同。获取元素速度非常快&#xff0c;为O(1)常量时间复杂度&#xff0c;所…

AI学习笔记:pdf-document-layout-analysis

一直在学AI&#xff0c;但没有连续的时间来尝试。现在终于失业了&#xff0c;有大把连续的时间来动手。 之前准备了一台I5-1400FRTX3600 12G的电脑&#xff0c;现在终于派上用场了。 由于一直在从事无线通信相关的工作&#xff0c;所以&#xff0c;拿到一份很长的 AI可能与通…

视图变换 - 等比例变换防止视图拉伸

文章目录 使用场景等比变换等高填充等宽填充代码进行比目标宽高计算超出部分处理设置负的 marginclip 裁剪 End参考&#xff1a; 转载请注明出处 使用场景 在日常开发中&#xff0c;经常会遇到的一个需求是将图片/视频从界面的一个位置&#xff0c;变换到另一个位置。在处理这…

Lambda表达式与流式编程

一、Lambda表达式 1.1 什么是lambda表达式 Lambda表达式是 jdk1.8 引入的一个新特性&#xff0c;它是函数式编程在Java中的一种体现。也是1.8最值得学习的新特性。 1. Lambda表达式实际上就是匿名内部类的简化版本。 2. Lambda表达式是jdk1.8引入的一个最重要的新特性&…

linux cpu问题排查及性能优化

cpu性能 一、cpu啥时候才叫有瓶颈 cpu运行的快还是慢、cpu有没有问题&#xff0c;cpu是不是还需要优化。这些是平常开发和运维中经常遇到的问题。那么我门到底如何去判断机器cpu运行的到底有没有异常呢。 从我排查问题来说&#xff0c;单看系统指标不能完全反应应用运行的状态…

jar打包命令[java自带的打包工具]

将目标类打包成可执行Jar包 jar -cfe yourjarname.jar yourmainclass yourfolder 例如&#xff1a;jar -cfe demo.jar com.example.App * // 打包当前位置下的所有文件 jar --create --file yourjarname.jar --main-class yourmainclass yourfolder 例如&#xff1a…

Spring Data REST

Spring Data REST Getting Strated引入依赖开发 repository 引入在线调试&#xff08;knife4jSwagger3&#xff09;AbstractRepositoryEventListenerRepositoryRestResource属性 自定义查询方法RestSource注意 自定义配置 SpringDataRest 是 SpringMVC 的一个扩展他可以通过少量…

在IntelliJ IDEA中使用Git推送项目

去gitee网站注册用户 gitee网站地址:https://gitee.com/ github网站地址:https://github.com/ 一、创建仓库 以下以gitee为例进行介绍&#xff0c;github操作雷同。 1、创建仓库 点击页面右上方的"“并选择"创建仓库” 2、设置仓库相关信息 首先输入仓库名&…

c语言编程有什么难点

C语言编程面临的难点主要有1、指针的理解和使用、2、内存管理、3、复杂的数据结构实现、4、并发和多线程编程以及5、跨平台编程。指针是C语言中最具特色也最令人头疼的部分。它直接操作内存地址&#xff0c;能够提供强大但复杂的数据管理方式。正确而高效地使用指针&#xff0c…

第十一章、 Java常用类

第十一章、 Java常用类 11.1 包装类 11.1.1 包装类的分类 针对八种基本数据类型相应的引用类型-包装类有了类的特点&#xff0c;就可以调用类中的方法。 11.1.2 包装类和基本数据的转换 Jdk5前的手动装箱和拆箱方式&#xff0c;装箱&#xff1a;基本类型->包装类型&am…

在Windows上配置VSCode MinGW+CMake(包括C++多线程编程的两套API:posix和win32)

创建目录 首先&#xff0c;需要电脑上安装VSCode, 并且创建三个文件夹&#xff1a;cmake、MinGW-posix、MinGW-w32 文件下载 下载posix-seh posix和win32分别是c多线程变成的两套API,可根据不同需求安装&#xff0c;现在先下载配置环境需要的几个文件 百度搜索MinGW-64 点…

如何保证数据不丢失?(死信队列)

死信队列 1、什么是死信 死信通常是消息在特定的场景下表现&#xff1a; 消息被拒绝访问消费者发生异常&#xff0c;超过重试次数消息的Expiration过期时长或者队列TTL过期时间消息队列到达最大容量 maxLength 2、什么是死信队列 只由死信构成的消息队列是死信队列 死信队…

防火墙入侵防御实验

一、实验目的及拓扑 实验目的&#xff1a;在防火墙上配置入侵防御&#xff08;跨站脚本攻击&#xff09;策略并在安全策略应用&#xff0c;通过虚拟机访问进行验证 二、基本配置 1、如图所示配置接口地址&#xff08;省略&#xff09; 2、配置区域接口 [FW1]dis zone loca…