微信扫码
添加专属顾问
深入探索2024年AI编程助手Devin的实际应用效果。 核心内容: 1. Devin在简单编程任务中的表现与上手体验 2. Devin在前端组件任务中的优势与全栈任务的挑战 3. Devin的成本效益分析与未来潜力探讨
编者按:Devin 真的能像人类软件工程师那样工作吗?作为 2024 年备受瞩目的 AI Agent 产品,它的实际表现如何?
我们今天为大家带来的文章中,作者通过一个月的实际使用体验,发现 Devin 在处理简单、明确的编程任务时表现不错,但距离达到初级软件工程师的水平还有很长的路要走。
文章详细介绍了 Devin 的使用体验,包括其出色的上手流程设计、与 GitHub 的便捷集成,以及实时代码审查功能。在处理范围狭窄、定义明确的代码修改时,特别是前端组件相关的任务,Devin 表现相当出色。然而,当面对需要跨组件协作的全栈任务时,即使是对初级工程师来说较为简单的工作,Devin 也往往难以胜任。从成本效益来看,对于那些它能够完成的小型任务(通常花费 2-10 美元),Devin 确实能为团队节省宝贵的时间;但在处理较复杂任务时,其成功率和性价比都令人失望。
本文系原作者观点,Baihai IDP 仅编译转载。
作者 | Vikram Sreekanti and Joseph E. Gonzalez
编译 | 岳扬
我们总是对新的人工智能产品充满好奇,却苦于没有时间去亲自体验。在最近的假期里,我们终于抓住机会,使用了 Congition 公司推出的 Devin[1],这款产品在 2024 年可是备受瞩目。
如果你一直未曾关注过这方面的事情,那么可能还不知道,Devin 在去年三月份[2]发布的一款软件工程 AI Agent 曾引起了不小的轰动。在相关演示视频中,这款 Agent 能够跨多个代码文件,完成一项相当复杂的编程任务。我们原本对这个 AI Agent 的普适性持保留态度,但 Cognition 在去年十二月[3]将 Devin 正式对外开放,于是我们决定在假期中好好体验一番 Devin。
图片来源:DALL-E 3。AI 软件工程师的潜力无疑是巨大的,但(提前预警!)我们还有很长的路要走。
在我们详细介绍对该产品的使用体验之前,我们想先声明,本文的任何负面观点,都不是为了贬低 Devin(或任何其他产品)。我们对所有致力于 AI 产品开发的人抱有极高的敬意 —— 技术的快速更迭和市场的不确定性已经让我们面临了足够多的挑战。我们分享这些反馈意见,既是为了更好地开发 RunLLM[4],同时也希望我们的观点能对他人有所启发。如果我们有哪里说错了,欢迎指正!
上个星期,我们看到了 Answer AI 发布的一篇关于 Devin 的博客文章[5]。我们尚未详读全文,但值得一提的是,他们的结论与我们的看法颇有几分相似。
Devin 是一款相当谦逊、有自知之明的工具。它对自己的定位是,在得到明确指导的情况下,能够像一名初级软件工程师那样完成任务。根据相关经验,它大约能独立工作 3 小时,之后才需要考虑是否会出现偏差。这种预期管理既清晰明确又非常实用,与我们此前关于 AI 工作流程[6]与人类工作交接[7]的论述不谋而合。
Cognition 公司的 CEO Scott Wu 在采访中透露了他们团队使用 Devin 的思路[8],颇为引人入胜:正确的使用方法是在每天早上给 Devin 分配任务,然后让它在你忙于其他工作的时候自行运行。几小时后,你再回来查看它的工作进度,并提供必要的指导。到了一天工作结束时,Devin 应当能够完成你所布置的任务。这种合作模式,与你在团队中与初级工程师的合作非常相似。
Devin 的使用体验和上手流程设计得相当出色。你只需将 Devin 连接到你的 GitHub 代码库。Devin 会分析你的代码库,了解其中的主要组件,以及编译步骤、代码风格、最佳实践等。对于我们这样的初创公司来说,这些内容可能不算丰富,但 Devin 仍能自动推理出构建流程的基本要素。
完成初步分析后,Devin 会展示其分析结果,并邀请你根据每个源代码目录的需要,添加额外的安装或配置步骤。为了检查这些配置是否正确,它会尝试执行所有的安装和配置步骤。
为 Devin 指派新任务非常直接。目前它尚未与 Linear 或 Jira 这类任务管理系统集成,仅提供了一个简单的文本框,供你输入希望 Devin 完成的任务描述。(你也可以在 Slack 的摘录对话串(Thread)中标记(tag)任务,但我们发现这种做法并不太实用。)
图片来源:Cognition 的 Devin。使用 Devin 的聊天界面是最快捷的指派新任务方式。
当你分配给 Devin 一个新任务时,它首先会通过审查代码库来制定行动方案,并确定它认为应该进行的代码修改,从而制定行动计划。你可以实时在 web app 中观察它审查文件的过程和所做的代码修改(这一功能相当酷炫),一旦完成,它就会运行代码检查和代码测试(如果有的话),解决遇到的问题,并创建一个 PR(pull request)。你可以在 PR 中留下评论,指导 Devin 进行代码修改或修复 bugs。
简而言之:Devin 的使用体验既直观又易于与工程团队的工作流程融合。
03
Devin 最擅长的是进行范围狭窄、定义明确的代码修改,这些代码修改仅涉及单个组件和少数代码文件。我们最初让它完成的任务包括:优化饼图的显示格式,修正 API 在返回数据时遇到的边界问题,以及在创建新数据源时设定默认的更新计划。这些任务如果由人工来完成,每个大约需要一个小时的时间来研究、实施和测试。而有了 Devin,只需花费一两分钟来描述任务,并在将其完成的工作合并前用五分钟来检验。
图片来源:Cognition 公司的 Devin。通过一个实时仪表板,我们可以看到 Devin 在 shell、代码编辑器等环境中的操作过程。
尽管它有时会在通用最佳实践与特定代码库的特定规则之间犹豫,但它很快就能根据你的指导做出反应 —— 随着时间的推移,它会建立一个针对特定代码库的知识库,我们可以对其进行检查和编辑修改。例如,Devin 最初尝试安装并导入了 @tanstack/react-query 库,但这个库并不适用于 RunLLM 的代码库。当我们指出应参考其他文件的实现方式时,它立刻进行了自我纠正。
根据我们的经验(我们不确定这是否是普遍现象),Devin 在处理前端代码时似乎表现得比处理后端代码更为出色。例如,它能够轻松处理相当复杂的 Redux stores 来优化状态管理,然而却在使用 Python 的 FastAPI 框架时遇到了困难 —— 即便面对的是相当基础的功能实现。
简而言之:Devin 在前端代码库中修复小 bugs 或进行细微的优化时,能够有效节省时间。
04
在完成了一些基础任务后,我们决定交给 Devin 一个更具挑战性的全栈任务,我们认为这个任务适合初级工程师去完成。这项任务需要添加一个新的(且独立的)数据库表,创建一个新的 API 接口,并将该接口集成到前端交互中。每处单独的改动并不复杂,但需要将各个部分整合在一起。正常情况下,工程师可能需要几个小时就能搞定。
然而,事情并没有按预期进行。在最初的任务描述中,我们明确指出没有现成的数据库表来记录所需信息。Devin 找到了一个功能类似的旧 API 接口,并试图在此基础上进行调整,但它似乎误以为旧接口的存在意味着数据库中已有相应的信息。尽管我们反复多次提示,它仍然无法在数据库的 schema 中添加新表。
在前端部分,Devin 将新按钮添加到了一个仅在特定条件下才会显示的位置。我们多次要求它让按钮在所有情况下都显示,但同样,尽管反复提示,它还是无法实现这一需求。
在尝试了多种不同的提示词来解决上述问题后,我们决定自己接管这部分工作,看看能否基于 Devin 的工作“半成品”将这个 PR 调整到可用的状态。但仔细检查后发现,Devin 添加的用于前端与新增 API 接口连接的代码大多不可用 —— 它忽略了我们之前教给它的最佳实践,处理 API 响应的代码也是一团糟。此时,我们决定从头开始实现这一功能,因为这样比修复 Devin 编写的代码要容易得多。
有趣的是,我们还发现 Devin 很容易陷入一种死循环,它试图解决代码检查器发现的问题,却又在之前所做的代码更改之间来回打转。在这个循环过程中,它似乎并没有优先考虑用户对 PR 中需要改进之处的反馈。
我们并不清楚是什么原因导致 Devin 出现这种混乱。每个组件的任务应该都相当简单,因此我们推测,跨多个组件的协同工作可能是最让 Devin 困扰的部分。它似乎无法将自身的规划或我们提供的反馈独立应用于特定组件。
简而言之:一个我们期望初级工程师能在一天内完成的全栈任务,对 Devin 来说却是一个难以逾越的挑战。如果这是一个新招聘的工程师,我们可能不会考虑将其留在团队中。
05
在 Devin 能够顺利完成任务的情况下,其经济效益是显而易见的。目前,500 美元可以购买 250 个 ACU( Devin 的工作量计算单位),而 Devin 完成那些小型任务通常只需要 1-5 个ACU(即 2-10 美元)。如果花几美元就能修复小 bugs,并且每次至少节省一个小时的工作时间,这样的交易无疑是划算的 —— 无论何时,我们都会选择这样做。但问题在于,适合 Devin 处理的任务范围非常有限,这些任务既需要工程师切换工作焦点,又要在 Devin 的能力范围内完成。
当 Devin 无法完成任务时,其经济效益就开始值得怀疑了。我们尝试的三个较大任务平均消耗了大约 20 个ACU,其中有两个任务并没有给出可用结果。虽然 40 美元对于完成这些任务来说非常便宜,但根据我们有限的样本来看,这些任务消耗的 ACU 数量与任务难度并不成正比 —— 它们并不比那些成功的小任务难上 5 到 10 倍。更重要的是,这些任务常常失败,导致我们花费的 40 美元打了水漂。
如果 RunLLM 是一家每月有 50 个以上明确界定的小错误需要 Devin 修复的大公司,情况可能有所不同。但事实上,我们已经让 Devin 尝试了大部分它能够成功的任务。
简而言之:对于那些 Devin 能够完成的任务,为之支付费用是绝对没有问题的。但当 Devin 无法完成任务时,你会因为资金浪费而感到失望。
06
AI 软件工程师的前景无疑是光明的,我们大力支持这种模式:将部分工作交给 AI 处理,从而让我们可以集中精力处理更为关键的事务。从用户体验的角度来看,Devin 确实能够有效地支持这一过程。
然而,就像 AI 领域的许多创新一样,这目前仍处于起步阶段。我们很乐意尝试使用 Devin,但我们的看法是,它尚未达到初级软件工程师的水平。Devin 擅长处理那些一个人大概需要一个小时就能解决的、定义明确的任务。一旦超出这个范围,结果就会大相径庭。
我们坚信 Devin(及其底层技术)将会不断进步,随着技术的成熟,它实现这一承诺(能够像一名初级软件工程师那样工作)的能力也将不断提升。就目前而言,软件工程师们还不需要担心会因此失去工作,这一天还有很长的距离。
Thanks for reading!
Hope you have enjoyed and learned new things from this blog!
About the authors
Vikram Sreekanti
Co-founder & CEO of RunLLM
Joseph E. Gonzalez
Professor at UC Berkeley and Co-Founder at Run LLM
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-09
WorkBuddy与ERP集成协同落地实施方案
2026-07-09
大圆实测 : 你真的需要一个长在企业微信中的AI
2026-07-09
别再让员工围着 SaaS 转了:企业服务需要的是数字员工
2026-07-09
企业微信的 AI 助理「大圆」,和「小微」不太一样
2026-07-08
不要把 AI 做成“一个会很多事的人”
2026-07-08
把业务流程沉淀成高质量 Skill 的实践路径
2026-07-07
Loop Engineering 实战:实现从日志扫描到预发部署的全自主闭环
2026-07-02
AI 到底在淘汰谁?一边裁掉 12 万人,一边疯抢 12 年老兵和 24 岁创始人
2026-04-24
2026-06-08
2026-05-15
2026-05-15
2026-04-23
2026-05-06
2026-05-05
2026-05-11
2026-05-20
2026-05-27
2026-06-24
2026-06-24
2026-06-23
2026-06-17
2026-06-10
2026-06-08
2026-05-29
2026-05-27
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。