本期访谈我们有幸邀请到了All Hands AI的联合创始人王星尧,与我们分享他如何从一个对科技充满好奇的少年成长为一个科技公司的创始人。
星尧,1999年出生于福建,从小就对电磁炮和航模制作等科技活动充满兴趣,他的求学经历也与众不同,最初他被天津大学药学专业录取,但这并没有阻止他对计算机科学的热爱。2019年转入密歇根大学安娜堡分校(UMich)攻读计算机专业,本科毕业直博伊利诺伊大学香槟分校(UIUC),师从季姮教授。他一步一个脚印地将个人的兴趣和专业知识转化为一个创业项目。
星尧的创业之旅同样充满了探索和创新。2024年,正在UIUC攻读博士的星尧选择暂停博士学业创办All Hands AI,这家公司致力于开发开源的AI软件工程师OpenHands,旨在帮助开发者提高生产力,解决实际问题。他的公司不仅关注技术的前沿发展,还致力于构建一个活跃的开源社区,推动技术的进步和创新。
星尧与我们分享了他对于开源社区的热情和承诺。开源不仅是他产品的一个特点,也是他个人价值观的体现。他相信开源能够促进技术的透明性和可访问性,为开发者和研究人员提供一个自由探索和创新的平台。他的公司通过开源项目吸引了全球开发者的参与和贡献,形成了一个活跃的技术社区。All Hands AI的愿景是能够开发出能解决99.9%软件工程问题的AI软件工程师OpenHands,让开发者从繁琐的工作中解放出来,专注于创造和探索。他们坚信,如此重要的智能体技术不应该被少数企业所控制,因此选择以MIT许可证将OpenHands完全开源,推动整个行业的进步和发展。
25岁的星尧迎来了作为创业者的新篇章,他与我们分享了多个关键人生节点,以及他对于AI产品、开源技术以及创业的思考,enjoy~!
王星尧(右一)和联合创始人的合影 图片来源:王星尧
ZP:谢谢星尧接受我们的采访。首先请向大家介绍一下自己,建议可以从读书的时候开始,可以涉及人生的关键节点、比较突出的特征以及各阶段的积累等。
王星尧:从小我就对科技充满兴趣,特别喜欢《星际迷航》等科幻作品。学习之余,我的业余时间更多地投入到科技活动中。大学期间,我逐渐认识到自己对计算机科学的热爱。比如在做实验时,需要统计培养皿上的菌群数量,我通过自学编程写了一个程序来完成这项任务。这次经历让我对编程产生了浓厚的兴趣。我在Coursera上找到了UMich开设的一门优质Python课程(Python for everyone),获得了一系列相关证书,并由此开启转学之路。
最初,我计划申请美国的计算机硕士项目来实现转专业,大一时通过了托福考试。期间我了解到美国的本科教育体系比较灵活,学生可以自主选择专业方向。这让我萌生了转学的想法,并在大二结束的时候成功转入UMich,实现了从药学专业到计算机科学专业的转变。
ZP:转学前后应该发生了不少故事,可以简单分享一下。
王星尧:我选择转学的最主要原因源于对计算机科学的热爱。我认识到计算机科学是一个非常实用的领域,能帮助我们简化很多重复性工作。大二开始,我辅修了计算机科学专业。托福成绩和本科成绩是决定转学是否成功最关键的因素。天大学习期间,我始终保持着高GPA的专业成绩。除了GPA和托福成绩外,我还自学了Python编程语言,并参与了一些小型研究项目。这些项目虽然不是在正式实验室完成的,但也给了我很好的实践经验,我把这些经历写入了申请文书中。美国的大学主要会考察前两年的专业成绩、托福分数,以及申请文书。最终我被UMich录取了。这所学校在录取时不限制专业选择,让我可以自由选择计算机科学作为主修。另外,在这里我可以直接和教授联系并加入他们的研究团队,这为我提供了很多宝贵的机会。
ZP:去UMich读书之后发生了哪些故事?
王星尧:到美国后,我在一门讨论课上遇到了一位来自美国顶尖高中的同学,他非常优秀。我们经常一起讨论学术问题,有一天他问我是否已经开始寻找研究项目,他建议我直接联系教授,看看是否可以加入实验室。在他的启发下,我开始了我的研究之旅。我在网上研究了教授们的研究方向,并找到了一位我感兴趣的教授,向他发送了邮件。幸运的是,David教授邀请我加入了他的实验室,我们共同进行自然语言处理和多模态研究项目。
从小我就喜欢科幻电影,梦想着能创造出改变世界的技术。在计算机科学领域,我认为我早期接触的计算机视觉技术更偏向于感知层面,或许还未触及人类智能的核心。我认为语言可能是下一个重要突破口,因此对NLP特别感兴趣。在David的实验室工作一年多的时间里,我独立主导了一个动图表情包机器人项目。我负责收集数据集、训练模型,并最终将这个机器人成功部署到社交平台上运行了四五个月。这是我第一次感觉到自己的工作对现实世界产生了影响——通过动图表情包实实在在地给大家带来了快乐。这让我深刻体会到计算机科学能够快速地将理论转化为实践,直接影响现实世界。(原Blog:https://imgur.com/gallery/what-happens-when-you-teach-ai-about-reaction-gifs-G0oSrLV)
图片来源:王星尧
后来我加入了另一位教授的实验室,参与具身智能Embodied AI的研究。我的兴趣越来越往这个方向发展,我觉得NLP技术的最高潜力在于能够真正节省时间、提高生产力。我当时就想,如果能够制造出一个智能体,能够和人类通过自然语言交流,并且还能自主和环境进行交互,那该多好。我自己心中AGI的定义是“能够替人类解决99.9%的繁杂事务”。我当时就想造出一个智能体,只需要想idea、发号施令,具体的实现可以交给智能体去做。
2022年暑假我在微软实习,接触了最早的Codex模型。在使用过程中,我发现这类代码大模型有一个独特的优势:能够将自然语言中的抽象概念转换为具体的结构化表示。比如在机器人控制场景中,模型能够将'把红球放进蓝箱子'这样的自然语言指令,转换为包含控制红球的具体代码,从而实现机械臂的精确控制。这种能力源于代码本身就包含了大量概念与具体实现的对应关系。这类代码大模型能够高效地完成从非结构化自然语言到结构化信息的转换,而且效果往往优于传统的特定任务监督学习模型(Code4Struct,发表在ACL 2023,https://arxiv.org/abs/2210.12810)。
基于这个发现,我开始思考能否让大模型直接生成可执行代码来控制虚拟环境中的机器人。当时有个叫AlfWorld的benchmark,旨在让算法在家庭环境中完成一系列任务。比如'把花瓶放入保险箱'这个任务就需要多个步骤:找到花瓶、带上花瓶、找到并打开保险箱、把花瓶放进去。我的想法是让大模型根据任务描述逐步生成动作指令,同时能够处理环境反馈(比如'柜子已打开,里面有物品ABC'),从而一步步完成整个任务。这个研究方向让我非常着迷。
2023年初,各种大模型如雨后春笋般冒出来,但我发现了一个关键问题:大多数模型都向着处理单轮任务优化,就像解答选择题一样——给一个问题描述,输出一个答案就结束了。然而,真正的智能体需要与人类和环境进行持续的多轮交互。比如在前面提到的例子中,打开一个柜子后看到里面的物品(观察),然后才能决定下一步行动(取出物品或关门)。我发现业界对模型这种'多轮能力'的重视和评估不足。因此,我开发了一个专门的benchmark MINT(发表在ICLR 2024,https://arxiv.org/abs/2309.10691),用来评估模型与环境和人类进行多轮交互的能力。
在完成benchmark测试后,我发现闭源模型表现不错,但开源模型普遍较弱。作为UIUC博士一年级的学生,我希望开发一个不仅在论文指标上表现优秀,更能在实际开发中发挥作用的工具。
传统的智能体构建方法主要依赖各种工具(tools),但这种方法存在明显问题:不同任务需要不同的工具,比如查天气需要天气API,处理Excel需要Excel工具。随着任务增多,所需API数量激增,不仅难以处理,维护成本也很高。我记得之前有一个研究团队爬取了一万多个多个工具,但一段时间过后,实际能用的只有几百个,主要是因为缺乏维护。这让我意识到,如果你想构建一个真正通用的智能体,仅仅依靠传统意义上的工具可能无法解决问题,因为每个工具的能力都是有限的。
作为开发者,我意识到这些工具本质上都是用代码实现的。既然大模型的代码能力越来越强,为什么不让它跳过中间环节,直接生成代码来解决问题呢?比如需要天气预报,可以让大模型写代码调用API;需要计算器,可以让它写代码计算;需要访问网站,可以让它写代码利用Playwright这类常用软件框架控制浏览器网页。这些都是非常常见且现有大模型较为熟悉的软件工程任务,而且实践证明,用代码实现比构建专门的工具要简单得多。
考虑到以上这些弊端,我提出CodeAct智能体框架,让智能体通过执行代码直接与环境互动,并通过自然语言与人类沟通。研究表明,相比传统的JSON格式函数调用,代码执行的性能能提升20%以上,且所需交互轮次平均减少两轮。这是因为代码的表达能力更强,灵活性更高。基于这一发现,我们收集了训练数据并开发了一个开源模型,它能像ChatGPT的Python解释器一样,通过对话方式帮助用户完成文件下载、数据分析和可视化等任务。(发表在ICML 2024,https://arxiv.org/abs/2402.01030)
图片来源:王星尧
ZP:后来决定创业是怎样的背景?
王星尧:今年是我人生的一个重要转折点。去年年底去新加坡参加EMNLP会议后回国续签,没想到签证时被check了6个月。这次意外的签证延滞,最终成为推动我走上创业道路的决定性因素之一。
就在这期间,Cognition发布了他们的AI软件工程师Devin的演示。这个产品与我的博士研究目标高度重合,尤其是在用代码作为Action方面。之后我得知Twitter上有人发起了OpenDevin项目(现在的OpenHands)。这个项目在短短几小时内就获得了1000个star,显示了巨大的社区热情。
我在GitHub上探索了一番,发现CMU的Graham Neubig教授为这个项目贡献了一个简单的前端。随后,整个社区开始自发地参与进来,没有人主导,大家根据自己的想象,为这个AI软件工程师项目贡献力量。我深刻感受到了开源社区的力量,这激发了我参与这个开源项目的热情。
Devin推出的强大演示版本一定程度上对学术界构成了挑战。为了跟上这一进展,学术界至少需要一个能够与闭源的Devin相媲美的系统,尤其是在关键组件上。例如,如果Devin的系统能够通过Bash命令行执行代码,学术界在研究时也需要类似的软件来构建终端环境。如果Devin的系统能够访问浏览器,学术界也需要这一功能。
我最初参与这个开源项目的动机很简单:学术界需要一个能与闭源的Devin相媲美的系统。如果没有这样的基础设施,未来学术界在智能体研究上可能会逐渐落后于工业界。
但随着深入参与,我看到了一个更大的机会。软件是人类最强大的工具之一,如果我们能创造出一个精通软件工程的智能体,它理论上就能解决任何问题。这是因为软件工程本质上是一种元能力——它不仅仅是在编写代码,而是在创造解决问题的工具。在当今世界,从金融系统到交通网络,从通信设施到能源管理,几乎所有的关键基础设施都依赖软件来运行。因此,一个能够理解、创造和优化软件的AI系统,实际上就掌握了改变和控制这些基础设施的能力。这种能力具有指数级的潜力,因为它不仅能解决现有问题,还能创造新的工具来处理更复杂的挑战,并且能够持续优化自身的问题解决能力。这条从OpenHands起步的路径,可能最终会通向我理想中的AGI——一个能解决99.9%实际问题的通用人工智能。
开源正是实现这一愿景的理想途径。只要工具本身足够实用,就会吸引开发者参与维护;良好的代码质量和稳定性又会使得研究工作更加顺畅,形成良性循环。看到像Graham Neubig这样的知名教授也参与其中,更坚定了我的信心。我在接下来的两三个月里全身心投入这个项目,期间不仅看到了开源社区的蓬勃发展,还接触到了一些对项目感兴趣的风险投资。
OpenHands项目为我展示了一条不同的道路。如果能开发出一个真正有用的产品,我们就可以从实际用户数据中获得大量反馈,这些反馈可以支撑更多有趣的研究。开源项目和创业环境提供了一个更加自由、充满活力的平台 - 可以快速获得用户反馈,灵活开展研究,并直接验证想法。看到社区对项目的积极反馈,加上项目已经逐渐成型,我开始思考:为什么不跳出传统框架,全力以赴地把这件事做到极致?我逐渐意识到,创业或许才是实现我愿景的最佳途径。
在OpenHands开源项目的协作中,我逐渐认识了志同道合的合作伙伴。Robert带来了丰富的产品、工程和开源商业化经验,Graham围绕OpenHands开展学术研究工作,贡献学术资源和行业影响力。经过深思熟虑,我决定暂停博士学业,正式加入创业。
图片来源:王星尧
ZP:公司的主要产品是什么,面向什么样的用户?
王星尧:我们的产品,如果用一句话来说,它就是一个开源的AI软件工程师。你可以把它想象成一个拥有和人类工程师一样通用工具的AI软件工程师,比如人类工程师可以使用命令行执行代码,使用代码编辑器编写、修改、删除代码,可以使用浏览器上网搜索信息。我们的AI软件工程师也有这些工具,并且能够理解自然语言,替你完成你希望它去做的工作。
ZP:现在AI Coding行业的现状如何?我们在其中选择了怎样的细分方向?
王星尧:我理解目前AI Coding大概分为三大块:Copilot for pro、Agent for pro和Agent for citizen。Copilot for pro就是现在广受欢迎的Cursor、GitHub Copilot这类工具,它们整合在开发者的IDE中,能够加速开发工作流程。在这种模式下,用户处于主导地位,决定何时编写代码、编写什么代码以及在哪里编写代码,而AI则通过预判或是生成代码来提供辅助,提升开发效率。
目前很多AI创业公司都在这个领域,但细分方向各不相同。有的像Cursor,专注于提升IDE中的代码编写效率;有的专门做代码测试,帮助为代码库编写测试用例;有的专注于代码审查;还有一些致力于优化代码搜索功能。这个类别最显著的特征是系统缺乏自主性。Copilot类系统因为安全原因,通常不能在未经用户允许的情况下自主运行和测试代码,也不能根据运行结果自动做出调整。它们的职责主要在于生成代码,由用户决定是否采用。即使是做代码测试、代码审查的公司,也只是提供建议,最终决策权在用户手中。开发者大多还是需要亲自去把代码调通,系统通常无法在没有人类介入的情况下自动完成这个过程。
我们选择的是Agent for pro这个方向。这类系统最大的特点是具有自主性,理论上能够完整接管开发全流程。它不仅能自主编写代码,还能没有人类介入的情况下运行测试、搜索信息,并根据反馈进行调整。在实际开发过程中,最耗时的环节往往不是编写代码本身,而是把代码调试到能够正确运行并通过所有测试用例。这个过程需要不断地运行代码、发现问题、修改代码、增加测试用例,往往写出第一个版本的代码只需半小时,但调试却要花费4-5个小时。Agent for pro正是为了解决这个问题而生的,它能够在不需要人类开发者介入的情况下,自主完成整个调试过程,直到代码完全可用。目前市场上的Agent for pro主要致力于提升现有开发者的工作效率,适用场景是:开发者明确知道自己想要的是什么,但缺乏时间去完成这些任务。在这个领域,Cognition是较为代表性的企业,虽然还有其他公司也在尝试,但大多数产品还未达到可以正式商用的成熟度。
至于Agent for citizen,这是致力于降低编程门槛的方向。比如Replit将云端IDE以及AI智能体结合起来,让用户无需配置本地环境就能开发;Vercel v0让更多用户也能通过自然语言生成前端网站等。这些产品的主要目标之一都是让编程变得更加普及和易用。
ZP:你选择创办目前的公司是看到了什么样的机会?
王星尧:作为一个学术研究者,我最初的动机其实很简单 - 希望能够维护好一个基础设施,让学术界的同仁们能更好地推进这个领域的研究。因为要做好研究,首先需要一套可靠的代码基础。我当时最朴素的想法就是希望能在开源社区中把这个代码库做好。
从开源开发者的角度来看,这是一个非常有趣且透明的项目。像我的联合创始人Robert,他最初也是被项目本身的创新性所吸引。而作为实际的开发者,我们都深知提升生产力的重要性。
所以我们在构思这个项目时,其实是在平衡多个维度:首先,我们希望能为用户提供实实在在的生产力提升;其次,我们想打造一个能吸引开发者持续参与的开源项目。这两个目标其实是相辅相成的,因为我们的开发者通常也是用户。当他们在使用过程中发现功能缺失,或者觉得某些地方可以改进,他们会很自然地查看源码,实现新功能并回馈给社区。正是因为项目是开源的,才给了大家这种自定义和回馈的机会。
这也引出了第三个维度:作为学术研究者,我们需要一个稳定且可扩展的基础设施来推进技术的发展。开源的特性恰好能满足这一需求,让研究者能够更容易地构建和验证新的想法。
这三个维度——用户价值、社区活力和技术进步——共同构成了我们看到的机会。每个维度都在相互加强,形成了一个良性循环。
ZP:你多次提到了“开源”这个关键词,这也是我们项目的一个重要特色。你如何看待开源这件事,或者说开源对你意味着什么?
王星尧:这个项目是开源精神的产物,它的起源并非来自顶层设计,而是源于基层的集体智慧。项目初期虽然显得混乱,但正是开源社区的共同努力塑造了它。因此,可以说,开源不仅是我们产品的起点,也是其核心特质。
从另一个视角来看,正如我的联合创始人Robert所说:When it comes to dev tools, open source generally wins(在开发者工具领域,开源通常是赢家)。
这句话深具洞见。现代开发者在工具选择上,比如像VS Code和GitLab这样的产品,都明显偏好开源方案。开源工具最大的优势在于其透明性——当你遇到问题时,可以直接查看源代码,理解问题所在,甚至自己动手解决。
以我的日常开发经验为例,如果使用开源工具时遇到了bug,我可以立即查看源码,找到问题所在并修复它。修复后,我不仅解决了自己的问题,还能把解决方案贡献回社区。这种体验和使用闭源工具形成鲜明对比——遇到问题只能提交工单,然后可能要等待数周才能得到响应,有时甚至得不到任何回应。对于个人开发者来说,这种等待的成本往往难以承受。
另一个关键点是,开源使得开发者能够更容易地定制工具以满足自己的需求。看看VS Code的成功就知道了,它强大的插件生态系统让无数开发者能够根据自己的需求进行定制和扩展。这种开放性创造了一个正向循环:越来越多的开发者使用它,贡献新的功能,使得整个生态系统变得越来越强大,甚至于许多AI编程IDE实际上都是基于VS Code进行定制的。这也是我们选择开源路线的重要原因之一。
图片来源:王星尧
ZP:公司目前的主要进展是什么?
王星尧:自公司成立以来,我们主要取得了三项重大进展。首先,我们投入了大量精力构建我们的“评估基础设施”。正如我们之前讨论的,Copilot和Agent之间的主要区别在于Agent拥有自主性。然而,在现实世界中,自主性面临着一个巨大的挑战,那就是安全问题。以Copilot为例,由于它不会直接执行用户代码或命令,因此可以安全地在软件开发IDE中使用。但具备自主性的Agent则不同——它能够自由执行任意代码,这就存在潜在风险。假设Agent某天误操作删除了用户文件,这将造成严重的后果。
针对这一核心问题,我们采用Docker容器技术构建了沙箱环境,将Agent的所有操作限制在其中。这相当于在容器内复制了用户的计算环境,所有更改都在容器中进行,最后再将结果返回给用户。虽然这种方案能确保安全性,但也给评估带来了挑战。
在学术评估领域,我们通常依赖基准测试。目前最具代表性的是SWE-bench,它收集了大量真实的GitHub issues及其测试用例,用于评估AI系统解决实际问题的能力。系统需要从头到尾解决这些issues,并通过已有的人工编写的测试用例来验证解决方案的有效性。
然而,在实际运行这些基准测试时,我们遇到了两个主要困难:首先是需要为每个智能体实例配置供不同版本代码使用的开发环境;其次是即便是SWE-bench的最小测试集也包含300个实例。由于资源限制,单机无法并行运行大量Docker容器,在传统方案下完成全部测试需要2-3天时间。
评估对我们至关重要,因为从研发角度看,只有准确量化指标才能有效优化系统性能。为此,我们投入了大量精力搭建了一套完整的云端评估系统。通过合理的架构设计和资源调度,系统可以稳定地同时启动成百上千个容器并行运行供AI智能体交互使用,将原本需要48小时的评估时间缩短至1.5小时。
图片来源:王星尧
评估基础设施的完善带来了另一项重要成就:作为一个完全开源的解决方案,我们成为了首个在SWE-bench Verified评测中突破50%成功率的AI软件工程师系统。
ZP:SWE-Bench Verified上50%意味着什么?
王星尧:SWE-bench Verified是SWE-bench作者联合OpenAI从原有的完整测试集中精选出的500个高质量测试用例。作为目前业界最具权威性的软件工程AI评测基准之一,它通过这些精选的真实GitHub问题及其解决方案,构建了一套标准化的评估流程。在SWE-bench Verified评测中实现的这个50%成功率具有重要意义——它意味着我们的AI系统能够有效处理SWE-Bench上的一半的真实GitHub开发问题。尽管测试集主要来自Python项目,但我们认为这仍是评估AI编程助手实际能力的有意义参考指标之一。
ZP:我们的产品是目前唯一一个解决GitHub issue超过50%的产品吗?
王星尧:是的,在SWE-bench的评估标准下,我们的AI软件工程师OpenHands确实取得了这样的成绩。
这一点也体现在我们的GitHub项目实践中。OpenHands功能现在已经被用户广泛采用。当用户在GitHub上遇到问题时,只需创建issue并标记'Fix Me',OpenHands就会自动介入分析问题、修改和调试相关代码,提供修复方案并生成pull request供开发者审核。
从具体数据来看,成果也很显著。在11月上半月,OpenHands为自身项目贡献了20%的代码量。在另一个OpenHands Resolver项目中,它的代码贡献率更是达到了近60%,其中包括完全自主编写的部分和与人类协作完成的部分。这些成果不仅证明了OpenHands在评测基准上的出色表现,更重要的是展示了它在实际开发中的实用价值。
图片来源:王星尧
注:截至本次采访完成时(2024年11月),OpenHands在该SWE-Bench Verified评测中位居第一。截至本文完稿时,在最近一轮更新后,OpenHands目前排名第三,与第一名仅差2个百分点。值得一提的是,排名第一和第二的解决方案都是闭源的,而在完整的SWE-Bench测试集上,OpenHands仍保持排名第一。
图片来源:王星尧
ZP:第三个进展是什么?
王星尧:最近的一个重要进展是推出了SaaS服务的Beta版本。此前用户需要通过Docker在本地手动部署我们的服务,现在我们简化了这一流程 - 用户只需使用GitHub账号登录https://app.all-hands.dev/,无需任何本地配置就能直接使用。目前该服务处于Beta阶段,感兴趣的用户可以通过网站加入waitlist。
ZP:我们要达到今天目前产品的效果,在技术上主要攻克的难点是什么?
王星尧:首先是基础设施的挑战。当我们赋予Agent较高的自主性时,就需要投入大量工程努力来确保系统的完善性、高效性和安全性。这是一个规模较大且复杂的工程难点。
第二个难点是基础模型的性能和资源开销。从简单角度看,Agent本质上是基础模型通过特定几类动作与环境交互的过程,比如通过文本/代码编辑器、命令行、浏览器等进行操作。这就涉及两个关键问题:一是如何让这些操作执行得既高效又稳定,这属于基础设施层面的挑战;二是如何确保基础模型具备足够强的能力,能够像人类开发者一样熟练使用我们提供的各类工具。
第三个难点是智能体本身的安全性。我们与包括Invariant Labs在内的安全领域初创公司合作,构建了针对智能体的行为分析系统。该系统能够对Agent生成的操作进行实时的风险分析和评估。当检测到高风险操作(比如删除所有文件)时,安全检测器会将其标记并提交给人类开发者进行二次确认。不过这仅是安全建设的第一步,要真正构建一个完善的安全体系,我们还有很多工作要做。
ZP:我们正在试图解决的重要问题是什么?
王星尧:作为初创公司,短期内很难在模型性能上直接与如Anthropic,OpenAI这样的巨头竞争。但我们可以探索创新的推理方法来提升效果。目前已有许多研究工作在不同任务领域验证发现,即使模型基础能力相对较弱,通过inference-time scaling(如增加采样次数)也可能提升模型表现。基于这个思路,在基础模型能力固定的情况下,我们可以通过多样本采样或迭代式反馈等推理策略来提升Agent的表现质量。这是我们目前探索的重要方向之一。
同时,我们也在与社区合作开发更适配agent的开源模型,致力于降低推理成本。同时我们推出的'Share OpenHands'功能让用户可以为优秀的Agent执行结果点赞,并选择将这些反馈以MIT许可贡献给研究社区用于模型训练。这些工作都得到了社区的积极响应。
ZP:团队最关心的北极星指标是什么?
王星尧:有三个主要的北极星指标。第一个是Agent的质量表现,目前主要通过SWE-bench进行评估,未来会扩展到多模态的网页/前端页面交互等更多场景(例如SWE-Bench Multimodal, The Agent Company等评估基准),让Agent能够更好地协助各个方面的软件开发工作。
第二个关注的指标是开源社区的活跃度;目前我们的GitHub已有38k Star,是GitHub Python的Top 100项目,同时也吸引了210多位开发者参与贡献。
第三个也是我们最重视的指标,是产品的实际应用规模,包括SaaS和开源两个方面。我们的SaaS产品目前处于beta阶段,基础设施已经基本完善。在这个阶段,我们重点关注日活用户数(DAU)和周活用户数(WAU),通过这些指标来评估产品对开发者日常工作的实际帮助。同时,我们也会持续关注开源社区的活跃度,比如Docker镜像的下载量等基础数据。
ZP:目前行业内的竞争情况如何?All Hands AI的优势和差异化定位是怎样的?
王星尧:目前行业竞争确实比较激烈。以Cognition AI为例,他们已经开始与一些大型企业合作,提供系统接入服务。但我认为我们最大的差异化优势在于开源战略,主要体现在三个方面。
第一,作为开发者工具,我们坚信开源路线通常能获得成功。从实际数据来看,一些大公司的开发者都在业余时间尝试使用我们的系统。相比其他公司针对特定客户进行封闭测试,我们选择向所有开发者开放。这种策略帮助我们赢得了开发者的信任和支持。当这些开发者在实际工作中体验到产品带来的效率提升,他们自然会成为我们的口碑传播者。对企业用户而言,开源与否并非关键,产品能否创造实际价值才是重点。而开发者的认可恰恰证明了我们产品的价值。
第二,开源可以有效降低客户的锁定风险。传统模式下,企业与供应商签订高额合同后,如果供应商经营出现问题,前期投入可能会付诸东流。而作为开源公司,我们的代码完全透明,采用灵活的商业许可证。即使在极端情况下我们停止服务,客户依然可以自主维护和修改代码,确保业务连续性。
第三,开源模式特别适合数据敏感度高的领域,如医疗行业。这些机构在使用AI工具时,往往对数据安全有极高要求,不愿将数据传输至第三方服务器。闭源公司的agent运作机制通常属于其专有商业信息,难以满足这类需求。而我们的完全开源策略允许客户在自有硬件上部署系统,确保数据百分百留存在内部,从根本上解决了数据安全顾虑。
ZP:未来几年公司和产品的计划是什么,以及最希望达到的目标是什么?
王星尧:公司目前的战略重点是让产品对所有用户都能发挥最大的实用价值。从我个人使用体验来说,OpenHands确实帮我解决了许多棘手的问题。比如前不久,我需要实现一个前端功能,如果按照传统方式使用Cursor来开发,可能要花上整整一天。但现在我只需要向OpenHands提供需求描述和相关截图,它就能独立完成代码编写。等我开完会回来,代码就已经写好了。虽然测试后还需要一些优化,但只要我提出新的要求,它就能快速做出调整。这样一来,我用零散的时间就完成了原本需要半天到一天的工作。对我而言,这个产品的价值是显而易见的。
有一次因为系统故障我无法使用产品,那天我感觉特别不适应,就像缺少了什么重要的东西一样。这正是我们希望产品能达到的效果——让用户真切感受到它能大幅提升工作效率,成为不可或缺的工具。这就是我们未来一年的核心目标。要实现这个目标,最关键的就是提升我们之前提到的北极星指标,特别是Agent的性能质量。再漂亮的UI设计都比不上真正帮用户解决问题来得重要,这是我们最需要专注改进的方向。
同时,我们还需要加强产品与各类开发和协作平台的整合能力。像Copilot这样的产品已经与IDE形成了紧密的配合关系,而我们的目标更为广阔,不仅要对接各类IDE,还要融入Slack、Jira、Linear等团队日常使用的生产力工具。作为一个独立性较强的Agent产品,如何作为一个AI软件工程师更好地融入开发者现有的工作流程,实现与IDE以及Slack、Jira、Linear等团队日常使用的生产力工具的无缝对接,是我们面临的重要课题。这些整合工作是我们短期内的重点。等这些问题得到解决后,我们就要着手考虑如何将这些功能推广到企业用户群体,为他们创造更大的价值。
ZP:作为一家初创公司,除了做好产品外,还有什么也是非常重要的?
王星尧:除了技术和产品,我认为最重要的是我们的社区。我们需要保持开发者社区的活跃和兴奋。我们希望不仅仅是产品好用,还要有足够的透明度,让来自不同行业的开发者都能轻松加入我们的Slack频道,与核心开发者自由交流,分享他们的体验,并鼓励他们在代码库中贡献。
我们也非常鼓励开放科学和开放研究。我们建立了完善的Agent质量评估基础设施(19个评估数据集)来帮助社区贡献者开发者验证他们的改进效果。许多开发者虽然可能没有系统的AI研究背景,但对这个领域充满热情。通过参与OpenHands,他们能接触到最新的方法和技术,在实践中学习和成长。同时,我们也在积极与学术界合作,通过开放我们的评估基础设施,让更多研究者参与进来,一起推动AI智能体的发展。
ZP:恭喜你们完成了新一轮融资,能否简要介绍一下这轮融资的情况?
王星尧:谢谢,我们在今年9月刚刚完成了500万美元的种子轮融资,由Anthology Fund领投。这个基金是Menlo Ventures与Anthropic共同设立的一支1亿美元专项基金。跟投方包括Pillar VC、Betaworks和Rebellion等机构,以及多位天使投资人,其中包括Hugging Face联合创始人Thom Wolf、Cloudera联合创始人Jeff Hammerbacher,以及PyTorch创始人、Meta副总裁Soumith Chintala。
ZP:你的企业家偶像是谁?
王星尧:我没有特定的偶像,但Elon Musk的理念给了我很大启发,他的一些思维方式对我影响深远。特别是他的'快速失败(Fail Fast)'和'第一性原理(First Principles)'这两个理念。以SpaceX为例,他们的火箭发射方式就完全不同于传统方式,采用快速迭代和数据驱动的改进方法。这种思维模式也深刻影响了我在产品开发和研究工作中的方法论。比如在新项目开始时,我都会优先花大量时间来建立快速迭代的机制(例如搭建对应的软件基础设施),让我们能更高效地验证想法和改进。
ZP:你对自己未来五年有什么期待吗?
王星尧:我希望五年后,我每天不需要写很多代码,OpenHands自己就能解决90%以上的软件工程问题,让我从繁琐的劳动中解放出来,去创造更多的价值。我希望我们的产品能让大家在有限的时间内,实验和探索更多创意和想法。
ZP:作为在美国创业的年轻华人,你有什么感受分享吗?
王星尧:我觉得创业不是一件容易的事情,关键是不要为了创业而创业,而是要为自己真正热爱的事业去奋斗。这条路不好走,没有热爱是很难坚持的。
ZP:过去一到两年,AI行业有什么让你印象深刻的事情或人吗?
王星尧:毫无疑问是GPT-4。它的发布让整个行业都感到震撼;对我来说,特别是GPT-4在处理多轮对话/交互方面的能力提升,让我看到了语言模型在智能体问题上的新可能。
ZP:对你来说为什么是GPT-4,而不是ChatGPT?
王星尧:因为我很早就接触过OpenAI早期的API模型(davinci系列),所以ChatGPT的能力对我来说并不陌生。但GPT-4的出现是一个真正的临界点,它让整个行业对语言模型有了全新的期望。最令人惊叹的是行业的追赶速度 —— GPT-4发布后,各大厂商迅速跟进,现在甚至有些模型的性能已经超越了GPT-4。与此同时,LLM行业正在加速商业化,模型使用成本也在持续下降。
ZP:最近看到的最有意思的AI产品是什么?
王星尧:我特别关注那些能真正提升我工作效率的产品。最近最让我兴奋的是Cursor,他们把AI辅助编程的交互体验做得非常出色,一度让我离不开它。产品角度来说,我不太在意产品演示效果,更看重的是日常使用体验——是否顺手,是否能持续为我创造价值。不过随着OpenHands的能力不断提升,我发现自己使用Cursor的频率也在逐渐降低——因为我对AI的期待改变了,相对于需要让我时时刻刻关注的AI,我更希望使用更强自主性的AI,是那种我把任务丢给他,他就能自主执行工作,最后帮我把问题修复完全的AI。
ZP:可以向我们的读者推荐一本书,或者你印象深刻的一篇文章。
王星尧:Rich Sutton的《The Bitter Lesson》。从过去70年的AI研究中得出的最大经验是:随着算力的提升,那些能充分利用计算能力的'通用'算法,往往是最高效且最能带来'质变'的。这体现了奥卡姆剃刀原则的思想——在AI时代,与其追求花哨的技巧和trick,不如专注于那些真正通用的方法,那些能够通过直接增加扩展计算能力来提升性能的方法。
以GPT为例,OpenAI证明了直接将模型规模扩大100倍,比以往各种精巧的架构优化带来更显著的性能提升。这正是'The Bitter Lesson'最直观的体现。在我们最近开发AI软件工程师的过程中,我也深刻体会到了这一点:我们发现为特定问题设计的技术优化往往成为未来的枷锁 - 随着模型能力的增强,许多原本需要特殊技巧才能解决的问题(例如多智能体沟通交互,文件编辑),三个月后,这些问题可能已被更强大的基础模型直接解决,而我们却留下了更复杂的代码库。
在OpenHands的具体实践中,我们专注于打造稳定通用的基础设施,这使得我们能自然享受到模型升级带来的性能提升,而不是被特定优化所累。'The Bitter Lesson'随着我的日常实践,给我的启发越来越深,我认为这个经验值得分享给所有开发者:在AI智能体开发中,要始终追求简单、有效、且易于scale的解决方案。在开发过程中,我们需要问自己:这个技巧是必需的,还是会随着模型进步自然解决?如果是后者,就应该把精力放在那些模型进步难以直接解决的问题上。
ZP:日常有什么兴趣爱好吗?
王星尧:我喜欢骑山地车和露营等户外活动,天气好的时候会开着皮卡带上山地车去树林里骑行。本科和读PhD时还参加过合唱团,但现在离开学校后就没什么机会继续了。
ZP:你在合唱团是唱什么声部的?
王星尧:在北洋合唱团的时候我是男中音,在UMich和UIUC期间,我主要唱男高音。从天津大学一直唱到UMich和UIUC,感觉唱歌真的很解压。
请注意,本次访谈内容已经过编辑整理并已获得王星尧的认可,仅代表受访者个人观点。我们也欢迎读者通过留言互动,分享您对本访谈的看法。欲了解更多关于All Hands AI的信息,敬请访问其官方网站https://www.all-hands.dev/。
文章来自于“Z Potentials”,作者“Z Potentials”。
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。
项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file
本地安装:https://www.deepbi.com/
【开源免费】airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。
项目地址:https://github.com/hitsz-ids/airda
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md