C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

亚星游戏官网-yaxin222  少尉

注册:2010-4-285
发表于 2025-1-21 11:02:57 |显示全部楼层

【CSDN 编者按】AI 技术的快速发展,让越来越多的企业和开发者开始尝试将 AI 工具应用于App开发中,希望能够提升开发效率、减轻开发负担。Devin,作为一款自发布便备受瞩目的自动化 AI 开发工具,宣称能够像人类工程师一样独立完成从代码编写到调试、部署等一系列任务。为了验证这个说法,本文编辑经过一个月的实际测试,分享了他们的亲身体验和深刻感想。

2024 年 3 月,一家新的 AI 企业突然崭露头角,凭借强大的融资支撑,吸引了业界的广泛关注:它完成了由 Founders Fund 领投的 2100 万美金 A 轮融资,同时得到了行业领袖们的支撑,包括 Collison 兄弟、Elad Gil 以及科技界的其他杰出人物。这家企业背后的团队成员更是令人惊叹:他们都是国际奥林匹克信息学竞赛(IOI)金牌得主——这些人解决的编程问题大多数人都难以理解。他们推出的产品名为 Devin,声称将是一位完全自主的App工程师,能够像人类同事一样与你对话,完成从学习新技术、调试成熟代码库到部署完整应用,甚至训练 AI 模型等各类任务。

Devin 的早期演示让人印象深刻:一段视频展示了 Devin 在完全没有人工干预的情况下,独立完成了一项 Upwork 悬赏任务,安装并运行一个 PyTorch 项目。据该企业声称,Devin 在 SWE-bench 基准测试中可以解决 13.86% 的真实 GitHub 问题——比之前的系统性能高出约三倍。最初,只有一小部分用户能够体验这一技术,许多人在 Twitter 上激动地分享,称其将彻底改变App开发的方式。

作为 Answer.AI 团队的一员,大家一直在实验 AI 开发者工具,而 Devin 给大家带来了一种不同的感觉。如果它能兑现其承诺的一半,那么它确实有可能改变大家的工作方式。然而,尽管 Twitter 上充满了激动人心的评论,但大家发现实际使用它的详细报道却寥寥无几。于是,大家决定亲自测试 Devin,用一系列真实任务来考验它。这篇文章便是大家对 Devin 的深入探索——对 2024 年最受关注的 AI 产品进行一次彻底的检验。

亚星游戏官网-yaxin222


(AI 生成图片)


Devin 是什么?

Devin 的独特之处在于其基础设施。不同于一般的 AI 助手,Devin 通过 Slack 平台操作,并且能够自建计算环境。当你与 Devin 进行对话时,实际上是在与一个拥有完整计算环境的 AI 交流——这个环境包括了网页浏览器、代码编辑器和命令行界面。Devin 能够安装依赖项、查阅文档,甚至预览它自己创建的 Web 应用。以下是启动任务让 Devin 工作的一种方法:

亚星游戏官网-yaxin222


(通过 Slack 启动 Devin 任务的方式)


整个体验设计上让人感觉像是在与同事交流。你描述想要完成的工作,Devin 就开始行动。通过 Slack,你可以观察它解决问题的过程,必要时向你请求凭证,并在任务完成后分享链接。而背后,它正在一个 Docker 容器中运行,使其能够在隔离环境下安全地进行实验,同时保护你的系统不受影响。此外,Devin 还提供了一个 Web 界面,允许你访问其工作环境,实时观看它与 IDE、网页浏览器等工具的交互。以下是Web界面的截图:

亚星游戏官网-yaxin222


(Devin 的 Web 界面)


初步成功

大家交给 Devin 的第一个任务简单但真实:将 Notion 数据库中的数据导入 谷歌 Sheets。Devin 以惊人的能力完成了这一任务:它找到了 Notion API 文档,理解了所需内容,并引导我一步步设置 谷歌 Cloud Console 中的必要凭证。不同于单纯提供 API 指令,它一步步引导我完成每个菜单的操作和按钮的点击,省去了通常繁琐的文档查找过程。整个过程持续了大约一个小时,其中只有几分钟的人工干预。最终,Devin 分享了一个链接,指向一个格式完美的 谷歌 Sheets 文档,成功完成了数据的导入。

