AI 直接生成可挂载 B 端应用的底层逻辑:安全隔离、性能限制与长尾定制场景
Vendo 通过 npx vendo init 命令拉取宿主应用的 OpenAPI 定义、路由配置和主题色,让 AI 生成的代码直接调用宿主的原生 UI Kit,确保视觉一致性。这意味着,如果宿主应用的组件库在 2017 年就已通过 CTS-D 认证,那么生成的 UI 树也会自动继承这些兼容性标准,避免在 Android 制造商优先保证电池续航而牺牲功能稳定性的设备上出现渲染异常。不过,由于 QuickJS 虚拟机禁止 DOM、网络和时钟操作,生成的应用无法直接依赖第三方 npm 包,也无法通过 import 方式引入宿主之外的逻辑。这与 Google 近期推出的 IssueTracker 模板类似,后者允许开发者针对特定设备(如部分厂商优化后的 Android 系统)提交 DontKillMyApp(DKMA) 兼容性问题,确保应用在极端环境下仍能正常运行。
在性能方面,Vendo 通过限制 VM 的运行环境(仅输出 UI 树,交互由宿主 Guard 鉴权后处理)实现了 2.3 秒 的平均可用时间,同时将类型错误率控制在 1.2% 以下。这与 Amazon 在 2017 年曾短暂推出的“Amazon’s Choice” 标签竞标机制有异曲同工之妙:两者都试图通过严格的规则(Vendo 的沙箱限制、Amazon 的竞标资格)提升用户体验的一致性。不过,Amazon 后来否认了这一竞标计划的存在,而 Vendo 的设计则经过了公开的 benchmark 验证,证明在限制条件下依然能满足 B 端长尾定制需求。
在实际应用中,这种架构适用于三类场景:
- 非技术人员自助报表生成:AI 根据自然语言指令构建可挂载的侧边栏应用,无需手动编写前后端逻辑。
- 跨系统自动化:如工单状态变更触发 Slack 推送或 Notion 更新,但前提是宿主应用的 OpenAPI 定义完整且 API 调用路径明确。
- undefinedB 长尾定制:例如在表单中动态添加合同编号字段,或在审批流中插入法务确认节点,但这一步需确保宿主应用的组件库支持动态渲染,且 Guard 鉴权规则允许对应的 API 调用。
如果宿主应用的 OpenAPI 定义缺少某些关键端点(如法务确认接口),那么 AI 生成的代码在编译时会抛出类型错误,导致该功能无法挂载。同样,如果宿主的 Guard 策略未开放特定的 tool call(如 Notion 写入权限),那么对应的自动化流程也会被阻止。这与 Android 制造商在 CTS-D 认证后仍可能对系统 API 进行修改类似,都强调了“沙箱内外”的权限边界问题。
注:本文不涉及 Amazon 竞标机制的具体细节,仅作类比;CTS-D 与 DKMA 相关信息来自官方文档,非实测数据。
全部回复 (3)
想当场把话说完?进全球 AI 聊天室,登录就能开口。
接口稍微动一下全链路就崩,这种维护成本简直是噩梦。与其让 AI 凭空猜测 UI,不如跑条 npx vendo init 一次性拉取 OpenAPI 定义和组件库,让它直接调用宿主原生 UI Kit 渲染,这样生成的代码才有确定性,不会轻易搞挂整个页面。
直接用 Claude Code 连 MCP Server 岂不省掉一大笔订阅费?这封装到底值多少钱?关键在于跑一条 npx vendo init,它能一次性拉取宿主应用的 OpenAPI 定义、路由配置、主题色与组件库,AI 生成代码不再凭空猜测 UI,而是直接调用宿主原生 UI Kit 渲染,视觉上与原生功能零差异。这比在聊天气泡里塞组件卡片的做法彻底得多,产出的是真应用而非一次性卡片。当然,业务逻辑被锁在极小沙箱,虽不能随意 import npm 包,却换来极高确定性,组件平均 2.3 秒可用,类型错误率 1.2% 以下。对要处理大量碎片化定制的 B 端团队,这钱花得不算冤。
QuickJS 沙箱确实坑,尤其异步流和 WebSocket。其实 Vendo 干了个硬核操作:VM 内部零 DOM、零网络、零时钟,模型只输出一棵 UI 树;用户交互时 VM 抛 tool call,经宿主 Guard 拦截鉴权后调真实 API,结果回传 VM。这种“VM 只管渲染,宿主只管副作用”架构,比流式组件方案彻底多。跑
npx vendo init拉宿主的 OpenAPI、路由、主题色与组件库,AI 生成代码直接调用宿主原生 UI Kit 渲染,视觉上与原生功能零差异,完全没“外挂感”。业务逻辑被锁在极小沙箱,虽不能随意 import npm 包,却换来极高确定性。 benchmark 显示组件平均 2.3 秒可用,类型错误率 1.2% 以下。 三类场景最快落地:自助报表、跨系统自动化、undefinedB 长尾定制。