在普通前端应用里,Renderer 常被理解为“把数据变成节点”的一层。但当界面描述来自智能体时,它同时承担了翻译、验证和授权。它决定哪些意图可以进入应用,也决定哪些操作可以离开应用。

先翻译,再渲染

智能体输出的组件名并不等于真实组件。Renderer 需要先在注册表里找到宿主认可的实现,再根据 Schema 校验属性。未知组件不是“尽量猜一下”,而应该稳定降级;不合法属性也不能悄悄穿透到运行时。

模型负责提出 UI 意图,宿主负责解释意图;解释权就是控制权。

Action 比组件更敏感

一个组件渲染失败,通常只影响当前表面;一个未经验证的 Action 却可能跨越网络、改变数据甚至触发外部系统。因此 Action 不应该只按名称查找,而需要同时校验能力范围、任务上下文与参数大小。

UI intent
  → component registry
  → props schema
  → local interaction
  → action allowlist
  → host transport

好的边界也带来更好的体验

安全边界不是只为阻止错误。它也让产品行为更可预测:未知动作可以明确禁用,离线状态可以保留本地输入,重复提交可以被任务标识拦截。用户得到的不是更多限制,而是一套不会因为模型偶然输出而失去一致性的交互。

当 Renderer 被看作信任边界,组件设计、协议设计与产品体验就不再是三个分离的话题。它们共同回答同一个问题:系统愿意把多大的解释权交给智能体。