虽然 Devin 生成的代码略显冗长,但确实有效。这也让大家看到了未来的曙光——一个能够处理“胶水代码”任务的 AI,解放了开发者大量的时间。Johno 也成功地使用 Devin 创建了一个行星追踪器,用于反驳关于木星和土星历史位置的说法。特别令人印象深刻的是,他是完全通过手机完成的这个任务,Devin 负责了所有环境设置和代码编写等繁重工作。

扩大大家的测试范围

在初步成功的基础上,大家开始深入探索 Devin 的异步能力。大家设想让 Devin 在会议期间编写文档,或在大家专注于设计工作时调试问题。但随着测试规模的扩大,问题逐渐显现。那些看似简单的任务,Devin 常常需要数天而非数小时来完成,有时会陷入技术死胡同,或者给出过于复杂、无法使用的解决方案。

更令人担忧的是,Devin 倾向于推进实际上不可能完成的任务。例如,在被要求将多个应用程序部署到单一的 Railway 环境中时(Railway 并不支撑此功能),Devin 并没有识别出这一限制,而是花费了一整天尝试各种方法,甚至虚构了一些并不存在的功能。

最令人沮丧的并不是失败本身——毕竟所有工具都有其局限性——而是大家花了大量时间试图挽救这些失败的尝试。

深入探究问题所在

在这个问题上,大家感到有些困惑。大家看到 Devin 在处理 API 集成和构建功能应用时表现得非常出色,但它却在一些看似简单的任务上却遇到了困难。难道是运气不好?还是大家使用的方式不对?

在一个月的时间里,大家系统地记录了 Devin 在以下几类任务中的测试表现:

●从头创建新项目

●实行研究任务

●分析和修改现有项目

结果让大家有些沮丧:在 20 个任务中,Devin 失败了 14 次,成功 3 次(包括最初的两次),还有 3 次无法确定成败。更为关键的是,大家无法找到任何规律来预测哪些任务会成功。那些看似与大家早期成功类似的任务,往往以意想不到的方式失败。以下是大家在每个类别中的经历总结:

(1)从头创建新项目

这个类别本应是 Devin 的强项。毕竟,其企业的演示视频展示了它独立完成 Upwork 悬赏任务的能力,而大家自己早期的成功案例也表明它能够从头创建新项目。然而,现实情况要复杂得多。

例如,当大家尝试与一个名为 Braintrust 的 LLM 可观测性平台集成时,任务非常明确:生成合成数据并上传。然而,Devin 给出的解决方案可以说是一团乱麻——过多的抽象层使得简单操作变得不必要的复杂。最终,大家放弃了对 Devin 的尝试,转而使用 Cursor 逐步构建集成,结果发现这种方法要高效得多。同样,当大家要求 Devin 为大家的 AI 笔记工具与 Spiral.computer 进行集成时,一名团队成员把 Devin 生成的代码形容为:“杂乱无章,代码读起来比我从头开始写的还要混乱”。尽管 Devin 可以访问两者的文档,但它似乎还是喜欢把每个环节都做得过于复杂。

最能说明 Devin 这方面问题的,应该是网络爬虫。大家要求 Devin 访问 谷歌 Scholar 链接并抓取某位编辑最新的 25 篇论文——对于像 Playwright 这样的工具来说,这项任务简直轻而易举,而 Devin 还具备浏览网页和编写代码的能力,按理说应该更容易实现。然而,Devin 却陷入了一个无限循环,不停地尝试解析 HTML,无法摆脱自己的混乱状态。

(2)研究任务

如果 Devin 在处理具体的编码任务时遇到困难,那么它在研究性工作中的表现是否会更好呢?很遗憾,结果顶多是参差不齐。虽然它能够处理一些基本的文档查阅(比如大家早期的 Notion/谷歌 Sheets 集成),但更复杂的研究任务对它来说仍然是一个挑战。

例如,当大家要求 Devin 研究带有准确时间戳的转录总结——这是大家面临的一个具体技术难题时,但它只是简单复述了与主题相关的边缘信息,并没有真正深入核心问题。它没有尝试探索可能的解决方案或识别关键的技术难点,而是提供了与根本问题无关的通用代码示例。即便在 Devin 看似有所进展时,结果往往也不像表面上看起来那么好。比如,当大家要求它创建一个简单的 DaisyUI 主题示例时,Devin 生成了一个看似可行的解决方案。然而,仔细检查后大家发现,这个主题实际上毫无作用——大家看到的颜色依然是默认主题的颜色,而非大家的自定义设置。

