细数AI程序员 Devin、SWE-agent、通义灵码、Devika...,“码农”要失业了吗?

21 篇文章 1 订阅
21 篇文章 0 订阅

细数AI程序员 Devin、SWE-agent、通义灵码、Devika…,“码农”要失业了吗?

1. 全球首位AI工程师:Devin

3月12日,美国AI初创公司Cognition AI在X平台发布一条视频,宣布了首位完全自主的AI程序员 Devin 的诞生。
在这里插入图片描述

第一位接近人类的 AI 程序员,究竟强在哪里?

不同于我们在前两年看到的 GitHub Copilot 等 AI 编程助手,Devin 并非单纯辅助的角色,而是能够完全独立、端到端地完成整个开发项目,包括从编写代码、修复 Bug 到最终执行的完整编程生命周期。

Devin 不仅能自主学习新技术,自己改Bug,甚至还能训练和微调自己的AI模型,表现已然远超GPT-4等“顶流选手”。

Cognition AI 对于 Devin 的定义是:世界上第一位完全自主的 AI 软件工程师。利用大模型能力已经掌握了全栈技能,仅需要人类给出自然语言指令,就可以自动完成复杂的代码任务。

在这里插入图片描述

目前用过 Devin 的少数用户,给出的实测感受基本都是赞赏有加:

  • Devin 从头开始构建一个网站,只要 5-10 分钟。
  • Devin 重复创建基于 Web 的经典乒乓球游戏,只要 5-10 分钟。
  • Devin 可构建一个小型 SMS 网站摘要器,并通过 Twilio 部署。
  • Devin 擅长项目原型设计、修复错误以及以图形形式显示复杂数据。
  • Devin 已经通过了一家行业领先 AI 公司的工程面试。
  • Devin 可以在自由职业平台 Upwork 接单:编写和调试代码来运行计算机视觉模型。Devin 有条不紊地设置代码仓库,解决版本冲突,从互联网下载图片供模型使用,采样结果数据,还编写了一份漂亮的报告,完美达到雇主需求。

Cognition AI 让 Devin 进行了一次编码基准测试 SWE-Bench,解决开源项目里真实存在的 GitHub 难题。

Devin 完全自力更生,端到端正确解决了其中的 13.86%,比起之前模型在辅助下的最好成绩 4.8%,这已经是非常大的进步了,甚至远远超过了 GPT-4、Claude2 等一众前辈。

在这里插入图片描述

随后的这两个月里,无数的 Devin 模仿者横空出世。

  1. OpenDevin:3月13日(Devin 发布第二天)首次出现了 Devin 克隆版本 OpenDevin:
    https://github.com/OpenDevin/OpenDevin
    在这里插入图片描述

  2. AutoDev:3 月 13 日,微软提交了一篇关于全自动软件开发框架的论文AutoDev,还介绍了多智能体协同(Multi-Agent)的概念。
    https://arxiv.org/pdf/2403.08299.pdf
    在这里插入图片描述

  3. AutoCoder:AutoCoder是国人祝威廉团队在 3 月 18 日首次发布的命令行版 Devin。
    https://github.com/allwefantasy/auto-coder
    在这里插入图片描述

  4. Devika:3月21日,Devin 开源竞品 Devik问世。
    Devika 是一个富有主动性的AI软件工程师,依托于Claude 3能够理解人类的高级指令,把这些指令分解成具体步骤,搜集所需的信息,并据此编写代码来完成既定目标。

https://github.com/stitionai/devika
在这里插入图片描述

  1. 通义灵码:4月2日,国内首个AI程序员“通义灵码”入职阿里云:专属工号AI001。

  2. SWE-agent:4月3日,普林斯顿大学的NLP团队开发了一个开源AI程序员SWE-agent,它利用GPT-4模型在GitHub存储库中自动解决问题。SWE-agent在SWE-bench测试集上的表现与Devin相似,平均耗时93秒,解决了12.29%的问题。SWE-agent通过与专用终端交互,可以打开、搜索文件内容,使用自动语法检查、编辑特定行,以及编写和执行测试。
    https://github.com/princeton-nlp/SWE-agent
    在这里插入图片描述

  3. Replit Teams:初创公司 Replit 将在 4 月 9 日发布的 Devin 竞品。

2. 普林斯顿首个开源AI程序员:SWE-agent

程序员请 AI 代劳自己的工作,不只是 Cognition AI 一家的想法。

4月3日,来自普林斯顿大学 NLP 组的研究人员放出了一个开源版 AI 程序员——SWE-agent,不到一天就获得了上千的 GitHub Star 量。

SWE-agent 是一款用于自主解决 GitHub 存储库中问题的新系统。

在这里插入图片描述

项目网站:https://swe-agent.com/
GitHub:https://github.com/princeton-nlp/SWE-agent

