赞
踩
ChatGPT狂飙160天,世界已经不是之前的样子。
新建了人工智能中文站https://ai.weoknow.com
每天给大家更新可用的国内可用chatGPT资源
更多资源欢迎关注
日期:3 月 17 日
事件:近日,Cognition AI 推出首个 AI 软件工程师 Devin,因其仅需一句指令,即可端到端地处理整个开发项目而受到广泛关注。随后,微软也推出 AI 程序员 AutoDev,能够自主生成、执行代码等任务。「Devin 们」能否真正替代人类程序员?
快速复习:「Devin 们」 有哪些能力?采用什么架构?
1、根据 Devin 的技术报告,在 SWE-Bench 基础测试中,Devin 无需人类协助就可以解决 13.86% 的问题,此前的 SOTA 模型在同样条件下仅能完成 1.96% 。
2、Devin 作为 AI 软件工程师的能力包括:
① 全栈技能:Devin 掌握从云端部署、底层代码编写到 bug 修改、AI 模型的训练和微调等全栈技能;
② 自学新语言和框架:Devin 能够快速学习和掌握新技术,只需阅读文档即可快速上手不熟悉的工具和框架;
③ 开发迭代 App:Devin 能够开发迭代应用,包括搜索餐馆、获取地址和联系方式,并构建网站等功能;
④ 自动 Debug:Devin 具备自动 Debug 的能力,能够自动化查找并修复程序中的错误;
⑤ 长期推理和规划能力:Devin 擅长长期推理能力,可以自主规划和完成软件项目,在此过程中做出数以千计的准确决策;
⑥ 执行复杂任务:Devin 在 SWE-bench 编码基准测试中取得了突破性的成功,展示了其执行复杂任务的能力,甚至超越了顶尖的人类工程师;
⑦ 独立完成编码和应用上线功能:Devin 可以直接作为一个程序员来接受用户需求和反馈,独立完成编码和应用上线功能。[2] [3]
3、微软开发的 AutoDev 是专为自主规划、执行复杂的软件工程任务设计的软件开发框架
① 用户可以定义软件工程目标,AutoDev 分配给 AI 智能体执行。
② AI 智能体能执行文件编辑、检索、构建、执行、测试和 git 操作等任务。
③ AutoDev 可以访问文件、编译器输出、构建和测试日志以及静态分析工具。
4、AutoDev 主要由 4 个功能模块组成:
① 对话管理器(Conversation Manager):负责初始化和管理用户与 AI 代理之间的对话,确保沟通的连续性和有效性。
② 规则、动作和目标配置:允许用户通过 yaml 文件定义 AI 代理可以执行的命令和动作,以及代理的权限和责任,从而精确控制 AI 代理的行为。
③ 工具库(Tools Library):提供一系列命令,使 AI 代理能够执行文件编辑、代码检索、构建与执行、测试与验证以及 Git 操作等多样化任务。
④ 代理调度器(Agent Scheduler):协调多个 AI 代理共同工作,通过不同的协作算法(如轮询、基于令牌、基于优先级)来优化任务执行的顺序和方式。
⑤ 评估环境(Evaluation Environment):在一个安全的 Docker 容器内执行代理的命令,简化了代理与代码库的交互,同时确保了操作的安全性。
5、经测试,AutoDev 在 HumanEval 的代码生成和测试生成任务中表现优越,分别取得了 91.5%和 87.8% Pass@1 的结果。[4] [5]
「Devin 们」吹嘘的水分有多大?从业者和业内大佬们怎么看?
1、由于 Devin 和 AutoDev 尚未全面对外开放使用,实际能力有待验证。但拿到 Devin 测试资格的斯坦福研究者在完成体验后分享了使用评价。[1]
① Devin 的优点在于产品化完成度高,产品结构设计能够良好支撑 AI 功能,且能够完成 API 密钥保护,随时修改和添加需求等等非常好的各种功能。
② Devin 的缺点在于反应慢,不允许用户直接编辑代码,也无法协作完成,且在部分任务中无法完成部署,完成的任务存在 Bug。
2、有 Reddit 网友质疑 Devin 技术报告宣称的 13.86%问题解决率在缺少任务难度明确数据下的实用性,并指出 Devin 需要访问整个代码库,这是大多数公司所不愿意的。[6]
3、业内大佬们对于 Devin 的褒贬不一。如 Perplexity AI 的 CEO Aravind Srinivas 持正面态度,感叹 Devin 是首个跨越人类能力门槛的智能体,且不仅是编码方面。但其他大佬则是负面评价居多。[7]
① 软件开发机构 Athagist 的创始人 Kyle Shevlin 觉得收到挫败,担忧 AI 取代中产工作,质疑 AI 发展的未来方向。
② 深度学习大佬 François Chollet 认为,软件工程不是复制和粘贴代码,而是开发和操作问题及其解决方案的心智模型,Devin 还没到这个境界。
4、知乎答主们普遍认为,尽管 AI 程序员进展显著,但目前对实际编程工作的影响依然有限。
① 如知乎答主「段小草」认为,虽然 AI 程序员进步很大,但不够。AI 编程目前更多地作为辅助工具存在,注释、修改和 Debug 等工作仍需人类程序员参与。AI 的角色更接近高级知识库或自动补全工具,并未完全超出工具的范畴。
Devin 与 GitHub Copilot 等传统编程助手的关键区别是什么?
1、目前,尽管随着大模型的发展,已经出现了如 GitHub Copilot 等软件工程领域的 AI 助手,集成至开发环境(IDE)中,不仅在聊天界面中提供代码建议,还能直接在文件中进行操作,但仍存在着一定的局限性。
① 现有的 AI 编码助手主要集成在 IDE 中,提供代码建议,但这些建议通常仅限于聊天界面内或直接在文件中的代码片段。
② 这些工具往往没有充分利用 IDE 的全部功能,如调用静态分析工具、编译器或执行命令行操作,导致开发者仍需手动验证 AI 生成代码的正确性。
③ 开发者需要手动执行代码库的构建和测试,检查错误日志,以确保 AI 生成的代码不仅在语法上正确,而且在功能上也符合预期。
④ 现在市面上的一系列大模型都有编程能力,但大多数都采用了单行代码补全或者单个函数生成的方式。想生成完整的程序,需要设计 prompt 逐步「调教」。
2、相比于传统编程助手的协助能力,Devin、AutoDev 等 AI 程序员们最大的区别则是拥有自主推理和规划能力,能够独立地处理整个项目。以 Devin 为例,
① 其特点主要体现在作为自主智能体的能力,它可以通过使用自己的 shell、代码编辑器和网络浏览器来处理工程任务。
② Devin 在 SWE-Bench 的基础测试中展示了其理解和执行软件开发相关任务的能力。
ChatGPT狂飙160天,世界已经不是之前的样子。
新建了人工智能中文站https://ai.weoknow.com
每天给大家更新可用的国内可用chatGPT资源
更多资源欢迎关注
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。