30 秒看懂
Matthew Berman 回顾 Cognition 在 2024 年 3 月发布 Devin 的情况,质疑其“首个”同类产品的宣传,同时称赞集成工作区和演示。他考察了从调试、模型微调到一项与 Upwork 相关的任务等例子,并讨论为什么需要谨慎理解报告中的基准比较。
- 1编程智能体工作区Scott Wu 的发布视频展示了在集成环境中进行规划、阅读文档、调试和制作网站。
- 2“首个”产品的营销Berman 在称赞 Devin 界面的同时,指出此前已有编程智能体。
- 3微调语言模型公司演示展示智能体遵循 QLoRA 仓库的说明,启动 7B 模型训练任务。
- 4SymPy 调试实例Cognition 的演示者展示智能体复现并修复一个对数问题,然后运行测试。
- 5SWE-bench 的限定条件Cognition 报告的 13.86% 结果使用随机子集,其辅助条件和工作流程与展示的基线不同。
要点建议
- Cognition 在 2024 年发布 Devin 时,将 shell、编辑器、浏览器和规划器整合进一个编程智能体工作区。
- 此前已经存在编程智能体项目,因此公司所称的同类“首个”属于营销说法。
- 精选演示展示了工作流程,但并不能独立证明在真实任务中的可靠性或客户接受情况。
- Cognition 报告的 13.86% 成绩来自 SWE-bench 随机抽取的 25% 子集,辅助条件和智能体设置与展示的基线不同。
- 画面中的演示没有证实具体的底层模型和代码仓库导航方法。
按章节阅读整理后的全文
发布及其背景
Berman 介绍 Devin,并质疑它是同类首个产品的说法。Scott Wu 的公司演示展示了一个使用开发工作区的智能体。
Cognition 推出了 Devin,并将其宣传为首个 AI 软件工程师。发布演示给我留下了深刻印象,但我质疑“首个”这个词:GPT Pilot、MetaGPT 和其他编程智能体项目此前已经在探索类似的工作流程。本视频回顾的是 Cognition 在 2024 年 3 月展示的演示和发布时的说法。
在 Cognition 的介绍视频中,首席执行官 Scott Wu 要求 Devin 对不同 API 提供商的 Llama 服务进行基准测试。他介绍了计划、包含 shell、编辑器和浏览器的开发环境,以及智能体阅读文档的过程。在经过剪辑的演示中,Devin 遇到错误、添加诊断输出,并构建网站展示结果。

