内容概要
Replit 的联合创始人兼 CEO Amjad Masad 探讨了计算技术从大型机 (mainframe) 到个人电脑 (PC) 的演变,并展望了一个由人工智能代理 (AI agents) 自动进行软件创作的未来。他解释了为什么传统软件的价值将趋近于零,这将从根本上重塑公司的构建方式和工作模式,并催生一个由通才员工 (generalist employees) 和能够通过思想创造巨大财富的“主权个体”(sovereign individuals) 组成的新时代。
目录
-
计算技术的演变
-
软件工程的兴起
-
Replit 的愿景:让编程触手可及
-
AI 在软件开发中的作用
-
AI 代理面临的挑战与基础设施
-
构建可扩展且安全的环境
-
软件工程代理的未来
-
AI 代理的自主性级别
-
对软件市场的预测
-
对商业和就业的影响
-
通才员工的角色
-
观众问答
计算技术的演变
今天,我想和大家聊聊软件的未来。这次分享将主要围绕我们在 Replit 的工作、我们对软件未来走向的看法,并尝试做出一些预测,或者说是对未来进行一些开放性的思考。
要理解我们所处的时代和我们的业务,可以回顾一下计算技术的发展史。大型机 (Mainframe) 是第一代主流计算设备,在当时,你需要成为专家才能使用它。随后,个人电脑 (PC) 出现了,但最初它们更像是玩具,比如在 Mac 上用 MacPaint 画图,并没有实际的商业用途,甚至苹果在当时还被人嘲笑。
直到电子表格 (Excel) 的出现,它成为了第一款真正在计算机上有用的软件。如今,个人电脑已经成为世界经济的支柱,甚至数据中心里也全是基于 x86 架构的个人电脑。
所以你看,计算技术从一个需要少数专家经过大量培训才能使用的工具,演变成了一个最初被视为玩具,但现在人人都在使用的东西。
软件工程的兴起
软件工程也经历了类似的过程。现代软件工程这个职业可以追溯到 20 世纪 70 年代,随着 Unix 和 C 语言的兴起而发展。那时,人们开始接受成为软件工程师的培训,通常需要四到六年的大学教育,再加上两三年的在职培训,才能胜任这份工作。
我认为,今天的软件正在经历同样的转变:从只有专家才能做的事情,变成任何人都可以做的事情。
Replit 的愿景:让编程触手可及
这正是我们创建 Replit 的初衷。我投身于 Replit 将近九年了,我们的愿景始终是解决编程的难题,让任何人都能编写软件。
为此,我们构建了集成开发环境 (IDE)、语言运行时 (language runtimes)、在线沙盒环境 (online sandbox environment),以及部署 (deployments) 和相关的云服务。
AI 在软件开发中的作用
当 AI 出现时,我们意识到,我们使命的终极体现就是让人们不再需要编码。编码本身是阻碍更多人创造软件的瓶颈。
因此,在 2023 年底到 2024 年初,我们决定将所有资源投入到代理 (agents) 的研发上。当时,代理的功能还很初级,但通过一些基准测试,你可以清晰地看到未来的发展方向。例如,SWE-Bench 是一个软件工程基准测试,它包含了 GitHub 上主流代码库的问题 (issues)、单元测试和最终的拉取请求 (pull requests)。你可以通过让代理在一个环境中解决这些问题来测试它的能力。
回顾来看,2022 年代理几乎无法工作,2023 年开始初见成效,到了 2024 年初,趋势已经非常明显:软件工程的许多环节正在被自动化。现在,我们在 SWE-Bench 上的得分率可能已经达到了 70% 到 80%。即使这个基准测试被完全攻克,也不意味着软件工程被完全自动化了,但这表明我们正在创造出真正有用的软件工程代理。
这个趋势适用于所有类型的代理。如果你正在创建代理相关的初创公司,请坚信这一天一定会到来。我总是告诉我的团队,我们要有勇气在今天构建不完美的产品,因为两个月后,模型会变得更好,你的产品和业务可能就会因此而成立。
AI 代理面临的挑战与基础设施
Replit 全力投入了代理的研发,但我们发现,让代理编写代码其实是简单的一环,真正的难点在于其周边的基础设施,我称之为代理赖以生存的“栖息地” (habitat)。
你需要一个云端的虚拟机,最好不要在本地电脑上,因为代理可能会弄乱你的电脑,甚至做一些危险的事情。所以,它必须是沙盒化的 (sandboxed)、可扩展的 (scalable)。对于 Replit 这样的产品,你需要能够扩展到数百万用户,并支持市面上所有的编程语言和软件包。
构建可扩展且安全的环境
如今的软件工程代理大多在标准的 Linux 环境中训练,它们需要能够使用 shell、读写文件、安装系统级和语言级的软件包。很多时候,代理甚至想使用多种编程语言。当前许多用于构建代理的环境限制太多,而我们真正需要的是一个尽可能开放的环境,类似于软件工程师的日常工作环境。
要交付真正的软件,你还需要部署 (deployments)、数据库 (databases) 等一系列工具。基本上,软件工程师日常工作所需的一切,都应该能被软件工程代理所调用。
软件工程代理的未来
今天早些时候,在 Karpathy 的演讲中,他也提到了编码只是简单的一环,真正的挑战在于那些尚未解决的问题。事实上,其中很多问题我们已经解决了。
例如,Replit 自带身份验证 (authentication) 功能。代理本身不擅长处理验证,所以最好使用内置服务。在 Replit,你只需要一行代码就能开启认证功能。当你让 Replit 代理集成认证时,它会自动使用 Replit 的认证服务。你将拥有用户管理、数据库存储、自定义域名、安全的 API 密钥管理 (secrets management) 和后台任务 (background jobs) 等功能。
此外,代理还需要存储空间,用来从网络上抓取和保存图片、文档等资料,供应用日后使用。
在我们的发展蓝图中,还包括“通用模型访问” (universal model access)。目前,如果你想让模型处理图像或视频,你需要自己去寻找合适的模型、获取 API 密钥,过程非常繁琐。很快,在 Replit 上,你需要的任何模型都将可以直接在你的应用中使用,我们将处理好计费和 API 集成。
支付 (Payments) 功能也至关重要,这不仅是为了让你的用户为你的应用付费。未来,我设想代理会拥有自己的钱包 (wallet),可以用来支付各种服务。比如,当代理需要集成 Twilio 服务,而当前系统没有提供时,它应该能自己用信用卡去开通这项服务。一个更激进的想法是,代理甚至可以雇佣人类。例如,当它遇到验证码无法识别时,可以去 TaskRabbit 这样的平台发布任务,请人来解决。
同样,代理之间也需要协作。你的软件工程代理应该能够去市场上寻找并“雇佣”其他专业代理,比如 YC 孵化的许多做会计或销售的代理。很多人认为 MCP 是解决代理间通信的工具,但它其实更像一个传统的 RPC 协议,并不能真正解决这个问题。
AI 代理的自主性级别
我们可以用自动驾驶的等级来类比代理的自主性。
-
一级自主性:就像车辆的车道保持辅助。在编程领域,这相当于代码编辑器中的语言服务器 (language server),比如 VS Code 里的 IntelliSense。
-
二级自主性:相当于 AI 代码补全工具,比如 Copilot。
-
三级自主性:我们最初发布的 Replit Agent V2 大概在 3.5 级。它能独立工作 10 到 15 分钟,但仍需要用户不时地测试和确认应用是否正常运行。
-
四级自主性:我们正在研发的 V3 版本。它接近完全自主,虽然仍需一些关注,但基本可以独立工作。
-
四级以上:我预计未来几年内可以实现。届时,你可以启动一千个代理,交给它们一千个问题,并有信心其中 95% 都能成功解决。可靠性将大大提高。任何工程师或产品经理都可以调动成百上千的“工程师”为他们工作,几乎不需要监督,从而极大地提升个人影响力。
我们正在研发的 Agent V3 基于三大支柱:
-
端到端测试:现在的模型具备所谓的“计算机使用” (computer use) 能力,就像 OpenAI Operator 那样,可以像人一样点击和操作计算机。虽然目前这项技术还比较慢、昂贵且不完善,但我认为它代表了模型能力的前沿。未来 3 到 6 个月,它会变得更好,并催生一个全新的市场。一旦代理能够自行测试应用,它就能独立工作更长时间,从三四十分钟到一两个小时。
-
采样与模拟 (Sampling and Simulations):目前模型在推理时,很多思考是“闭门造车”,缺乏与真实环境的互动。我们希望模型能提出假设,并立即在真实环境中进行测试。为此,Replit 构建了一个完全事务性的、可逆的文件系统。用户的每一次编辑都是一个原子性的时间快照,这使得我们可以低成本地创建文件系统的分支 (fork)。当代理遇到难题时,它可以将自身和环境复制多份,尝试用不同方法解决问题,然后选择最佳方案合并回主分支。这就像人类思考时在脑中进行各种模拟一样,能将代理的可靠性提升两到三倍。
-
自动化测试生成:我们希望代理为它创建的每一个功能都生成测试用例。这样,在后续的修改中,它可以通过运行测试来确保没有破坏已有的功能。这比听起来要难,因为模型目前还不太擅长生成高质量的单元测试,而且速度也需要足够快。
对软件市场的预测
YC 的下一期孵化项目正在接受申请,如果你有创业想法,请访问
提交申请,永远不会太早。
回到正题,我的预测是:所有应用软件 (application software) 的价值都将趋向于零。换句话说,软件将变得极其廉价,以至于没有人能再通过传统的 SaaS 模式赚钱。
我不是说这明天就会发生,我早已放弃预测具体的时间线,但这将在未来几年内成为现实。当任何人都可以通过一个提示 (prompt) 生成任何复杂度的软件时,应用的价值自然会大幅下降。
如今,无论大小企业,可能都购买了数十种 SaaS 软件来维持运营。即使是现在,你也可以用 Replit Agent 或自己编写软件来替代其中一大部分。几年后,这个可替代的比例将从 15% 变为 100%,这将彻底改变软件市场。
举个例子,我们公司一位在人力资源部门的同事 Kelsey,她从未写过一行代码。她需要一款组织架构图软件 (org chart software),并且有一些定制需求,比如连接到我们的薪资系统 ADP。市场上的产品要么不完全满足需求,要么每年花费数万美元,非常昂贵。于是,她决定自己动手,花了不到三天时间,就做出了一款我们现在内部在用的软件。这款软件如果推向市场,完全可以作为一个 SaaS 产品,每年收取数万美元的费用。
一个 HR 专业人士能够自己开发工作所需的软件,这简直令人难以置信。你可以想象几年后,软件行业会发生怎样的颠覆。
对商业和就业的影响
改变的不仅是软件行业,我们的工作方式、商业模式乃至公司的运作方式都将发生根本性的变化。
自工业革命以来,专业化分工 (specialization) 一直是主流。在工厂的流水线上,一个人负责一个零件,另一个人负责测试,再一个人负责组装。这种模式让员工尽可能地专业化,也更容易被替代。
但当你的 HR 同时也可以是软件工程师、营销人员,或者任何其他角色时,情况就完全不同了。因为他们可以借助 AI 代理学习和完成任何事情。未来的工作将不再那么专业化和孤立。
通才员工的角色
事实上,我们已经在 Replit 内部实践这一理念。我们正在组建一个真正的产品团队,团队里的成员通常集设计师、工程师和产品经理于一身。我们试图融合多种角色,培养“通才员工” (generalist employee)。
公司的组织架构将不再是金字塔式的层级结构,而更像一个网络,或者一个开源项目。每个员工早上醒来,他的任务不再是“写一封营销邮件”或“优化这个按钮”,而是“让公司成功,为公司创造价值”。每个人都将成为一名创业者。
这是一种前所未有的模式。想象一下,当每个人都能使用通用的软件工程代理和其他各类代理时,领域知识 (domain expertise) 仍然重要,但其重要性会呈指数级下降。
这让我想到一本 80 年代出版的、预测极其精准的书——《主权个体》(The Sovereign Individual)。书中写道:“思想将成为财富。才华,无论在何处出现,都将得到前所未有的回报。在一个财富的最大来源是你头脑中的想法而非物质资本的环境中,任何能清晰思考的人都可能变得富有……最聪明、最成功、最有雄心的人将作为真正的主权个体出现。”
虽然“信息时代”这个词今天可能有些过时,我们可以称之为“智能时代”,但这本书预言了加密货币、远程工作等许多事物。这种被技术和代理赋予强大能力的“主权个体”,能够独立创造巨额财富,将成为常态。
想想中本聪,一个人创造了价值数万亿美元的比特币。他写了论文,开发了软件,然后发布出去,最终成就了一番伟业。未来,这样的事情会越来越普遍。最棒的是,机会将是普惠的,无论你身在硅谷还是世界任何角落,只要你能清晰地思考,提出好点子,你就可以在 Replit 上把它变成现实。
未来的协作将是无缝的。大家都在讨论“一人独角兽公司”,但这可能忽略了重点。真正有趣的是,你将能非常迅速地组建和解散团队,无论是人类团队还是代理团队。你可以在一两天内完成一个项目。甚至,你可能在网上与一个你以为是人类的伙伴合作,而对方其实是另一个人构建的 AI 代理。
随着交易成本趋近于零,雇佣全职员工的必要性会降低。就像今天用 Uber 打车一样,你只需按下一个按钮。未来,寻找一个开发者——无论是软件代理还是人类——也会变得如此简单。你的代理或许能自动在网上筛选和面试大量的候选人或代理,为你找到解决问题的最佳方案。
我之前说应用软件的价值会归零,但这不代表所有软件都会如此。目前的工作流程是,代理制作一个软件,然后用户使用这个软件解决问题。但这只是中间步骤。未来,代理可以直接解决问题。对于 Replit 和许多其他公司来说,要想生存下去,就必须从“创造应用”转向“用软件解决问题”。
我想留出充足的时间进行问答,所以我的分享就到这里。
观众问答
提问者: 我叫 Chinat,来自斯坦福大学。在您描绘的未来中,人类是会与多个代理互动,还是会有一个统一的代理?如果是多个代理,我们如何处理不同代理之间数据、记忆和上下文的碎片化问题?
Amjad Masad: 我认为是多个代理。原因在于,假设我是一个拥有独特领域知识的专家,比如一位擅长处理非常罕见案件的世界顶级律师。我不会把我的专业知识开源,也不会卖给 Scale AI 或 OpenAI。我会把这些知识注入到一个代理中,让它成为这个特定领域的专家代理,从而规模化我自己的能力。
因此,人们会创建各种代理来为自己工作。同时,也会有“总管”代理去组织这些专业代理团队,当然还有软件开发代理。最终你可能会通过一个主界面(比如 ChatGPT)来协调这一切,但这本质上是一个多代理的世界,拥有不同的上下文。就像今天我们找律师,需要向他提供案件的背景信息一样。未来可能需要新的协议来解决代理间的通信问题,这本身就是一个很好的创业机会。
提问者: 在不远的未来,当 AI 系统能自动化大部分体力和脑力劳动,我们将任务越来越多地委托给代理时,人类还能做什么?我们的生存状态会是怎样的?
Amjad Masad: 这最终取决于你的世界观,以及你对 AI 的极限和人类独特性的看法。我的观点是,人类有其特殊之处,并且目前 AI 的实现方式存在根本性的局限。AI 无法真正进行“分布外泛化” (out-of-distribution generalization),它所能做的一切都必须在训练数据中有迹可循。
对于那些真正新颖的问题,你仍然需要人类的创造力去解决。人类将更多地扮演创造者的角色。虽然代理也能表现出创造力,但更多是组合已有的元素,而非创造全新的知识。所以,“思想即财富”的理念会变得非常激动人心。人们可以快速地产生新想法并进行验证,但我认为短期内,你还无法对一个代理说:“去帮我找个商业点子,并把它们都测试一遍。”
提问者: 我关注 Replit 很多年了,也是在 Replit 上学会编程的。您提到清晰的思考和创意是未来的关键,这是否意味着我们应该更倾向于人文社科 (liberal arts) 的批判性思维教育,而不是传统的 STEM 技能教育?
Amjad Masad: 我不认为它们是相互排斥的,但我确实认为人文社科会变得更有价值。未来的公司需要更多通才,今天的工程师有时可以不了解自己所在的业务,只专注于狭窄的技术领域。但在未来,每个人都需要更广阔的视野和技能组合。所以,科学思维依然重要,但两者并不矛盾。
提问者: Replit 的代理能自主工作一小时,这非常了不起。考虑到你们可能使用的是无法接触预训练和后训练的闭源模型,请问你们主要是在技术栈的哪个环节取得了突破,才实现了如此高的自主性?
Amjad Masad: 关键在于我所说的“栖息地” (habitat)。商业模型公司可以训练出强大的模型,但任何代理公司都需要为这些模型提供能够生存和发挥作用的基础设施。
Replit 的一个核心技术是它的事务性 (transactional) 或原子性 (atomic) 环境。在 Replit 中,对计算机环境的每一次修改都与其他所有组件同步。你可以在历史记录中找到任意一个时间点的快照,并重启当时状态的应用。我们认为这种基础设施对于提升模型的可靠性至关重要。模型的可靠性提升不能只靠训练,通过与环境的快速反馈和试错,才能达到更高的水平。这正是我们专注的重点。
**提 “通才员工”是未来的趋势,我完全同意。但现在很难找到能为这种未来做准备的职位。我们应该寻找什么样的机会来培养成为一名优秀通才所需的技能呢?
Amjad Masad: 尽早加入初创公司。当然,这是一个风险递减的过程:作为创始人,你能得到最全面的通才经验;作为早期员工,经验次之;到第 100 号员工时,通才的体验就少很多了。但即使是在一家 B 轮公司的第 20 号员工,你获得的经验也远比在大型科技公司多。
加入之后,你还需要主动寻找成为通才的机会。不要等着别人给你分配任务。你应该抱着这样的心态:我早上醒来,看到的不是待办事项列表,而是一个使命——让这家公司更成功、更有价值。
提问者: 关于代理自主工作一小时,你们团队是如何权衡“延长工作时间”和“提升短期任务推理能力”这两个目标的?
Amjad Masad: 提升短期推理能力更侧重于可靠性 (reliability),而延长工作时间则侧重于自主性 (autonomy),即减少人工干预。我们两者都在做。
为了提高可靠性,我们投入研发更强的推理能力和并行试错机制(即采样与模拟)。为了延长自主工作时间,我们专注于测试,因为时间越长,代理越容易偏离目标。通过沿途设置测试作为“护栏”,可以确保其行为的连贯性。同时,我们通过收集失败案例的数据,不断微调模型或优化提示,使其表现更好。
提问者: 我想了解一下,在代理已经过度饱和的某些领域,创业者在选择方向时应该如何考量?
Amjad Masad: 软件工程代理领域的竞争确实非常激烈,新入局者需要有真正新颖的想法。但还有很多领域机会巨大,比如有谁在为 HR 或财务构建代理?
我的建议是,从你的兴趣和领域知识出发。创办代理公司的最佳方式是,如果你自己就是一名合规官,那就去创办一个合规代理公司。因为你最懂这个领域,而领域知识是构建优秀代理公司的最重要因素。
提问者: 如果构建软件的成本趋近于零,那么像 Replit 这样构建软件的平台,其价值是否也会归零?你们的长期盈利模式是什么?
Amjad Masad: 注意,我说的是“应用软件”,而不是所有软件。软件将继续运行我们的生活,但很多会是自主运行的。例如,我自己用 Replit 构建了很多个人软件来管理生活,比如量化自我、分析睡眠数据等。未来,我应该可以直接告诉 Replit 代理我的目标,让它自己去搞清楚需要开发什么软件、如何运行、我需要购买哪些可穿戴设备、每天记录什么数据等等。
Replit 需要成为一个通用的问题解决平台才能生存下去。对于那些专注于原型设计领域的公司来说,竞争已经非常激烈了。Replit 今天的核心优势在于其全栈能力——从一个想法,到最终部署和扩展一个可用的软件。
提问者: 我对您“所有代码都由代理编写”的未来愿景很感兴趣,但也有一个担忧:用一个生成模型产生的数据去训练另一个模型,会导致误差和噪声不断累积。在代码由代理编写、测试和批准的未来,我们如何避免这个问题?
Amjad Masad: 我的判断是,我们很快会转向类似 AlphaZero 的训练方式。你会有一个在全网数据上训练的基础大语言模型,但下一代模型的训练方式将是在一个强化学习环境中,让它自己生成大量问题,并通过“自我对弈” (self-play) 的方式解决这些问题、获得反馈。
下一代软件代理将通过这种大规模并行的方式产生,而不是在人类编写的代码上进行训练。因为正如你所说,未来将不再有那么多人类代码。我们必须解决这个问题,否则技术发展将很快遭遇瓶颈。
提问者: 我对支持这些代理所需的系统很感兴趣,特别是你们发布的通用包管理器 (universal package manager) 和对 Nix 的使用。您提到了写时复制 (copy-on-write) 快照、分支和合并技术。这些技术会开源吗?
Amjad Masad: 我们已经开源了一部分包管理器的工作,并且是 NixOS 的主要贡献者。NixOS 是一个事务性的操作系统生成器。关于文件系统的技术,我们至少会公开讨论它,目前这部分工作还在积极进行中。欢迎你来 Replit 实习,学习这些技术,然后自己去创造。
好的,谢谢大家。