在SWE-agent上,团队主要设计了这些功能:

  • 创建文件查看和编辑器,可以打开、滚动和编辑文件。结果发现每轮只显示100行时效果最佳。
  • 通过自动语法检查编辑特定行。如果代码语法不正确,就不让编辑命令通过。当命令输出为空时会返回一条信息:”您的命令运行成功,但未产生任何输出”。
  • 编写和执行测试。目前使用SWE-agent主要有两个步骤:
  1. 第一步:推理。SWE-agent接收一个输入的GitHub问题,并返回一个试图修复该问题的拉取请求。
  2. 第二步:评估拉取请求,以验证它是否确实修复了问题。(目前仅适用于 SWE-bench 基准中的问题)。

在这里插入图片描述

图注:SWE-agent示例

在SWE-bench测试集上,SWE-agent 成功解决了 12.29% 的问题,平均耗时只有93秒,准确率堪比Devin(13.84%)。

在这里插入图片描述

研究人员专门为大语言模型设计了简洁的指令和反馈格式——智能体-计算机接口(ACI),从而让模型能够更轻松地浏览代码仓库、查看、编辑和运行代码文件。

通过智能体计算机接口(ACI),SWE-agent 让LLM有了与专属的Docker容器互动,实现浏览、搜索、编辑和执行代码的功能,从而极大地拓宽了LLM在软件开发领域的应用范围。

在这里插入图片描述

研究团队表示,他们将在4月10号发布论文。

3. 国内首个AI程序员:通义灵码

4月2日,国内首个AI程序员“通义灵码”入职阿里云:专属工号AI001。
在这里插入图片描述

「通义灵码」由阿里云和通义实验室联合开发,目前下载量超过 200 万,每天都有数百万行代码被人类程序员采纳。

在这里插入图片描述

AI程序员「通义灵码」在阿里云担任「代码助理」,具备扎实的编程基础,深入学习过万亿量级的代码数据,目前能熟练使用 200 多种编程语言,精通其中 16 种语言,包括 Java、Python、Go、JavaScript、TypeScript、C/C++、C# 等主流语言。

「通义灵码」可优化代码、生成测试框架和用例,提高工作效率。

「通义灵码」还有一点优势:支持企业级代码库专项训练,能够更好理解企业的代码和文档数据,并支持国产化适配。

未来 20% 阿里云代码将由其编写,但程序员仍为核心。

在这里插入图片描述

图注:通义灵码可以迅速写出单元测试

在这里插入图片描述

图注:通义灵码具备研发智能问答、异常报错排查等能力

阿里云宣布,通义灵码在通义千问 APP 上线, 免费向全民开放,所有人可以随时随地在手机上写代码、读代码、学习编程技能。

在这里插入图片描述

随着像Devin、Devika和OpenDevin这样的AI软件工程师的兴起,我们已经见证了AI在编程方面的巨大潜力。

这些AI不仅能够规划和执行复杂的工程任务,还能找出并修复漏洞,甚至负责整个项目的开发流程。然而,当面对复杂的现有代码库并追求编写安全代码时,情况变得更加复杂。

虽然我们尚未达到AI能够完全取代软件工程师的阶段,但AI无疑正在改变技术领域的面貌和未来的走向。

AI与程序员相互促进,共同学习。

参考:
https://finance.sina.cn/2024-04-05/detail-inaqurrr9584546.d.html

欢迎各位关注我的个人微信公众号:HsuDan,我将分享更多自己的学习心得、避坑总结、面试经验、AI最新技术资讯。

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当出现"Unit mysqld.service could not be found"的错误信息时,意味着无法找到mysqld.service这个服务。在解决这个问题之前,可以尝试以下步骤: 1. 首先,确认你已经正确安装了MySQL并且配置文件没有错误。你可以过运行`mysql -v`命令来验证MySQL是否正确安装并能正常启动。 2. 检查MySQL的配置文件是否正确。你可以使用`sudo vi /etc/mysql/my.cnf`命令来编辑MySQL的配置文件,检查是否有语法错误或者配置错误。如果有错误,请修改并保存配置文件。 3. 如果你已经确认了配置文件的正确性,但是MySQL仍然无法启动并报错"Unit mysqld.service could not be found",那么可能是由于mysqld.service文件丢失导致的。 4. 使用`find / -name mysql.server`命令来查找mysqld.server文件的位置。这个命令会在系统中搜索mysql.server文件,并返回其路径。 5. 一旦找到了mysql.server文件的位置,你可以将该文件复制到/etc/init.d目录,并将其重命名为mysqld。使用以下命令来完成这一步骤:`cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld`。[3] 6. 复制完成后,运行`sudo service mysqld start`命令来启动MySQL服务。此时,MySQL应该能够正常启动,而不再报错"Unit mysqld.service could not be found"。 过以上步骤,你应该能够解决"Unit mysqld.service could not be found"错误,并成功启动MySQL服务。如果问题仍然存在,建议查看系统日志以获取更多详信息,并尝试其他解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [重启MySQL报Unit mysqld.service could not be](https://blog.csdn.net/yyp0304Devin/article/details/119839302)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值