Wu 表示,系统的推理和规划能力让这一工作流程成为可能,同时承认这是一个困难问题,工作仍处于早期。公司挑选的演示说明了一种可能的流程,但仅凭它无法确定系统完成具有代表性的各类工作的可靠程度。
我将 Devin 与 GPT Pilot,也就是通过 Pythagora 为人所知的项目,以及我见过的其他项目进行比较。我的观点是,即使界面和执行看起来很精致,工作流程中的某些部分并不新颖。要公平比较这些产品,需要在相同任务和条件下进行测试。
Cognition 报告称,其获得了由 Founders Fund 领投的 2100 万美元 A 轮融资。我认为,这些支持和宣传,以及一段广泛传播的 Wu 回答数学竞赛问题的视频,都帮助扩大了发布的影响力。这些是我对关注度的观察,并不能证明融资或走红视频能说明产品性能。
工作区与早期演示
Cognition 突出展示界面,并演示图像生成、网站制作和调试。Berman 将这些例子与普遍可靠性的证明区别开来。
公司的[发布文章](https://cognition.com/blog/introducing-devin)将 Devin 称为全自主软件工程师,并介绍了规划、上下文处理和纠错能力。考虑到此前已有编程智能体,我认为“首个”是营销说法。其展示方式的一大特点是将 shell、编辑器、浏览器和规划器放在同一个工作区中。
一个演示从一篇关于在图像中隐藏文字的博客文章开始。用户要求 Devin 配置相关功能;剪辑后的视频显示,智能体阅读网页、制定计划、安装依赖并生成图像。我喜欢这个请求看起来只需要很少的指令,同时也认识到,精选示例无法衡量它处理任意博客的成功率。

我曾推测这个系统由 GPT-4 驱动,并讨论了早期产品无法选择本地模型或其他提供商的情况。演示并未确定其具体的底层模型配置,因此我的说法不应被视为已经证实的架构。产品访问方式和模型选择也可能发生变化。
在另一个演示中,用户要求制作一个基于 Conway 的 Game of Life 的个人网站。Devin 提出澄清问题、制作一个版本、接受修改要求,并部署一个初始图案拼出其名字的页面。我特别喜欢对话和开发工具同时显示的方式,尽管其他助手也能提出问题并修改代码。

一个调试例子使用现有代码仓库,编写并扩展测试、找到失败案例,使用诊断性打印语句,再进行修复。片段中的工程师说,之后测试通过了。这些演示展示的是特定工作流程,并不能证明智能体理解或能可靠修复每一个大型代码库。
我想知道 Devin 如何找到相关代码,并推测它可能使用索引,或者把一个小仓库放进模型上下文。这些都是猜测:视频没有证实系统使用哪种检索技术。评估编程智能体演示时,代码仓库的规模和复杂程度都很重要。
微调与代码仓库修复
公司演示展示了 QLoRA 训练环境配置、问题修复以及 SymPy 调试任务。Berman 讨论能从片段中推断出什么,以及不能推断出什么。
接下来的例子中,一位 Cognition 演示者要求 Devin 使用 QLoRA 仓库微调一个 70 亿参数的 Llama 模型。智能体阅读说明、安装依赖并处理环境问题。QLoRA 是用于量化模型的参数高效微调方法,并不能证明智能体发明或从头训练了底层基础模型。

演示显示,在解决软件包和 CUDA 问题后,训练任务运行并报告损失值。这是配置并启动任务的一个例子;片段没有独立证明得到的模型质量,也不能证明在其他环境中每个问题都能得到处理。
另一个任务要求 Devin 为 GitHub 问题准备修复,但不要提交或推送。智能体确认该限制后开始修改。这突出了指令和权限如何影响编程智能体的工作流程,也说明人类为什么应审查拟议的变更。
Cognition 的 Neal 演示了一个 SymPy 问题:对分数取对数时产生了错误的无穷大结果。他表示,Devin 复现问题,通过诊断输出定位到整数除法这一原因,修改计算方式并运行测试。公司将这个例子描述为 SWE-bench 的一个问题。

我觉得这个例子很有意思,但要提醒大家:可见的修改似乎集中在一个文件中。我无法从剪辑后的视频确认所有依赖关系,而且成功修复一个仓库的问题,并不能证明它广泛理解所有大型代码库。这个演示只能作为画面所示案例的证据。
我想把对“首个”标签的批评与对这项工作的批评区分开来:我认为演示和界面令人印象深刻,也预计 AI 会改变编程工作。对就业的影响是一种预测,并非这次发布已经证实的结果。
自由职业实例与基准结果
Cognition 的演示者展示了一个基于 Upwork 工作的计算机视觉任务。Berman 回顾 SWE-bench 分数,并希望在类似条件下与其他智能体比较。
Cognition 的 Walden 展示了一项基于 Upwork 工作的计算机视觉任务。在公司演示中,Devin 配置代码仓库、处理依赖问题、运行道路损坏模型,并生成示例输出和报告。视频没有独立验证是否获得付款、客户是否接受,或是否完成了原始工作的每一项要求。
Walden 介绍说,智能体使用打印语句和反复运行来追踪错误并作出修改。这是公司演示中的一个说明性流程;它没有展示所有尝试、人工介入情况,也没有给出真实自由职业工作中的失败率。
Cognition 报告称,Devin 在没有被告知需要编辑哪些文件的情况下,端到端解决了从 SWE-bench 随机抽取的 25% 子集中 13.86% 的问题。发布文章将其与此前报告的无辅助 1.96% 和提供待编辑文件时的 4.80% 进行比较。这些是公司报告的 2024 年基准结果,并非当前对整体软件工程能力的衡量。

画面中柱状图的脚注说明,其他展示的模型获得了待编辑文件的提示,而 Devin 没有。我还指出,可以迭代的智能体不能直接与单次模型回答比较。数据集子集和设置差异都很重要;仅凭图表无法确定 Devin 与其他智能体框架相比如何。
我希望看到在相同基准条件下,Devin 与 GPT Pilot、MetaGPT 等编程智能体系统的比较。我在 2024 年的结论是:Cognition 的界面和精选演示很有吸引力,但其同类首创营销和比较说法需要审视。我也更希望有一个开放系统,提供更多模型选择。
同频道的其他文章
34:21EN → 简体中文
0:26EN → 简体中文
0:36EN → 简体中文
0:21EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文