一些关于 Devin 的想法
很多投资人 & 行业内朋友都来询问怎么看待 Devin 这个产品,发布的第一时间就有关注,并且自己也在 building developer tools,所以来写一些简单的 comments,可能过段时间就打脸。
- 我更倾向于把 @cognition_labs 这家公司看做是一家类似于 DeepMind 的研究型公司,而不是商业型公司,这两种公司的目标和愿景是不一样的;
- Devin 发布的演示视频很惊艳,能够处理一些基本的 GitHub Issue,甚至能解决 Upwork 上实际的问题,但是对于更复杂的场景能够解决得多好现在还是未知的 (目前还没有拿到测试资本),SWE-bench 13% 的指标还是不能直接用在生产环境上 (无干预情况下);
- 软件开发是一个复杂的系统性工程,实际的 coding 其实只占其中的很少一部分,理解需求、生成代码、Debugging、优化、部署等等涉及到非常多的环节;
- Devin 演示的一个亮点是,它所展示的决策树很长 (按照 blog 中提到能有上千个决策节点),这个要求底层模型有非常强的 reasoning 能力和 long context window,目前看起来 Devin 应该并没有 train 自己的模型 (或者说只是在 reasoning 的某些环节使用了 finetune 的模型),核心的 reasoning 能力可能还是基于 GPT-4;
- Devin 的演示中遇到了很多出现 error 需要 debug 的情况,这个相当于是在决策树中需要回退到某个节点,选择其他路径中的某一条,如何判断哪条路径后续是正确的?Devin 在演示的过程中有一个 keyError,解决的办法是添加一个 try catch 来捕获这个 error,这条决策路径不一定是对的,比如说如果前置的代码里面已经有这个 keyError 了,那么后面再捕获这个 error 就没有意义。如果是人来进行决策,就会对可能的清况有一个更详尽的分析 (或者说直觉);
- 抛开各种营销号吸引眼球的标题,现在来说 Devin 代替开发者还太早,不过自动驾驶 Day 1 也不是能直接上路驾驶的,L5 级别的自动化软件开发一定是终局;
- Devin 在用户交互上提供了一些新的探索,不再是调用外部的工具,而是自己维护了一套系统内的 shell, code editor, browser,这样的好处是可以自定义一套 DSL 来操作这些工具。但是如果考虑到现阶段没有办法实现完全的无干预 coding 的话,这套方案是和现在的整个 development workflow 脱离的。
---
一些私货:
- @devv_ai 最开始的愿景就是 Redefine development tools and achieve L5 level of automated software development. 为什么没有选择直接做一个 automated coding agent,就是因为当前的技术还不满足构建一个能够在生产环境使用的 coding agent,作为一家商业公司,这个路是很难直接走通的。Devv 的方法是先选择能够落地的、开发者日常最高频和刚需的信息检索这个场景去切入;
- Devv Agent 当前的目标也不是做一个完全 automated 的 agent,而是在更好地辅助开发者去解决开发流程中遇到的问题,本质上还是在 copilot。