Scott Wu · Cognition(Devin)联合创始人兼 CEO

No Priors 第 62 期:Cognition CEO Scott Wu 谈 Devin

2024-05-02 · No Priors (Sarah Guo & Elad Gil) · 29m · 原文链接

→ 在 AI 访谈库中阅读(可切换中英、记录进度)
Devin 发布初期的对谈:为何把产品 UI 设计成'从背后看另一位工程师干活'的体验,以及自主软件工程师的定位与边界。看点:Scott 给出反直觉判断——Devin 会让世界上的人类工程师变多而非变少。

嗨,听众朋友们,欢迎收听 No Priors。今天我们邀请到的嘉宾是一位非常优秀的人类软件工程师,也是 Cognition 的联合创始人兼 CEO Scott Wu。Cognition 团队自称为一家专注于推理的 AI 实验室,最近他们发布了一段 Devon 的演示——这是一款 AI 软件工程师,能够越来越多地处理完整任务,并在 sbench(一个基于真实世界 GitHub issue 的软件工程基准测试)上取得了领先成绩。这段演示轰动全网,至少在 Tech Twitter 上是这样,因此我们非常期待与 Scott 交流。欢迎 Scott。嘿,很高兴来到这里,谢谢邀请。你从小就开始编程,还参加竞技编程比赛。最初是什么让你对编程产生兴趣的?其实我从小就非常喜欢数学。我哥哥 Neil 是最先带我接触编程的人,我记得大概九岁左右学会了编程,然后就爱上了它。我觉得能把想法变成现实,这件事总是让我非常兴奋。我在学生时代参加了很多数学和编程竞赛,到高中毕业时,我已经非常确定要走科技这条路。能给我们的一些可能不太熟悉的听众解释一下 IOI 是什么吗?当然。IOI 是国际信息学奥林匹克(International Olympiad of Informatics),本质上就是编程界的奥林匹克。它和其他奥林匹克竞赛一样,每个国家都会派出最优秀的程序员组成国家队参赛。这是一场竞技编程比赛,会颁发金牌、银牌、铜牌等等。它的核心思想是非常算法化的问题解决:你会被分配一些任务,必须找出最优算法,然后把它们实现成代码。对于一个曾在 IOI 达到世界级水平的人来说,竞技编程的练习过程一定很有趣。为了变得更强,你们平时是怎么练习的?我小时候,编程和数学竞赛几乎就是我生活的全部。那是我洗澡时都在想的事情,是我花掉所有时间的事情。基本上,生活中遇到的每一个问题,我都会用算法的视角去拆解它。而且和很多其他领域一样,很大程度上就是投入大量努力,愿意进行非常分析性的思考,对自身不足极度坦诚,专注于那些做得不好的地方,不断推动自己进步。那么,这是一个已知领域和算法的集合,还是说它更关乎学会非常好地以算法方式解决问题,而每场比赛都可能是全新的问题或领域?确实有一些标准算法存在,比如最短路径、二叉搜索树之类的。所以掌握基础非常有帮助。但比赛的核心在于,每一道题都是完全独特的,都是从未出现过的新问题。比赛本身的魅力就在于你所进行的创造性问题解决:在于你如何运用这些基础模块,把问题归约为最短路径问题,或者如何修改某些算法以适应不同的使用场景。我觉得现在有一代人,某种意义上把互联网当成了自己的故乡。他们早期接触的社群或互动对象很多都来自那个世界,我觉得今天 AI 领域的很多人就是这样。IOI 社群也是如此吗?主要是在线互动、与陌生人交换技巧并结为朋友之类的?如果是的话,这对你的职业生涯、生活以及与他人的合作方式产生了什么影响?确实如此。我在路易斯安那州的巴吞鲁日长大,那里没有太多和我有同样数学与编程兴趣的人。所以这些竞赛是我第一次有机会遇到很多志同道合的人。竞赛每年一次,也许还有训练营之类的活动一年几次,但一年中的绝大部分时间,我们都在线上交流。我们有自己的社群,讨论竞赛题,也……是的,我们也因此成为了非常亲密的朋友。这是一个极其聪明的社群,至少在最高竞技水平上是这样。你之前说过,竞技编程与创业的共同点可能比外人初看之下要多,因为它作为一项竞赛看起来非常结构化。但我们之前相识的原因之一是,你和一个我早年投资过的人从高中起就非常熟,而且我最近才发现你和 Alex Wang 好像初中就认识了。哇,是的,那是一个非常非常紧密的圈子。说实话,那群人中的很多人都成了创始人,很多人进入了 AI 领域。看到这一切很酷。我认为肯定有重叠。当然,是更微妙的重叠。显然,你不是真的在用最短路径算法去创办公司,但很多底层构造和原则是相通的。我一直在思考的一个很重要的事情是,很多非常棒的数学或编程问题其实都在问:你有哪些习以为常的假设,其中哪一个可能其实并不成立?很多非常难的问题和非常有趣的问题,都关乎找到一个你一开始根本不会直觉想到的创意解法。我觉得创业也是如此。我认为打造一家伟大的创业公司,很大程度上在于找到一件全世界还不相信、但实际为真的事情。学会独立思考,用第一性原理的思维方式去处理问题。当然,和任何领域一样,如何真正推动自己成长、持续进步,也有很多共通之处。你提到的很多内容似乎深刻影响了你最终在 Cognition 所做的事,以及 Devon 的研发。因为当你发布 Devon 时,很多人看到了他们认为今天不可能存在的行为,而很多人还在等待下一个 LLM 或基础模型的阶跃式提升才能达到那个水平。你能多介绍一下 Cognition 吗?Devon 是什么,它是如何工作的,以及你如何在重新思考今天可能性的语境下看待它?

