Cloudflare 工程师提出由用户生成缺失功能的 Web 应用

Jeremy Morrell 认为,LLM 编写的扩展和沙箱化运行时可以为那些对传统产品路线图来说过于特定的工作流程提供服务。

By · Published

Primary source: Jeremy Morrell

Why it matters

LLMs can write niche features on demand, but the larger opportunity belongs to platforms that can run that code safely inside products holding real customer data.

Cloudflare engineer proposes web apps whose users generate the missing features

Jeremy Morrell, a principal engineer at Cloudflare, 希望 Web 应用让用户生成产品团队永远没有时间去构建的功能。

Y Combinator 在 X

在一篇 于 8 月 18 日发表的文章 中,Morrell 提出了一种围绕稳定、可追责的核心和受控扩展点构建的 Web 软件模型。用户可以用普通英语描述一个专门的工作流,让 LLM 编写所需代码,并在主应用管理的沙箱中运行它。

这种结构解决了一个熟悉的产品问题。软件团队优先考虑能够服务最大用户群的功能。需求曲线尾部的请求会被搁置、保持手动处理或永远不会发布。将每一个请求的功能都加入界面,最终会导致界面承载成千上万无关用户的累积偏好。

Morrell 的提议为这些用户提供了另一种选择:请求应用为他们制作缺失的部分。

他在文中给出的示例 故意很平常。一个稍后阅读服务可以将每篇超过 4,000 字的已保存文章发送到电子阅读器。一个研究工具可以每周在狭窄领域发现新论文并添加摘要。用户可以让代理修复一个一直错误解析某个出版物的解析器。

每个请求都过于具体,不值得在广泛的产品路线图上占据位置。但它们合在一起,形成了一个大类的未被满足的需求。

一位平台工程师沿着技术栈向下追踪问题

Morrell 在 2019 到 2024 年间在 Heroku 工作,负责 Node.js 的语言体验,随后领导一个可观测性团队,并在 2024 年 11 月加入 Cloudflare。在此之前,他曾在 Facebook 和 Recurly 担任前端工程师。他在 Rice University 学习计算与应用数学。

这一背景有助于解释为什么他的文章花更少的篇幅庆祝代码生成,而更多地审视模型生成代码之后会发生什么。困难的问题涉及部署、权限、资源限制、调试和租户隔离。

Morrell 的提议依赖于一种运行时,能够将生成的代码保持在受控边界内,同时仍允许其执行有用的操作。主应用将继续对扩展的访问、可靠性和暴露的数据负责。

一项 2026 年 6 月的安全研究 发现,通过自然语言编码生成的应用中反复出现的脆弱性,包括密钥泄露、未过滤的输入和占位符逻辑。更好的模型和提示在研究者的测试中减少了问题,但并未消除潜在风险。

Pi 展示了自我扩展软件的样子

Morrell 指向 Pi 作为他最清晰的工作示例。Pi 是一个开源的终端代码代理工具框架,在 Earendil Works 旗下发布。它为工具、命令、事件和其终端界面暴露了钩子。用户可以让 Pi 编写一个 TypeScript 扩展,在会话中重新加载它,并将结果打包供他人使用。

Pi 的设计将功能视为可选模块,而不是对核心的永久性添加。这种结构允许用户定制软件,而不要求每个扩展都成为官方功能。

OpenCode 正在通过内部插件架构朝类似方向发展。这些项目目前还假定用户能够在本地运行代码、检查权限并接受随之而来的风险。Morrell 更大的机会在于技术受众之外的人群。

会计师、医生、律师和支持人员可能有高度具体的工作流,但不能合理地被期望去管理任意本地代码。要接触到他们,主应用需要承担安全和运营负担。

这正是 Pete Koomen,Optimizely 的联合创始人、现任 Y Combinator 普通合伙人在“Small Software”标签下描述的差距。在一篇 7 月 22 日的帖子 中,Y Combinator 认为代理让个人工具更容易创建,而部署、安全和共享仍然要困难得多。

Morrell 将这一论点移入现有产品内部。SaaS 提供商可以不再要求每个用户创建并操作一个独立应用,而是提供受信任的数据、界面和运行时,然后让生成的扩展处理那些特殊的最后一英里问题。

Cloudflare 在基础设施方面有理由支持这一论点

Morrell 指出 Cloudflare Dynamic Workers 是他所描述模型的一个特别合适的匹配。该系统是将运行时提供的代码在受控边界内执行的一个可能方式。

Cloudflare 还有一个具体的示范项目 Cloudflare OS,这是一个最初为 Cloudflare 内部使用而开发的开源 AI 生产力环境。其文档描述了一个代理聊天界面、为称为 Gadgets 的小型个人应用提供的沙箱开发,以及名为 Gatekeepers 的安全框架,对代理和应用施加护栏。

该项目提供了 Morrell 所描述行为的早期版本,尽管他的文章将该想法呈现为一种更广泛的产品架构,而不仅仅是 Cloudflare 的路线图。

功能积压成为运行时问题

LLMs 可以消除大部分的编写负担,而无服务器运行时、V8 isolates、microVMs 和 WebAssembly 则降低了执行用户代码的成本。艰巨的工作转向定义安全的扩展点以及决定主应用将允许什么。

对于创始人来说,这改变了产品决策。来自小范围客户群的请求不再必须成为永久的菜单项或不受支持的 webhook。它可以成为一个有界的扩展,由用户生成并由应用监督。

权衡依然很大。每一个扩展点都会扩大安全模型,产生支持义务,并引入原始产品团队未编写的行为。稳定的核心仍然需要明确的限制、审计轨迹和禁用故障代码的方式。LLMs 让定制更便宜;它们并不会减轻主应用的责任。

Morrell 打赌,经济性已经足够改变,值得承担这项工作。如果他是对的,下一代 SaaS 产品将更少地假定每个客户应该如何工作。它们最重要的功能可能是为用户搭建一个安全的地方来构建其余部分。

Reader comments

Conversation for this story loads after sign-in.