跳动百科

最强AI程序员砸饭碗:84秒跑通代码 像人一样思考

燕爱彬
导读 继Devin之后,又一个AI软件工程师被刷屏了——它叫Genie,号称目前地表最强,已经可以像人一样思考和行动了!那么这个地表最强,到底强到什...

继Devin之后,又一个AI软件工程师被刷屏了——

它叫Genie,号称目前地表最强,已经可以像人一样思考和行动了!

那么这个“地表最强”,到底强到什么程度?

先来看下评测分数。

在权威榜单SWE-Bench中,Genie以解决了30.07%问题的成绩夺得榜首。

(SWE-Bench是一个用来评估大模型解决现实中软件问题的基准。)

而这个成绩可谓是遥遥领先第二名19.27%,解锁了提升SOTA的最大增幅——57%!

至于Genie的实际效果,用团队的话来说就是:

它可以做到像人类工程师一样解决现实生活中的软件问题。

首先,你可以用4种方式让Genie开始工作,分别是提示词、GitHub Issue、Linear Ticket或者API。

以解决GitHub Issue为例,先喂给Genie一个repo的链接,它就开始自动解析问题了:

Genie会自动迭代思考如果想要解决这个问题它都需要哪些文件,直到它觉得找到了自己满意的为止:

紧接着,它将对问题做一个自动迭代分析的过程:

然后Genie就开始“唰唰唰”地自动写+跑代码了:

如果运行代码过程中出现bug,Genie会只针对出问题的地方再重复分析、写代码和运行的过程,直至跑通为止。

而整个过程,仅仅耗时84秒!

用团队的话来说:

Genie已经观察并学习人类程序员如何解决软件问题的次数达到了数百万次。

这是任何一个人类程序员一辈子都无法达到的数量。

但更令人意想不到的是,Genie背后的团队——Cosine,才仅仅5人。

而且CEO Alistair还发文感谢OpenAI:

没有你们,我们做不出来Genie。

那么Cosine团队,究竟是如何打造Genie的呢。

最强AI工程师是如何炼成的?

Genie的主要特点,是能够模仿人类工程师的认知过程、逻辑和工作流。

为做到这一点,Genie团队透露过去一年收集了一个包含真实人类程序员开发活动的数据集。

其中不仅使用了成果分析、静态分析、自我对弈、逐步验证等方法,还用到了基于大量标记数据训练的AI模型。好处是,当基础模型能力提升时,它们能够提取的数据质量也会相应提高。

最终Genie使用该专有数据进行训练。

数据集中编码了人类推理的完整过程,包括完美的信息溯源、增量知识发现,还有基于软件工程师实际工作案例的逐步决策过程。

Genie的推理过程包括规划、检索、代码编写和代码运行四个主要步骤,突破了其它AI工程师依靠在基础模型之上添加网页浏览器、代码解释器等额外工具的限制,能够像人一样处理多样化的、高度情境的、前所未见的问题。

这种训练方法,让网友们立刻想到,之前Karpathy也提出的类似想法:

对于LLM来说,理想的训练数据并不是你所写的内容本身,而是你在写作过程中的完整思考过程和每一个编辑动作。然而,我们只能尽力利用现有的资源。

除此之外,Genie训练中还引入了自我改进机制。

初始训练数据多为可正常运行的没有错误的代码,导致Genie导致难以应对错误情况。为解决这个问题,团队使用初代版本的Genie生成包含错误的合成数据,然后用这些数据训练下一版模型。

具体来说,使用旧版本Genie提出解决方案,如果解决方案错误,就利用掌握的任务最终状态来教它从当前状态达到正确状态。

不断重复这一过程,Genie提出的初始解决方案逐渐变得更准确,在多数情况下能直接给出正确答案,即使出错也只需在数据集中作较少的修正。

Genie能力提升的另一大关键,在于OpenAI提供的大模型支持。

团队表示,最初开发Genie时,只能访问微调16-32k范围内的短上下文模型,他们用这些模型进行了大量早期开发,用超1亿token的数据训练模型,虽然发现设计的架构有一定优势,但从根本上受限于模型在特定时间内可以处理的信息量。

尝试了各种压缩/分块方法后,唯一的解决方法就是使用更大上下文的模型。

OpenAI提供了长上下文模型支持,最新版本的Genie经过了数十亿token的数据训练。

团队认为,相比超参数调整和数据量,数据的质量才是关键。因此他们还在数据混合方面进行了大量实验,包括语言、任务类型、任务长度等多个维度,以下是训练Genie的不同编程语言数据的占比:

还有不同类型实例的数据占比:

只有5个人的团队

正如我们在上文提到的,Cosine这个初创团队人数目前仅仅为5人。

在官网的介绍中,他们也非常直接的将自己形容为:

Small but mighty.虽小但有力。

从介绍来看,成员有的是从独角兽企业出身,有的拥有管理全球团队的经验,甚至还有从8岁就开始编程的。

但Cosine最初成立之际是仅有3人,他们的目标是想把人类推理这件事儿给搞明白。

值得一提的是,团队成员中还有一位是华人,Yang Li,是Cosine的联合创始人,在2021年登上过福布斯30 under 30。

除此之外,对于Genie本身,CEO Alistair还表示:

早在2022年我们就开始构想Genie了,但当时从技术角度来说是不可行的。

直到过去半年多来,随着大模型的逐步成熟,Genie才能走入现实。

嗯,不得不说,大模型又立功了。

Genie目前是可以申请Waitlist了,感兴趣的小伙伴可以戳文末链接~

Waitlist地址:https://cosine.sh/register

参考链接:[1]https://x.com/alistairpullen/status/1822981361608888619?s=46[2]https://cosine.sh/blog/genie-technical-report[3]https://cosine.sh/blog/state-of-the-art[4]https://x.com/AlistairPullen/status/1823030874579120223[5]https://x.com/yangli_