Cognition 大概是在去年十一月成立的。创始团队中的很多人其实都来自我刚才提到的数学和编程竞赛社群。我们都有过这样的背景,但此后每个人都在 AI 领域走出了自己的道路。比如我创办了一家叫 lunch club 的机器学习公司,经营了大概五年。团队里我的联合创始人 Walden,早期参与搭建了很多 Cursor 的工作。另一位联合创始人 Stephen 是 Scale AI 最早期的工程师之一。我们整个创始团队差不多都是这样:从小热爱数学、编程和解决问题,但在过去五到十年里,又在不同的 AI 和 AI 基础设施公司历练过。一方面,代码在我们心中有着非常特殊的地位;另一方面,我也确实认为代码能做很多事情。我甚至会说,过去二三十年世界的大部分进步都来自软件。仔细想想,实际上每个人、每个地方都需要更多的软件工程师,而不是更少。每家公司都在招聘更多软件工程师,每个人都有太多想法,却没有足够时间去实现。我们真的觉得,加速代码编写的节奏有很大的空间。对于还没看过演示的人来说,你能描述一下 Devon 现在能做什么吗?当然。Devon 是一个 AI 软件工程师。我的意思是,Devon 能够像人类软件工程师一样完全自主地做出所有决策。所以,显然编写和编辑代码是其中很大一部分,但此外,它还能使用命令行、使用浏览器、阅读文档、部署、测试、调试等等——所有这些 Devon 都是自主完成的。你可以给 Devon 一个简单的提示,告诉它你想构建什么,然后 Devon 就会端到端地完成整个过程。你也可以与 Devon 互动,你能看到它在看什么、在做什么,并给出反馈。它的设计非常像是你站在另一位工程师身后,看他们在做什么,并引导他们或给出反馈。

