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

相关文章

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