程序员饭碗不保?首个 AI 程序员 “Devin”:从编码辅助到独立完成项目

本文主要是介绍程序员饭碗不保?首个 AI 程序员 “Devin”:从编码辅助到独立完成项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

昨天一家名为 CognitionAI 的公司,发布了首个 AI 程序员 “Devin”

🌟 CognitionAI 官网提供了多个 Devin 的实际操作视频实例,主要包括:

    1. 通过阅读博客,Devin 可以学习如何使用不熟悉的技术(如在 Modal 上运行 ControlNet,Modal 是一个 serverless 平台)。
    1. 让 Devin 创建一个个人网站来模拟 Game of Life,并成功将网站部署到 Netlify
    1. 让 Devin 在 GitHub 的特定仓库中为特定代码文件生成测试用例,并对其进行测试。
    1. 给 Devin 一个 GitHub 的 issue 地址,让 Devin 根据 issue 内容修复。
    1. 给 Devin 一个 GitHub 的 bug 报告地址,让 Devin 根据 bug 的内容重现并修复 bug
    1. 让 Devin 接受在线工作请求,内容是使用指定的 CV 模型解决真实世界的图像识别问题,并提供识别结果报告。

程序员饭碗不保?首个 AI 程序员 “Devin”:从编码辅

以上所有实例都有录屏在官网展示。尽管 Devin 不是直接解决所有问题的完美方案,在这些任务中可能会遇到代码运行失败等情况,但 Devin 会自行修复 bug 并重新运行程序。从整个流程看,Devin 相较于此前的编程大模型更像一个完整的 “程序员”,因为他可以自主下载代码、搭建环境、执行代码、修复 bug 并完成任务。在此过程中,他也会与用户进行交流,例如在修复 bug 后询问是否将修复的代码提交到主仓并发起合并请求。

🚀 立即体验 Devin 的非凡能力: https://cognition-labs.com


Devin 的能力展示

  • Devin 具备从头到尾完整构建及发布应用程序的能力

通过 Devin 的智能操作,一个仿生命游戏的动态网站得以建立。它能够根据用户需求逐一增加新功能,并最终在 Netlify 上成功部署此应用。

https://mmbiz.qpic.cn/mmbiz_png/Sn1tJhGWmibtHDaTRHxdRicdH2WzIJaFmLLAVJVdDGU441xD62QD2wcHmyPrgCIaRqkysgPsuTdYricQynmKRzgSA/640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

  • Devin 可以自主查找并修复代码库中的错误

Devin 帮助 Andrew 维护和调试他的开源相关编程书籍。

https://mmbiz.qpic.cn/mmbiz_png/Sn1tJhGWmibtHDaTRHxdRicdH2WzIJaFmLyTPTbh35Rs3ia2Q7DAXibVnbOM9KYhyZSZfzptlnnI1mXpwf2exHeyiaQ/640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

  • Devin 可以解决开源存储库中的错误和功能请求

只需提供 GitHub 问题的链接,Devin 即可完成所需的所有设置和上下文收集。

尽管 Devin 已经展示了其出色的工作能力,但为了更深入地评估其性能,开发团队在 SWE-bench 进行了测试。这是一个极具挑战性的基准测试,要求代理能够处理如 Django 和 scikit-learn 等开源项目中实际出现的 GitHub 问题。

https://mmbiz.qpic.cn/mmbiz_png/Sn1tJhGWmibtHDaTRHxdRicdH2WzIJaFmLtUOkVZRVgvVE65DNTXqVLNsGev3GiaIbsyFbiaLZlf3v0QAxAibGiaS2ibw/640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

在这项测试中,Devin 成功地解决了高达 13.86% 的问题,这一成绩大幅领先于以往任何高级模型的 1.96% 记录。即便是在提供了具体需修改文件的情况下,之前表现最好的模型也仅能处理 4.80% 的问题。

以下是 Devin 与其他编程大模型的几个关键区别:

    1. 任务的自动完成:Devin 能够独立完成从项目开始到结束的整个过程,而不仅仅是辅助编码或提供代码片段的建议。这种能力使得它更接近于一个独立工作者而非仅仅是一个助手。
    1. 自我修复和测试:Devin 在执行任务的过程中能够自行发现并修复错误,同时对写出的代码进行测试。这一点超出了大多数现有编程助手的功能范围,它们通常需要人类开发者介入以解决问题和进行测试。
    1. 自然语言处理能力:虽然大多数编程大模型都支持自然语言输入,但 Devin 似乎在理解复杂命令和执行多步骤任务方面表现更佳。这表明其自然语言处理能力可能更为高级,能够更好地理解用户的意图。
    1. 长期任务的执行能力:Devin 能够在执行数百甚至数千个任务时保持一致性,不偏离轨道。这与当前的大多数 AI 系统在处理长期任务时容易失去一致性和专注力的问题形成鲜明对比。
    1. 理解与推理能力:Cognition AI 声称 Devin 实现了在 AI 领域被称为 “理解”的突破,这意味着系统能够超越预测句子中的下一个单词或代码行的下一个片段,向着更像是思考和合理化其解决问题方式的方向前进。