Devon 和 Cognition 在网上和公众讨论中得到了什么反响?你认为人们如何解读你们发布的产品?看到大家对 Devon 的各种反应真的很有趣。我们获得的关注远超预期。说实话,看到我以前初中时的数学视频又在 Twitter 上到处传播,还挺不可思议的。但看到这种反响很棒。和任何事情一样,显然也混杂着不同声音:有些人持怀疑态度,说“这绝不可能工作”;也有人说“哇,我们都会失业的”。你认为工程作为一类工作未来会消失吗?我们显然对 Devon 非常兴奋,但我认为,如果非要说什么的话,未来只会有更多工程师,而不是更少。我有两个原因。第一,市场对工程的需求太大了,甚至有很多我们平常不会想到的方式。很多人用 Excel,或者用各种工具,某种程度上就是因为编程很难。我认为有太多问题可以用代码解决,有太多东西可以用代码构建。我认为让每个开发者效率倍增,最终会带来更多开发者,而不是更少。另一个原因是,Devon 绝不是那种会决定“做什么”的角色。核心问题始终在于,你如何决定到底要构建什么、解决什么问题,或者具体的功能应该如何运作。与其说完工程会消失,不如说工程实际上变成了一个更纯粹的、关于这些问题的抽象。我认为今天普通软件工程师可能只花 20% 的时间思考这些根本性的问题,80% 的时间把它们写成代码。而未来他们能做五倍的事,能把全部时间花在创造性的问题解决上。这正是让我们兴奋的地方。作为一个粗略的类比,我会想到以前的人类计算员。你可能不想让人去做那种工作,而它让你能扩展成能力更强的人类。我对 AI 的核心乐观态度之一是,它实际上非常民主化。我们触达了很多以前负担不起的各类活动的需求——软件不符合人们想要的工作流,或者质量不够,或者精细度不足……有无数这样的事情。所以我对这一点非常兴奋。确实,这在各处知识工作中基本上都是如此。有太多事情要做,太多问题要解决。我认为让每个人都能做更多,只会帮助我们所有人加速前进。我觉得这个产品最有趣的一点之一是,现在有更多公司向我展示类似 Devon 的 UI。以前很多人构建 agent,你启动 agent,它跑开,30 分钟后带回一个你不满意的结果。而在 Devon 的案例中,因为很多 agent 几乎像非常 eager 的实习生——有意愿去构建你想要的东西,但有时它会偏离正轨,而把它拉回正轨的能力非常重要。在 Devon 的语境下,我觉得很有趣的是你们设计了那四个标签页:规划——这是我们要做的,然后逐项勾选;shell;代码;浏览器——显示它在与外部世界交互的位置。我认为这是一个非常强大的范式。所以我有点好奇,这种设计的灵感是什么?是你们真的把它想象成“站在别人身后看”,还是有其他东西启发了这个 UI?我觉得这个范式现在也开始在其他领域流行起来了。是的,我觉得这个领域的好处之一在于,某种程度上我们是在为自己构建产品,而我们自己显然都是软件工程师,我们平时自己也一直用 Devon 来完成工作,包括在开发 Devon 本身的时候,逐个环节地弄清楚,要想和 Devon 高效协作,需要我们这边做什么。就像你提到的,如果一个 agent 是你给它任务,然后它跑开去做,那它基本上只有一次机会把所有事情完美做完。但如果你带的是人类实习生或初级工程师,他们一天做项目的过程中,你会检查四五次,快速花 30 秒反馈一下进展。一方面这能帮助他们学习很多,另一方面这也意味着他们仍然能在这段工作时间里产出非常有价值的工作。而且显然,这样做比你自己做所有这些环节要快得多。我认为我们是倒推的——从我们觉得合理的交互方式出发,从我们希望如何与一位 AI 编程队友互动出发,然后从技术角度思考如何让这些环节运转起来。今天的 Devon 相比人类软件工程师,哪些方面更强,哪些方面更弱?这如何改变你们内部使用它的方式?百科全书般的知识显然非常有用。说实话,在 devops 和开发环境配置方面,我觉得它很强。devops 对人类来说其实挺难的。我们最早一个激动人心的时刻是:我们想搭一套数据库、把 Kubernetes 跑起来之类的,搞了一个小时还卡在各种调试错误和 stack trace 里。我们就跟 Devon 说:嘿,你能把这个搭起来吗?然后告诉我们你是怎么做的,因为我们现在搞不定。结果 Devon 真的做到了。那是我们最早感到激动的时刻之一。我认为那种逐步推进的流程——编辑、操作、实时运行命令、查看报错、比如端口有没有开、是不是要装某个包——这些在 agent 工作流中运转得非常好。所以这是一个很大的优势。另一个很大的优势是数据分析。我们见过很多这方面的用例。通常你要先从网上找到合适的数据集,或者拉一个 CSV 文件,然后清理数据,再跑具体的分析,再可视化。能够让 agent 从头到尾完成这一切,是另一个非常好的使用场景。至于更弱的方面,Devon 绝不是那个决定“要做什么”的角色。我们非常把 Devon 看作:你提供对想要构建的东西或想要完成的事情的精确描述,而 Devon 负责深思熟虑地执行它。所以你不可能直接走到 Devon 面前说:嘿,给我打造一家伟大的公司,或者给我造个什么什么。因为 Devon 的核心在于理解如何把精确的想法真正落实成代码,并完成整个测试、调试、安装包、部署等流程。关于它是如何工作的,在基础模型层和周边系统分别发生了什么,以及你们如何投入改进,你能透露多少?很遗憾,我没法透露太多技术细节。这显然是我们投入最多精力的领域之一。但我认为很大程度上在于理解问题的接口,以及理解如何为我们正在解决的问题做精确的优化。我举一种理解方式:假设你拿到一个 issue,一个 GitHub issue,你需要解决它,比如要修复某个 bug。当然存在一种视角:你可以把整个代码库都输进去,从 bug 直接推断出需要做的 diff,用纯文本写出那个 diff。理论上,某种完美的智能,无论是人类还是 AI,都能做到这一点,因为它能完全理解状况并知道该修复什么。但我认为,对今天的人类而言,实际上也更清晰的路径是:你自己运行代码,复现 bug,加调试语句和 print 语句,再运行,查看日志,去 Stack Overflow 查,做所有这些事。而我们解决的很多问题就是,如何让 Devon 以这种方式思考、以这种方式做决策。所以规划和评估是我们花时间最多的地方。你认为这一切会如何演进?比如,展望一到两年,也许五年:你认为有多大比例的代码会由 Devon 这样的 agent 编写?软件工程师的工作方式会发生什么变化?短期和长期分别会怎样?长期来说,比如五到十年的视角,我认为我们现在所说的“软件”本身会发生很大变化。我们把 Devon,或者说我们正在构建的这一整套体系——我们在内部也常简称 Dev——看作下一代人机交互界面。十年后人们回头看会觉得,哇,真疯狂,你竟然要学这些晦涩的语言,要处理各种 stack trace,才能和电脑沟通。说到底,今天的软件工程是一门关于如何与电脑合作、让电脑按你意愿做事的学科。我认为软件工程的未来在于,各地的软件工程师可以把全部时间花在真正有趣的部分上:拿到任何问题,弄清楚解决方案应该是什么形态。所有那些考虑边界情况、细节、各种流程、架构的工作——为了解决每一个具体问题该搭建什么样的架构,从问题到精确代码实现的这一步,将由像 Devon 这样的系统来解决。真正令人兴奋的是,市场对软件的需求如此巨大。想想世界上有 3000 万软件工程师,但加总起来仍然只占 0。让那4%的人有能力做得更多,同时也让那么多其他人能够使用软件,这是我们在未来一到两年里非常期待的事情。我认为显然会发生很多更广泛的变革。我确实认为,与AI协作并且非常顺应这一趋势的软件工程师,将很快能够成倍放大自己的能力,做得更多。现在身处AI领域是一个非常有趣的时机,我认为有很多水涨船高的趋势——硬件一直在变得更好,foundation models一直在变得更好,显然我们在agent方面的工作也一直在变得越来越好。所以我认为,是的,这里的进展会相当快。你认为未来最能提升agent的因素是什么?是底层的foundation models,还是推理、记忆形式、self-play,还是别的什么?我只是好奇,从宏观层面来说,即便抛开Devon正在做的事不谈,就agents整体而言,这个领域需要什么才能推动它们前进?说实话,我的诚实答案是以上皆是。我认为所有这些都会很棒。我认为甚至像inference speedups对最终体验也会非常有用。正如你所说,我认为base models中更好的推理能力将会非常非常好。我认为解决其中一些规划问题、更好的tool use等等。我的描述方式是,我认为今天的agents是所有这些因素的结合。从某种意义上看,我认为它们之间存在一点竞赛关系——理论上,一个完美的智能AI不需要其他任何东西,对吧?你只要给它看代码,它就能准确告诉你需要改什么。同时,一个完美的tool user可能也是一个很好的解决方案。我认为我们会看到的是,所有这些都会是水涨船高,而哪些领域取得最大进展,就将决定对agents产生多大影响。你认为五年后,对人类软件工程师或者说对人类技术人员来说,什么会变得重要?我知道在AI领域这已经是很长的时间尺度了,但肯定不再是百科全书式的知识了,对吧?对对。我的意思是,有一个meme说,最热门的新编程语言是英语,对吧?我认为这话很有道理。但话虽如此,我认为软件工程的基础知识显然仍然非常有价值。比如,今天的互联网是我们都能使用并视为理所当然的东西,但那些与这些网络打交道的人,如果能理解TCP的细节,肯定是非常有帮助的。同样,我认为我们将能够用英语交流想法,你会用这些东西工作,但理解计算机内部如何运作、理解逻辑门,以及很多这些核心基础部分,我认为仍然会非常有用。所以,无论是算法、技术,还是逻辑推理之类的东西,我认为五年或十年后,软件工程师的角色看起来会像是今天的技术架构师和产品经理的混合体——你要做很多事情,比如面对你或你的业务遇到的问题,真正思考并拆解解决方案应该是什么。如果把时间线拉得更远呢?因为如果是五年前,我会告诉我的孩子或有孩子的人,你应该学计算机科学和数学。但20年后我就不那么确定了。所以我很好奇你怎么看这个领域的未来,如果大部分甚至全部工作——包括很多规划——在某个时候实际上都由机器完成的话。是的,我的意思是,我喜欢这个问题。我必须说,即使它最终没有实际用处,这也是一段值得的经历。但不,我认为这些基础知识中的很多会在很长一段时间内保持有用。显然,关于super intelligence、Singularity以及所有这些问题,有很多疑问。而且这很难预测。我认为每个AI领域的人都做出了自己的预测,试图猜测,但我认为很难有很高的信心。但话虽如此,我确实认为我们会比那更早看到AI对工作、经济和人们生活的具体影响。我们思考这个问题的方式是,即便用今天已有的工具和技术,也有很多可能性能够真正影响人们的生活。而且我们仍然处于这场AI革命的非常早期。甚至ChatGPT也只是大约一年半前的事,还有很多研究和产品方面的工作要做、要构建。所以我最好的猜测就是这样。我今天——Scott,你知道——和你的一个新员工共进午餐,他说:“在我看来,Scott Wu 会成为最后一个人类软件工程师兼标注员,这很合理。”我当时就想,好吧,如果没有更好的计划,我得让我的孩子们尽可能成为最优秀的数据标注员。哈哈,不不不,我的意思是,我猜良好的推理能力、扎实的基础知识,以及对技术的深入理解,在未来很长一段时间内都会很有用。也许最终会有一个时刻,你可以把所有这些知识上传到你的大脑之类的,然后成为一个完美的理性决策者,我相信那会是一个非常令人兴奋的未来。但基于我们今天所拥有的,我认为很多这些逻辑基础仍将保持相关性。好的,说到这个,我非常欣赏的一点是Cognition创始团队和早期团队的全面实力。你能谈谈你的招聘理念吗?好的,非常感谢。显然,我认为我们的团队非常出色。过去五六个月里,我们一直在认真思考我们要解决的问题有多大。软件是巨大的,它是变革的巨大驱动力,也是一个非常深刻和有趣的问题。事实上,我认为今天团队里的几乎每个人,要么自己以前就是创始人,要么如果不是因为Cognition,他们本来就在明确考虑创办自己的公司。我认为与那些主人翁意识很强、非常有驱动力、更关注结果而非政治之类事情的人一起工作,是非常重要的。除此之外,我认为创造力、职业道德、良好的沟通能力,这些都非常有用。到目前为止,我们主要通过一个非常紧密的人脉网络来招聘,这些是我们非常了解并且合作得很好的人,我们通过这种方式壮大团队。那你们现在有没有特别想招聘的类型?是的,我们一直在寻找非常优秀的工程师和研究人员。我认为我们仍然处于非常早期的阶段,我们要做的事情使命非常宏大。所以我认为,我们主要寻找的是那些出色的技术思考者,他们乐于在业务的多个不同部分工作。从客户、整体战略、研究、工程、产品到所有这些,我们有点什么都做,这在早期创业公司中很常见。所以是的,我们希望能招募更多具有这些特质的人。太棒了,Scott,感谢你的到来。谢谢邀请。感谢邀请我。在Twitter上关注我们:@nopriorpod。如果你想看到我们的脸,请订阅我们的YouTube频道。在Apple Podcasts、Spotify或任何你收听播客的地方关注这个节目,这样你每周都能收到新节目。注册邮件或在no-pri.查找每一集的文字稿。