不久之前,初创公司Cognition凭借其产品Devin震撼了人们。
这是第一个AI软件工程师,由OpenAI的GPT-4大语言模型驱动。Devin能够在自然语言文本指令下自主编写和编辑代码。
不过,Devin是在2024年3月推出的 —— 五个月前 —— 这在快速发展的生成式AI领域可以说是一个漫长的季节。
现在,另一家以“C”命名的初创公司Cosine,通过著名的Y Combinator初创加速器在旧金山成立,宣布推出了他们自己的全新自主AI工程师Genie。据称,Genie在第三方基准测试SWE-Bench上表现优异,得分30%,远超过Devin的13.8%,甚至超过亚马逊的Q和Factory的Code Droid的19%。
图片
上图:Cosine 网站的截图展示了 Genie 在 SWE-Bench 上与其他 AI 编码工程师模型相比的表现。
“这个模型远不止一个基准测试分数(所能概括的):它从一开始就被训练得像一名人类软件工程师(SWE)一样思考和行为,”Cosine的联合创始人兼CEO阿利斯泰尔·普伦在社交网络X上发布的一篇帖子中写道。
图片
1.Genie 是什么?它能做什么?
Genie是一种先进的AI软件工程模型,旨在自主处理各种编码任务,从修复错误到构建功能,进行代码重构和通过全面测试验证,如同被人工程师或管理者指示的那样。
它可以完全自主运行,也可以与用户协作,旨在提供与熟练同事共事的体验。
Genie能够使用多种语言编写软件 —— 在其技术报告中列出了15种源数据语言,包括JavaScript、Python、TypeScript、TSX、Java、C#、C++、C、Rust、Scala、Kotlin、Swift、Golang、PHP、Ruby等。
Cosine声称Genie能够模拟人类工程师的认知过程。
“我的论点很简单:让它观察人类工程师如何完成他们的工作,并模仿这个过程”,Pullen在博客文章中解释道。
Genie生成的代码存储在用户的GitHub存储库中,意味着Cosine不保留副本,也不涉及任何相关的安全风险。
此外,Cosine的软件平台已经与Slack和系统通知集成,可以使用这些工具来提醒用户其状态、提问或标记问题,就像一个好的人类同事一样。
“Genie还可以向用户询问澄清问题,并回应其生成的PR(拉取请求)上的审查/评论”,Pullen在接受媒体VentureBeat采访时写道。“我们试图让Genie像一个同事一样行事,因此让模型使用同事通常会使用的通道是最合理的。”
2.长上下文能力成为 Genie 研发突破口
与许多依赖于基础模型和少量工具的AI模型不同,Genie是通过OpenAI的长token输出AI模型进行了专有过程开发的。
“就我们使用的模型而言,这是OpenAI允许我们在实验性访问计划的一部分进行训练的GPT-4o变种”,Pullen通过电子邮件告诉VentureBeat。“模型表现出色,我们已经与OpenAI的微调团队和工程领导层分享了我们的经验和技术领导地位。这对我们来说是一个真正的转折点,因为它说服他们投入资源和注意力来支持我们的新技术。”
Cosine 的技术报告中写到了模型的长上下文能力对产品的支持:“我们刚开始开发 Genie 时,只能对 16-32k 范围内相对较短的上下文窗口模型进行微调。我们对这些模型进行了大量的早期探索,在超过 1 亿个标记的大型数据集上对其进行了训练,并很快意识到我们提出的架构有其优点,但在根本上受到了模型在任何给定时刻可表示的信息量的限制。在尝试了各种压缩/分块方法后,我们得出结论:唯一的办法就是使用更大的上下文模型,尽管当时还没有可用的模型可供训练。幸运的是,不久之后,我们获得了训练长语境 OpenAI 模型的能力,这正是我们真正了解 Genie 能力所需的突破口。”
虽然 Cosine 没有明确具体使用的模型,但OpenAI 最近宣布了新的 GPT-4o 长输出上下文模型的有限可用版,该模型可以输出多达 64,000 个 token,而不是 GPT-4o 最初的 4,000 个,增加了 16 倍。
图片
3.数十亿训练数据的千锤百炼
Pullen 在 Cosine 的代理技术报告中写道:“在最近的训练中,Genie 接受了数十亿个数据标记的训练,这些数据的组合选择是为了让模型尽可能地胜任我们用户当前最关心的语言。”
Genie 凭借其广泛的上下文窗口和持续的改进循环,不断迭代和改进其解决方案,直到达到预期的结果。
Genie的训练数据至关重要,Cosine表示他们花费了近一年时间筛选数据集,包括从真实工程师那里收集的各种软件开发活动。
“在实践中,获取这样的数据并有效利用它是非常困难的,因为本质上它并不存在”,Pullen在博客文章中详细解释道。“我们的数据管道使用了工件、静态分析、自我对弈、逐步验证和在大量标记数据上训练的微调AI模型的组合,以推导出必须到达最终输出的详细过程。标记数据的影响不容小觑,从有能力的软件工程师那里获得高质量数据是困难的,但结果是值得的,因为它提供了开发人员如何隐式思考解决问题的深刻洞察。”
此数据集不仅代表了完美的信息来源和增量知识发现,还捕捉了人类工程师的逐步决策过程。
“通过实际训练我们的模型,而不仅仅是提示基础模型,这是其他人正在做的事情,我们已经看到我们不再仅仅是生成随机代码直到某些代码有效,而是像人类一样解决问题”,Pullen强调道。
4.Genie的价格方案
至于Genie的定价结构,Pullen在后续电子邮件中解释了如何工作。
他说将最初分为两个层次:
1.一个价格竞争力强的可访问选项,大约在20美元左右。这个层次将有一些功能和使用限制,但将展示Genie的能力,适合个人和小团队使用。
2.一个企业级的选择,具有扩展功能,几乎无限使用的能力,并且能够创建一个完美的AI同事,精通内部编写的每一行代码。这个层次将更显贵,反映其作为完整AI工程同事的价值。
5.写在最后
Genie的推出对软件开发团队有广泛的影响,特别是那些希望提高生产力并减少在常规任务上花费时间的团队。凭借其处理复杂编程挑战的自主能力,Genie可能会彻底改变工程资源分配的方式,让团队能够集中精力处理更战略性的事务。
Cosine对Genie未来发展有着宏大的计划,他们打算扩展其模型组合,包括用于简单任务的较小模型以及处理更复杂挑战的更大模型。此外,Cosine计划通过扩展一个领先的开源模型和在广泛数据集上进行预训练,进一步拓展他们的工作领域到开源社区。
感兴趣的朋友可以移步Cosine网站申请测试访问,在项目中尝试使用Genie:https://cosine.sh/register
参考链接:https://venturebeat.com/programming-development/move-over-devin-cosines-genie-takes-the-ai-coding-crown/