https://mmbiz.qpic.cn/mmbiz_png/Sn1tJhGWmibtHDaTRHxdRicdH2WzIJaFmLiaOxRfWgicq8AGbFBgZ8gJHYR9h9pr76B4vksbgJ454rO9h8s8BicF2ng/640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

大家怎么看 ?

前特斯拉 AI 总监兼 OpenAI 创始团队成员 Andrej Karpathy 将软件工程的自动化趋势与自动驾驶技术相比较。随着 AI 承担越来越多工作,人类的角色逐渐转变为提供监督。软件工程的进化路径从人工编写代码,发展到 GitHub Copilot 辅助编写几行代码,再到 ChatGPT 撰写完整代码块,最终导致代码生产的质和量都将发生巨大变化。

https://mmbiz.qpic.cn/mmbiz_png/Sn1tJhGWmibtHDaTRHxdRicdH2WzIJaFmLeZRCyG4GGaA15BB2aibafSyPZaSuu3XNYn3bn8dibXFumGKl8DRrdSkA/640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

Karpathy 指出,在 AI 的帮助下,还有很多任务需要人类来完成,特别是在 UI/UX 设计方面。重要的是要探讨人类如何监督 AI、关注何种方面、如何引导 AI 沿着不同的路径前进以及如何修正错误。这可能意味着代码编辑工具的根本改变。

软件工程领域正处于变革的边缘,其未来更多地体现为监督自动化过程、提供高层次的命令和策略。

OpenAI 的员工 Jimmy Apples 对 Devin 的快速出现表示惊讶,认为这样的技术进步比预期来得更早。Devin 的问世促使人们意识到几乎没有任何工作是绝对安全的,所有职位都有可能被 AI 取代。

https://mmbiz.qpic.cn/mmbiz_png/Sn1tJhGWmibtHDaTRHxdRicdH2WzIJaFmLLRaTmsafibu5qosBkcIYYHc8RaMd0X9x2BZmQmVEwUY9ZrmTVISOxcw/640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

在社交媒体 X 上,有用户发文表达了对未来就业市场的担忧,指出即使是经过数年学习的人也可能难以找到工作。他们担心,随着 AI 的进步,一个工人配合 AI 可能就能完成传统上需要多人才能完成的任务,这意味着就业市场可能面临彻底的自动化。

这一系列的发展和观察标志着我们正在进入一个新的时代,软件工程不仅仅是编码,而是如何高效地与 AI 合作,共同塑造未来。

CognitionAI 团队的探秘

这家公司的创始人是 Scott Wu、Steven Hao 和 Walden Yan。

这三位创始人都是曾获得国际编程比赛金牌的高手。Scott 和他的兄弟 Neal Wu 是世界闻名的编程天才,从青少年时代开始就频频在国际编程比赛中获胜,帮助美国国家编程队在近年来的比赛中与中国和东欧的竞争对手更加接近。

appmsg&wxfrom=5&wx_lazy=1&wx_co=1

Steven 曾是 Scale AI 公司的一名顶尖工程师,该公司专注于为 AI 系统提供训练支持。而 Walden 则是最近才从哈佛大学毕业,他的加入为 Cognition AI 带来了全新的产品视角和创新思维。

Cognition AI 的核心技术是名为 Devin 的软件开发助手,它不仅提供编码建议和自动完成任务,还能独立完成整个软件项目。Devin 可以根据用户的自然语言命令执行任务,并在执行过程中展示其计划、命令和代码。与其他编码助手相比,Devin 在完成长时间任务时能够保持连贯性和专注度,这使得它在原型项目的设计、错误修复和复杂数据的图形展示方面表现突出。

在这里插入图片描述

尽管 Cognition AI 的技术突破引起了人们的广泛关注,但公司的技术内部结构仍然是个谜。Scott Wu 表示,他们的团队通过独特的方式将大型语言模型(LLMs)与强化学习技术相结合,取得了这一突破性进展。

与 Cognition AI 类似,其他初创公司也在努力开发 AI 编码器。Magic AI 上个月从风险投资家丹尼尔·格罗斯和纳特·弗里德曼等人那里筹集了超过 1 亿美元,用于打造一个 “超级软件工程师”。尽管这些公司的目标不尽相同,但他们都在致力于推动人工智能技术在编码领域的应用和发展。

无论是 Cognition AI 还是 Magic AI,都被认为是 AI 领域的佼佼者。它们的出现不仅改变了软件开发者的工作方式,也将为整个软件行业的发展带来深远影响。在这个充满活力的领域中,编码 AI 已经成为最有前途的领域之一,吸引了众多优秀人才的加入。


介绍:Cognition Labs官方博客 https://www.cognition-labs.com/blog

论文:ArXiv论文链接 https://arxiv.org/pdf/2310.06770.pdf

微信: AIGC004

联系我们:kristjahmez06@gmail.com

参考链接:

    1. Cognition Labs官方博客
    1. Andrej Karpathy的推特
    1. Scott Wu的推特

这篇关于程序员饭碗不保?首个 AI 程序员 “Devin”:从编码辅助到独立完成项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/816924

相关文章

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

MySQL之InnoDB存储页的独立表空间解读

《MySQL之InnoDB存储页的独立表空间解读》:本文主要介绍MySQL之InnoDB存储页的独立表空间,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地