我们之前讲了Cursor、Blot.new、Replit、Lovable、V0等几个AI编码工具的故事(大家可以向前翻一下相关文章)。本来我已经基本说全了,但是把开发了Devin的Congnition Labs公司给忘了。不过,正好Lenny's Podcast上周发布了与Cognition公司的联合创始人兼 CEO Scott Wu的对话视频,我们可以补上这个缺口。如果说上述其他AI编码产品的主要目标是“人机协作”、“快速原型”、“低门槛开发”,Devin这个产品的定位明显不同。在Devin刚发布的时候(印象是去年3月),Cognition Labs宣称它是“世界首个 AI 软件工程师”,可以像人类一样独立完成复杂的软件开发任务,包括规划、编写、调试、部署代码,甚至能自主学习新技术、修复开源项目 bug、完成真实工作外包平台(如Upwork)上的开发任务。用人话说,就是在某些任务中独自工作,无需人类参与。不过,产品Demo发布后,有很多开发者和技术博主仔细分析官方演示后发现,Devin在 Upwork上完成的任务与实际客户需求并不一致,AI未能完全理解或满足真实需求,而是“自说自话”地完成了部分无关任务。据theregister今年一月份的一个报道,有独立研究者(如 Answer.AI 团队)实测发现,Devin在真实复杂任务中的成功率远低于宣传。例如,在他们的20个测试任务中仅成功3个,失败率高达70%。今年4月,Cognition推出了一个AI代码知识库工具,在开发者社区口碑又极佳。DeepWiki的核心功能是一键生成代码百科:只需将任意 GitHub 公共仓库的链接中的“github”替换为“deepwiki”,即可访问该项目的 AI 生成百科页面。例如,把 github.com/owner/repo 改为 deepwiki.com/owner/repo,几秒内就能看到结构化文档、架构图、模块说明等。说回到Congnition这个创业团队。Cognition Labs成立于2023年11月,总部位于旧金山司。公司由三位国际信息学奥林匹克(IOI)金牌得主--Scott Wu、Steven Hao 和 Walden Yan 共同创立(应该是华裔班底了)。最初,Cognition曾涉足加密货币领域,但在 ChatGPT 推出后,硅谷AI浪潮兴起,Cognition果断转型,专注于AI。不过就算换赛道到AI,产品也不是一蹴而就,在访谈中,Scott说产品已经转型了八次。这个可就太正常了,我采访过很多CEO,公司能一直坚守最初商业计划书路线的可太少了。所以就有很多风险投资说,投资其实不是投项目,是投人。一、Devin:不仅仅是代码助手,更是自主的AI软件工程师对话首先明确了Devin的定位。ScottWu强调,Devin与市面上其他的AI编程工具不同,它并非简单的代码补全或建议工具,而是一个能够端到端自主完成软件工程任务的“工程师”。可以把它想象成一位远程初级工程师,你可以像与真人同事互动一样,通过Slack、Linear或GitHub等平台与Devin协作。Scott指出,Devin的核心在于其完整的异步工作流。你可以直接在Slack讨论某个问题时@Devin,或者在项目管理工具Linear中将任务指派给Devin。Devin会理解任务需求,自主规划并执行,最终在GitHub中创建拉取请求(PullRequest,PR)。这种交互模式被设计得尽可能贴近真实团队中与初级工程师协作的体验。Scott回顾道,大约一年前Devin刚推出时,其能力更像是“高中计算机学生”或“大学实习生”的水平。当时,业界对于AI“代理”(Agent)能否真正实现自主工作还普遍存疑。那时的大语言模型,在推理能力上还处于比较初级的阶段。然而,在过去的一年里,随着模型能力的飞速发展,特别是高算力强化学习范式的突破,Devin的能力得到了显著提升,如今已达到“初级工程师”的水平。不过,Scott也强调了“锯齿状智能”(jagged intelligence)的概念,即AI在某些方面远超人类,而在另一些方面则远逊于人类。因此,过去一年的工作不仅在于提升Devin的核心编码和推理能力,同样重要的还有打磨产品界面和交互方式,探索人类如何与AI代理高效协作。这包括增加Slack、GitHub、Linear集成,引入交互式规划阶段,以及允许用户介入修改Devin生成的代码等功能。如何让用户顺畅地将任务委托给Devin,并与之有效互动,是Cognition团队持续探索的核心课题。二、Cognition的内部实践:工程师与Devin协同工作的新范式自然既然公司是干AI编码的,团队里就不应该有太多人了。Scott Wu说整个工程团队仅有大约15名工程师,但他们在构建Devin的过程中大量使用Devin自身。据Scott介绍,团队中的大多数工程师,在日常工作中常常会同时与多达五位Devin协作。这种异步工作方式允许工程师将多个任务并行处理。比如,工程师可以同时将五个不同的任务或问题分配给五个不同的Devin。当工程师在梳理问题、处理功能请求、修复Bug或构思新功能时,会自然地发现许多可以委托给Devin的环节。他们会简单地@Devin,说明情况,然后让Devin接手处理。Devin每月会将数百个拉取请求合并到Devin自身的产品代码库中并投入生产环境。目前,由Devin提交的PR数量大约占到了公司总PR数量的四分之一。Scott预测,到今年年底,这一比例有望超过一半。这是一个指数级增长的趋势,因为团队不仅在提升Devin的能力,也在不断优化与之协作的工作流程。这种协作并非完全放任自流。有时,Devin能够100%自主完成任务并提交PR,工程师只需审核合并即可。但在更多情况下,工程师需要在关键节点介入,提供指导。例如,在任务范围界定、功能架构设计,或者对最终产出(如前端界面)进行主观评估和微调时,工程师的专业判断和反馈至关重要。目标是让工程师聚焦于那些真正需要人类智慧和经验的部分,而将大部分执行层面的工作交给Devin。Scott形容这种模式为“赋能”和“放大”(multiply)。一方面,它放大了单个工程师的生产力,使其能同时管理一个“Devin小队”;另一方面,它也放大了整个团队的知识库。因为Devin在与团队中每一位成员协作的过程中,会不断学习和积累关于代码库、技术栈和工作流程的知识,并将这些知识应用于新的任务中。这里向非技术读者多解释一下术语PR,它是Pull Request的缩写,中文可以翻译为“拉取请求”,它代表了一系列提议的代码更改。在软件开发中,尤其是在使用像 Git 这样的版本控制系统(通常托管在 GitHub、GitLab 等平台上)进行协作时,PR 是一个核心概念和工作流程: 1、提出更改:当一个开发者(在这个语境下,是 AI 工程师 Devin)完成了一部分代码编写工作(比如修复了一个 Bug、增加了一个新功能或对现有代码进行了优化),他们不会直接修改主代码库(生产环境的代码)。2、创建PR:相反,会创建一个 Pull Request。这个 PR 包含了他们所做的所有代码修改,并请求项目的维护者或其他团队成员来审查这些更改。3、审查与合并:团队成员会审查 PR 中的代码,提出意见或批准。一旦批准,这些代码更改就会被“合并” (merge) 到目标代码库(比如主分支或生产环境分支)中。三、Devin的起源:从编程竞赛到AI代理的探索之路Devin的诞生并非一蹴而就,而是Cognition创始团队长期积累和多次探索的结果。ScottWu分享道,团队的核心成员大多相识多年,许多人来自竞争性编程(Competitive Programming)和数学竞赛背景。虽然这是他们首次正式共事,但过去十年间一直保持着紧密联系。所以,这是打比赛互相认识的团队。在创立Cognition之前,团队成员各自在AI领域有着丰富的经验。Scott本人创立并运营了AI职业社交平台LunchClub达五年之久。联合创始人Steven是ScaleAI的早期工程师,另一位联合创始人Walden则是AI辅助编程工具Cursor的早期工程师。团队其他成员也曾在Nuro、Waymo等知名AI公司任职,或创办过自己的YC孵化机器学习工具初创公司。大约在2023年底,这群对技术充满热情的伙伴决定携手创业。他们坚信两个核心趋势:一是强化学习将是AI能力实现下一次重大飞跃的关键范式;二是产品体验将从简单的文本补全转向更强大的AI代理(agents)。Scott解释说,早期如ChatGPT等模型主要基于模仿学习(imitationlearning),即通过学习互联网上的海量文本来模仿人类的语言模式。这种模型虽然知识渊博,能通过图灵测试,但在执行复杂、多步骤的任务方面能力有限。而RL范式,特别是高算力RL,允许AI通过试错来学习:执行任务、获得关于结果正确与否的反馈,并利用这些反馈来改进策略。编码领域之所以成为Cognition的切入点,原因有二:首先,团队成员都是编程爱好者,“教AI编程”本身就极具吸引力;其次,代码天然拥有自动化的反馈闭环——你可以运行代码、进行测试,这为RL提供了理想的训练环境。同时,团队预见到,用户与AI的交互将不再满足于像GitHub Copilot那样的文本补全模式。未来属于能够理解复杂指令、与真实世界工具交互、接收反馈、迭代优化并自主决策的AI代理。有趣的是,Cognition的最初尝试并非直接构建软件工程师,而是在一个“黑客松”(hackathon)氛围中,让AI解决编程竞赛题目。他们在感恩节期间租了一个Airbnb,聚集起来,探索如何利用代理循环(agenticloop)来提升解题能力。这个项目为后续Devin的诞生奠定了基础。尽管大方向明确(编码+代理),但Scott坦言,在找到如今Devin的具体形态之前,团队经历了大约八次内部方向调整(pivot)。例如,最初的Devin只是接收任务然后输出完整代码,缺乏交互性;后来才逐步演化出让用户可以随时介入、审阅计划、共同确定任务范围等协作功能。整个过程充满了不断的迭代和学习。一个显著的特点是,Cognition选择给他们的AI工程师取名为“Devin”,并鼓励用户将其视为一个“人”,至少是一个协作者。这与其他AI工具通常采用功能性或品牌化名称的做法形成了鲜明对比。Scott Wu表示,这是团队引以为傲的一个产品决策。这个决策背后的逻辑在于,Devin的核心价值在于其自主性和能够被“委托”任务的能力。将Devin定位为一个“初级伙伴”(juniorbuddy),有助于用户更好地理解和利用它的工作模式。Scott提到,在产品早期,许多用户会对如何与Devin互动感到困惑。有些人会直接抛出非常宏大、模糊的任务,比如“对整个代码库进行大规模重构”,这显然超出了一个(即便是AI)初级工程师的能力范围。通过将Devin类比为初级工程师,Cognition引导用户采取更符合现实协作逻辑的方式:循序渐进地引入:就像对待新入职的真人同事一样,先让Devin从设置开发环境、熟悉代码库开始。从简单任务入手:先分配一些小任务(比如“1个故事点”的任务),让Devin逐渐熟悉项目。提供必要的支持:确保Devin拥有运行代码、测试、使用Linter或CI/CD工具所需的权限和环境。异步协作:鼓励用户同时启动多个Devin处理不同任务,并在需要时才介入提供反馈或调整方向,而不是全程同步监视。Scott认为,“Devin”这个名字恰当地捕捉了这种产品理念的精髓:它是一个你可以委托任务、与之协作、并随着时间推移共同学习和成长的自主实体。这种拟人化的设定,不仅关乎品牌形象,更深层次地影响了用户预期和交互模式的建立。当然,Scott也风趣地补充道,与真人同事不同,Devin总是充满热情,乐于接受任务,并且从不抱怨范围变更。不知道大家还记得吧,我们之前发Linkedin创始人访谈的时候,霍夫曼说不要让AI拟人。但是这里的Devin反而要拟人。所以AI是一个新兴创业流派,到底该怎么做,并没有统一结论。五、软件工程的未来:从“砌砖工”到“架构师”的转型访谈的核心议题之一是AI对软件工程行业未来的深远影响。ScottWu对此持乐观态度,他认为,随着AI能力的增强,编程非但不会消失,反而会变得越来越重要。他将软件工程的本质定义为“告诉计算机做什么”,而AI正是让这种“指令传达”变得更强大的工具。Scott提出了一个核心观点:AI将推动软件工程师的角色从“砌砖工/泥瓦工”(bricklayer)转变为“架构师/建筑师”(architect)。他解释说,目前软件工程师大约只有10%的时间用于真正有趣、核心的部分——定义问题、思考解决方案、设计架构、权衡取舍。而另外90%的时间则耗费在相对繁琐的实现细节上,比如调试Kubernetes错误、修复Bug、代码迁移、版本升级等。Devin这样的AI工具,其价值正在于接管大部分“砌砖”的工作,让工程师能够将更多精力投入到“架构”层面。工程师仍然是主导者,负责高层次的指导、规范定义和决策,但他们的能力将被AI极大地放大。针对“学习编程是否还有必要”这个热门问题,Scott的回答是肯定的。他认为,学习计算机科学不仅仅是学习特定语言的语法,更重要的是培养逻辑分解问题的能力,以及理解计算机系统运行的基本模型和抽象概念(如数据库、垃圾回收机制等)。就像今天使用Python的工程师仍然需要理解底层抽象(尽管比汇编语言高级得多)一样,未来与AI协作的工程师也需要具备精确思考、理解和指导AI的能力。掌握这些基础知识,将使工程师能够更有效地利用AI工具,构建更复杂、更强大的系统。因此,Scott预测,未来几年,程序员和工程师的数量不仅不会减少,反而会大幅增加。尽管“程序员”的具体工作形式会发生变化,但整个软件行业的需求会因为生产力的提升而急剧扩张。这正是经济学中“杰文斯悖论”(JevonsParadox)的体现:当某种资源的效率提高(成本降低)时,其总消耗量反而可能增加。软件工程的历史已经反复证明了这一点,随着开发效率的提升,人类总能找到更多需要软件来解决的问题。AI的加入将进一步加速这一进程,催生出更多个性化体验和创新应用。六、Devin的学习与适应:代码库理解与Wiki生成为了让Devin能够高效地在复杂的实际项目中工作,理解代码库的上下文至关重要。ScottWu介绍,Devin在处理一个新的代码库时,并不会一次性加载所有代码。相反,它会像人类工程师一样,首先建立一个高层次的抽象理解,把握整体架构和主要模块。然后,在需要时,它能够深入到具体的组件或文件中,获取更详细的信息。一个特别有趣的功能是,Devin会在学习代码库的过程中,自动生成一个内部的“DevinWiki”。这个Wiki不仅包含了Devin对代码库结构、关键组件、依赖关系等的理解,甚至可能包括架构图、部署信息等。例如,在演示中,Devin为DeepSeek代码库生成的Wiki就包含了FP8操作、SGLang集成、层级结构图等内容。Cognition团队发现,这个原本为Devin内部理解服务的Wiki,对人类工程师也非常有用。工程师可以通过Wiki快速了解一个不熟悉的代码库,或者查询特定功能的实现细节。演示中展示了直接向Wiki提问的功能,例如询问DeepSeek如何处理多令牌预测,Devin能够基于其对代码库的理解给出答案。这个Wiki功能也衍生出了一个实用的场景:利用Devin帮助新员工入职(onboarding)。新员工加入团队时,往往对庞大而复杂的代码库感到无从下手,并且可能不好意思频繁打扰导师或经理询问“愚蠢”的问题。这时,他们可以查阅DevinWiki,或者直接向Devin提问,以更自在、高效的方式熟悉项目。这再次体现了Devin的“锯齿状智能”:它在快速、全面地理解和索引代码库方面,可能比许多经验丰富的工程师更强。Devin的这种学习和知识积累能力,是其区别于简单代码生成工具的关键所在,也是其能够随着时间推移变得越来越有价值(即“粘性”增强)的重要原因。七、与开发工具链的深度融合:Linear集成与异步工作流为了让Devin无缝融入现有的软件开发流程,Cognition非常注重将其与主流工具链集成。访谈中他重点演示了Devin与项目管理工具Linear的集成。Scott展示了一个最近推出的自动化功能:在Linear中,用户只需为一个任务(如修复Bug或实现新功能)添加“Devin”标签,Devin就会自动介入。它会分析任务描述,查阅相关的代码片段,然后给出一个初步的分析报告,包括它对任务的理解、可能涉及的文件、以及它对自己完成该任务的信心水平评估。用户(无论是工程师还是产品经理)可以审阅Devin的分析。如果认为Devin的理解和计划是合理的,就可以一键启动一个Devin会话(session),让它开始实际执行任务。这个过程依然强调人机协作:人类负责最终决策和监督,而Devin则负责具体的执行。这种集成极大地简化了任务委派流程。产品经理(PM)也可以利用这个功能来更好地理解技术问题或项目状态。Scott提到了LaunchDarkly的ClaireVo(本次访谈的问题贡献者)作为Devin的用户,她经常使用Devin来理解任务范围、查询数据、或了解某个功能是否已上线、是否处于特性开关(featureflag)控制下、覆盖了多少用户等等。这使得技术细节对非技术角色更加透明和易于访问。此外,Devin与Slack和GitHub的集成也体现了其融入团队协作的理念。可以在Slack讨论中直接召唤Devin;Devin完成工作后会在GitHub提交PR,团队成员可以在GitHub上进行代码评审(CodeReview),Devin也能理解并根据评审意见进行修改。这种与现有工具链的深度融合,以及对异步工作流的强调,是Devin区别于那些需要在特定IDE或封闭环境中使用的AI工具的关键特征,也使其更容易被真实世界的工程团队所采纳。访谈中,ScottWu还分享了他对AI时代所需技能以及创业过程的见解。关于技能,他再次强调了从“砌砖工”到“架构师”的转变。这意味着,纯粹的、重复性的编码实现能力的重要性可能会下降,而高层次的系统思考、问题定义、架构设计、复杂系统理解、跨团队协作以及产品思维能力将变得更加关键。能够清晰地定义问题、设计解决方案并有效指导AI完成执行的工程师,将能够最大化地利用AI带来的生产力提升。同时,学习如何与AI代理有效协作本身,也将成为一项重要技能。Scott还分享了Cognition团队在创业过程中的一些感悟,尤其是关于执行速度和人才招聘方面。他提到,尽管创业圈有很多“陈词滥调”(cliches),比如“快速行动”、“招聘优秀人才”、“构建人们想要的产品”、“贴近客户”以及“着眼未来而非当下”。但他认为,成功的关键往往在于将这些基本原则执行到极致。他用Cognition的早期经历举例,从黑客松到成立公司,再到产品发布和获取客户,整个过程节奏极快,几乎是月度级别的迭代。在人才招聘上,Scott分享了两个令人印象深刻的故事,展示了团队为了争取顶尖人才所付出的非凡努力。第一个故事是关于一位极其优秀的MIT大三学生。为了说服他和他的父母同意他暂时休学加入Cognition,Scott和团队成员亲自飞往北卡罗来纳州,与他的家人共进晚餐,深入沟通,最终找到了一个允许他兼顾学业和工作的方案。第二个故事是关于另一位才华横溢的候选人,他收到了多家顶级公司的Offer。为了确保拿下,Cognition团队甚至帮助他起草了给其他公司的婉拒信。Scott说,构建顶尖团队需要为争取到合适的人才而“战斗到底”。最后,Scott分享了一个关于个人心态的感悟:在创业这场充满不确定性的旅程中,既要全力以赴,追求卓越,又要保持内心的平和,不将个人的价值与一时的成败过度捆绑。能够坦然面对起伏,从每次经历中学习并继续前进,不仅有益于身心健康,也更能做出理性的决策,从而提高成功的概率。谈及AI领域的竞争格局,ScottWu提出了一个有趣的观点:相比于传统的“护城河”(moats),他更倾向于思考“用户粘性”(stickiness)。他认为,在AI领域,尤其是应用层,很难建立起阻止竞争对手进入的绝对壁垒。但可以通过构建深度融入用户工作流、并能随时间推移提供越来越大价值的产品,来提升用户粘性。持续学习与个性化:Devin在与用户和团队的互动中,会不断学习代码库的细节、技术栈的特点以及团队的工作偏好。这种日积月累的“上下文知识”使得Devin对于特定团队或项目而言,会变得越来越高效和“懂行”,替换成本也随之增高。这就像一个在公司工作了五年的资深工程师,他对项目的理解深度远非新人可比。多人协作与网络效应:Devin被设计为团队协作工具。一个工程师训练好的Devin,其积累的知识可以被团队其他成员(包括新入职的员工)共享和利用。团队成员可以在Slack、GitHub、Linear等平台上围绕Devin进行协作、提供反馈、修正方向。这种多人参与的模式进一步强化了Devin在团队中的价值和粘性。Scott认为,软件工程领域天然具有“价值可衡量”的特点,这意味着更好的工具总有其用武之地。开发者群体也乐于尝试和学习能提升效率的新工具。因此,Cognition的核心策略是持续专注于打磨“自主编码代理”这一核心能力,不断提升Devin的智能水平和产品体验,使其对用户的价值与日俱增。对于未来的展望,Scott描绘了一个比较大胆的场景:未来可能存在多达“20代”编码代理体验的进化。最终形态可能是工程师不再直接查看或编写代码,而是通过自然语言或图形界面直接与产品交互,描述想要实现的效果(比如“让这个按钮更圆润一点”,“在这里增加一个新标签页”,“为这个信息创建一个数据库表并建立索引”),然后由AI代理在后台完成所有实现工作。当然,从现在到那一步还有很长的路要走,需要克服大量的技术挑战和现实世界工程的复杂性(比如处理遗留代码,如COBOL、Fortran)。他还提到了“Devin管理Devin”的可能性。Devin已经可以通过API调用来启动其他的Devin实例,在处理大型复杂任务时,它有时会自动将任务分解并分配给“子Devin”并行处理。这种“Devin套娃”的模式,以及AI代理之间共享上下文、协同工作的潜力,预示着未来软件开发可能出现全新的组织和协作范式。在讨论支撑Devin的技术时,ScottWu并没有将成功归因于某一次特定的模型突破。虽然基础模型能力的持续提升(他风趣地提到“现在每周都有新模型发布”)无疑是重要的推动力,但他认为,就“基础智力”而言,现有的模型可能已经“基本足够”。Cognition的核心技术壁垒和研发重点,更多地在于如何“教导”这些基础模型理解和应对真实世界软件工程的复杂性和细微差别。这包括让Devin学会使用各种开发工具(如Datadog)、诊断特定类型的错误、处理各种边缘情况、遵循GitHubPR规范等等。Scott形容这个过程为“让模型镜像现实世界的复杂性”,而非仅仅提升其抽象的“IQ”。这需要大量的工程实践、数据积累和针对性的微调工作。Scott还从更宏观的视角阐述了为何他认为AI将是“我们生命中最大的技术变革”。他对比了以往的技术革命,如个人电脑、互联网和移动电话。这些革命都伴随着漫长的硬件普及过程:需要时间让足够多的人拥有PC、接入互联网、购买智能手机。这种硬件分发的滞后性,使得这些技术的影响是逐步展开的,市场也是逐年缓慢增长的。而AI则根本不同。一旦AI的能力跨过某个阈值(Scott认为我们已经越过了这个拐点),其应用和普及几乎可以瞬间完成,因为它主要是软件层面的变革,不受硬件分发的物理限制。这种“爆炸性”(explosive)的潜力意味着变革的速度和广度将远超以往。这也解释了为何AI领域的发展如此迅猛,新模型、新应用层出不穷。因此,Scott强烈建议工程师们保持对AI发展的关注和学习。这不仅是为了掌握新工具、提升个人能力,也是为了能够更好地“训练”AI,使其理解自己所在项目和团队的特定上下文,从而实现更高效的人机协作。
免责声明:本站内容来源于互联网公开信息,仅供学习和参考使用。如涉及版权问题,请联系我们,我们将在核实后第一时间删除相关内容。