(3)分析与修改现有代码

Devin在处理现有代码库时的表现尤其令人担忧。这类任务需要理解上下文并保持与既定模式的一致性——这是 AI App工程师应该具备的核心能力。

大家尝试让 Devin 处理 nbdev 项目时,遇到了一些令人震惊的问题。当大家要求它将一个 Python 项目迁移到 nbdev 时,Devin 连基本的 nbdev 设置都无法理解,尽管大家提供了详尽的文档供其参考。更让人费解的是,它在处理 notebook 时的方式——它没有直接编辑 notebook,而是创建 Python 脚本来修改 notebook,导致本应简单的任务变得过于复杂。虽然 Devin 偶尔也提供了一些有用的意见或想法,但它生成的实际代码始终存在各种问题。

在安全审查方面,情况也类似。当大家要求 Devin 对一个不到 700 行代码的 GitHub 仓库进行安全漏洞评估时,它反应过度,标记了大量误报,还虚构了根本不存在的问题。这类分析本可以通过单一且垂直的 LLM 调用来完成,而不是 Devin 采用的这种复杂方式。

此外,调试任务中也存在类似问题。当大家调查为什么 SSH 密钥转发在设置脚本中无法正常工作时,Devin 过分关注脚本本身,从未考虑问题可能存在于其他地方。这种“狭窄的视野”意味着它无法帮助大家找到实际的根本原因。同样,当大家要求它在用户输入和数据库值之间进行冲突检查时,一位团队成员花了几个小时试图搞明白提供 Devin 的方案,最终还是决定自己编写该功能,耗时仅约 90 分钟。

团队反思

经过一个月的密集测试,大家团队聚集在一起,并总结了大家对 Devin 的使用经验。以下的几句话可能最能表达大家的感受:

Johno Whitaker:“Devin 能完成的任务通常都很小且定义明确,但这种任务还不如我自己做,反而更快;对于那些我认为可能会节省时间的大型任务,它往往又会失败。所以,目前没有什么真正的应用场景让我想用它。”

Isaac Flath:“最初我对 Devin 接近成功的状态很兴奋,因为我觉得只需稍作调整即可。但随着需要更改的地方越来越多,我对它越来越失望,最终发现自己不如从头开始,一步步完成。”

Hamel Husain:“尽管大家提供了大量的文档和示例,但 Devin 依旧难以使用AnswerAI内部工具,而这些工具对大家来说又至关重要,所以大家都不太爱用它。相比之下,Cursor 等工具就没有这个问题,大家可以逐步引导其向正确的方向发展。”

与 Devin 不同,大家发现由开发者主导工作流程的工具(如 Cursor),可以避免大家在 Devin 中遇到的大部分问题。

结论

与 Devin 合作的过程,展示了自主 AI 开发所追求的理想状态。用户体验是精致的——通过 Slack 聊天、异步观察它工作、看到它设置环境并处理依赖关系。当它运行良好时,确实令人印象深刻。

然而,问题在于——它很少能成功。在大家尝试的 20 项任务中,有 14 次失败,3 次结果不确定,仅有 3 次成功。更令人担忧的是,大家无法预测哪些任务会成功。即使是类似于大家早期成功的任务,也会以复杂且耗时的方式失败。于是,最初看似有前景的自动化功能,反而变成了一种负担——Devin 会在不可能的解决方案上花费数天时间,而不是及时识别出根本性障碍。

这反映了大家在 AI 工具中反复观察到的一种模式:社交媒体上的热议和企业估值与实际应用价值几乎没有关系。大家发现,最可靠的信息大多来自于用户详细的使用故事和实际产品的交付。就目前而言,大家更倾向于使用那些由大家主导开发过程的工具,同时在需要时获得 AI 的帮助即可。

原文:https://www.answer.ai/posts/2025-01-08-devin.html


来源:36kr

举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2025-1-23 21:28 , Processed in 0.189142 second(s), 16 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图