大语言模型的一个最重要的应用就是在编程领域。当前的GPT-4等模型已经在代码补全和生成方面为程序员节省了大量的时间。但是,大多数编程领域的大模型应用都是单行代码补全或者单个函数生成的方式。完整的程序生成依然面临较大的挑战。而现在,一个初创企业直接发布了一个AI软件工程师,可以直接作为一个程序员来接受用户需求和反馈,独立完成编码和应用上线功能。这就是Cognition发布的全球首个AI软件工程师Devin。
Devin不是一个人的名字,它是一个配备了程序员工具的大模型,由CognitionAI发布。CognitionAI是一家初创企业。
Devin不仅仅是提供编码建议和自动完成一些任务,而是能够独立完成整个软件项目。例如,如果你告诉Devin要创建一个展示悉尼所有意大利餐馆的网站,它会自动搜索餐馆信息,获取它们的地址和联系方式,然后构建并发布一个展示这些信息的网站。在这个过程中,Devin会展示它正在执行的所有任务,并且在测试编写的代码时自动找出并修复错误。
根据Devin自行阅读QLoRA的GitHub项目之后,用这个库来微调Llama-7B模型的视频:
CongnitionAI团队为Devin配备了Linux环境、浏览器、Python编辑器等。然后你只要在左上角输入你的目标(这个实例是让Devin去QLoRA库去学习如何使用之后来实际使用这个库微调大模型)。Devin就会根据你的指令来规划任务,然后在右下角展示它正在操作的文档(或者生成的代码),在右上方展示Linux系统里面执行的结果。这视频展示的最后是Devin成功开始微调Llama-7B模型。
CognitionAI官网给了很多Devin的实际操作视频实例,主要包括:
通过阅读博客,Devin可以学习如何使用不熟悉的技术(如在Modal上运行ControlNet,Modal是一个serverless平台。
告诉Devin创建一个个人网站来模拟Game of Life,然后成功将网站部署到Netlify。
让Devin在GitHub的特定仓库中针对特定的代码文件生成测试用例,并对其进行测试。
给Devin一个GitHub的issue地址,让Devin根据issue内容修复。
给Devin一个GitHub的bug报告地址,让Devin根据bug的内容重现bug并修复bug。
让Devin接受在线的一个工作请求,内容是用指定的CV模型来解决真实世界的图像识别问题,并给出识别结果报告。
以上所有实例都在官网有录屏。Devin并不是直接可以完美解决所有问题,在这期间也会出现代码运行失败等情况。Devin会自行修复bug重新运行程序。从整个流程看,Devin相比较此前的编程大模型,更像一个完整的“程序员”,因为他可以自主下载代码、搭建环境、执行代码、修复bug并完成任务。在这其中他也会与你交流,例如在修复bug之后会询问你是否要把修复的代码提交到主仓,进行合并请求。
Devin与其他编程大模型(如GitHub和Microsoft以及OpenAI合作开发的Copilot)的主要区别在于它的能力范围和自主性。Devin被描述为下一级别的软件开发助手,不仅仅提供编码建议和自动完成一些任务,而是能够独立完成整个软件项目。这意味着Devin能够接收一个较为复杂的任务,比如创建一个网站或视频游戏,然后自行执行所需的所有步骤,包括搜索信息、编程、测试,并最终发布完成的项目。
虽然官方没有披露Devin的详细信息,但是给出了SWE-Bench的对比结果。SWE-Bench是用来评估大模型在解决真实世界软件问题能力的评测工具,包含了GitHub上著名项目的2000多个issue。发表在ICLR2024计算机会议上。
从这个评测结果看,Devin解决真实世界软件问题的能力要远好于当前的GPT-4和Claude等模型。
以下是Devin与其他编程大模型的几个关键区别:
任务的自动完成:Devin能够独立完成从项目开始到结束的整个过程,而不仅仅是辅助编码或提供代码片段的建议。这种能力使得它更接近于一个独立工作者而非仅仅是一个助手。
自我修复和测试:Devin在执行任务的过程中能够自行发现并修复错误,同时对写出的代码进行测试。这一点超出了大多数现有编程助手的功能范围,它们通常需要人类开发者介入以解决问题和进行测试。
自然语言处理能力:虽然大多数编程大模型都支持自然语言输入,但Devin似乎在理解复杂命令和执行多步骤任务方面表现更佳。这表明其自然语言处理能力可能更为高级,能够更好地理解用户的意图。
长期任务的执行能力:Devin能够在执行数百甚至数千个任务时保持一致性,不偏离轨道。这与当前的大多数AI系统在处理长期任务时容易失去一致性和专注力的问题形成鲜明对比。
理解与推理能力:Cognition AI声称Devin实现了在AI领域被称为“理解”的突破,这意味着系统能够超越预测句子中的下一个单词或代码行的下一个片段,向着更像是思考和合理化其解决问题方式的方向前进。
这些区别表明Devin旨在提供一种更加高级、自主和全面的编程辅助体验,能够承担更复杂的项目任务,并减少人类开发者需要进行的干预和监督。
而Devin本身的实现方式,CognitionAI并没有透露,只是简要地提到,Cognition AI的团队发现了将大型语言模型(LLM)如OpenAI的GPT-4与强化学习技术结合的独特方法。这种方法显然是他们技术突破的关键,但具体如何实现这一点,并没有给出明确的解释或步骤。
整个Cognition AI团队由10人组成,包括获得过10枚国际比赛金牌的运动编码者。这支团队的成员在编程竞赛中获得的成就和对问题解决的独特方法。其中三位创始人信息如下:
Scott Wu - 首席执行官 (CEO):Scott是团队的领导者,和他的兄弟Neal Wu一起,自青少年时期就开始参加并经常获胜于国际编程比赛,这些比赛提升了他们的编程能力。Scott的背景和对算法问题的深入理解为Cognition AI的开发提供了独特的视角。
Steven Hao - 首席技术官 (CTO):Steven之前是Scale AI的顶尖工程师,Scale AI是一家估值很高的初创公司,专注于帮助训练AI系统。他在技术和算法开发方面的经验对Cognition AI的技术进步至关重要。
Walden Yan - 首席产品官 (CPO):Walden直到最近还在哈佛大学上学,他请求将他在学校的状态留作模糊,大概率是想“辍学创业”。
除了这三位核心成员,还有一位Neal Wu,他是Scott Wu的兄弟,他也在Cognition AI工作。Wu兄弟因其编程才华在全球范围内享有盛誉,他们自青少年时期起就在国际编码比赛中竞争并常获胜利,这些比赛经验帮助他们在编程和解决问题方面拥有独特的方法。
好文章,需要你的鼓励
后来广为人知的“云上奥运”这一说法,正是从这一刻起走上历史舞台。云计算这一概念,也随之被越来越多的人所熟知。乘云科技CEO郝凯对此深有感受,因为在2017年春节过后不久,他的公司开始成为阿里云的合作伙伴,加入了滚滚而来的云计算大潮中。同一年,郝凯带领团队也第一次参加了阿里云的“双11”活动,实现了800万元的销售业绩。
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面