程序员饭碗不保?首个 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

相关文章

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.