A2UI 协议采用纯JSON声明式数据格式,不执行任何代码。智能体输出的JSON 消息经过模式验证(Schema Validation),不符合规范的消息会被拒绝。与传统方法(智能体可能生成HTML片段、JavaScript 回调或React 组件)不同,A2UI 消息只包含数据,不包含可执行代码。即使发生提示注入攻击或模型幻觉,智能体也无法通过A2UI协议注入恶意脚本、访问不受信任的API或执行超出边界范围的操作。
客户端维护一个可信组件目录(Catalog),定义智能体能够请求的组件类型(如Button、TextField、Card等)。智能体只能从目录中选取组件来组合界面,就像只能用菜单上的菜来点餐,不能自己跑进厨房。如果智能体请求目录中不存在的组件类型,该请求会被客户端忽略。目录机制将组件实现的控制权牢牢掌握在客户端开发者手中,确保只有经过安全审查的组件才能被渲染。
A2UI 的安全性不是策略层面的建议,而是协议架构的结构性保证。智能体发送数据,客户端执行代码——这是A2UI的核心安全哲学,以一句话概括为:"agents send data, clients execute code"。智能体无法逃出组件目录,也无法在客户端执行任意逻辑。所有传入的JSON 都经过模式验证,格式错误的数据会被拒绝并返回结构化错误反馈,便于LLM自我修正。这种架构级安全设计使企业级应用能够安全地使用AI生成的UI,无需担心代码注入风险。
A2UI 协议本身是传输无关的,可以与多种传输机制配合使用,包括A2A 协议、AG UI、SSE和WebSocket 等。当使用A2A协议传输A2UI消息时,A2A协议提供内置安全性和身份验证机制,进一步增强跨信任边界的通信安全。A2A 协议的扩展实现无缝的A2UI消息传输,使A2UI 和A2A 协议共同成为企业网格和多智能体系统的理想选择,特别适合安全性和互操作性至关重要的场景。