不用写前端代码,不用设计模板——模型直接从对话上下文生成完整的UI卡片。

一个正在悄悄发生的变化:AI Agent不仅要能「说」,还要能「画」。
当Agent从纯文本对话走向真实的产品场景,一个绕不开的问题浮出水面——界面怎么生成?
传统做法是提前写好大量UI模板,Agent根据意图匹配模板填充数据。但这条路的天花板很低:模板数量有限、适配成本高、无法应对复杂多变的用户场景。
如果模型本身就能理解用户意图、对话上下文、产品状态和可用动作,然后直接输出一个结构化的UI卡片呢?
刚刚,Mind Lab在Hugging Face上开源了Macaron A2UI系列模型——一组专门用于生成式UI(Generative UI)的LoRA适配器。模型接收对话上下文作为输入,输出符合A2UI v0.8协议的结构化JSON卡片,可直接被渲染器消费。
三个规格,覆盖从轻量到旗舰:




目前Tall版本已开源,权重以LoRA适配器形式发布,MIT协议。
HuggingFace地址:mindlab-research/Macaron-A2UI-Tall


什么是A2UI?
要理解Macaron A2UI在做什么,先要理解A2UI协议
A2UI(Agent-to-UI)是一套定义Agent如何向前端输出结构化UI指令的协议。它规范了一系列消息类型,包括:

  • beginRendering:开始渲染
  • surfaceUpdate:更新界面
  • dataModelUpdate:更新数据模型
  • deleteSurface:删除界面

这意味着Agent不再只是返回一段文本——它返回的是一组可执行的UI操作指令,前端渲染器按协议解析后直接渲染成用户界面。
Macaron A2UI就是被训练来生成这些指令的模型。


核心设计:从上下文到UI卡片
Macaron A2UI的输入和输出非常清晰:
输入:用户意图、对话上下文、产品状态、可用动作(以JSON格式组织) 输出:一个JSON对象,包含两个字段: Json { "text_response": "...", "a2ui": [...] }


其中text_response是文本回复,a2ui字段包含符合A2UI v0.8协议的UI消息。
不输出Markdown代码块、不输出JSON之外的解释文字——纯结构化输出。
这种设计意味着:模型的输出可以直接被程序消费,不需要额外的解析和清洗步骤。


技术方案:GRPO + LoRA
Macaron A2UI的训练方案选择了GRPO(Group Relative Policy Optimization)+ LoRA的组合。
在Qwen3-30B A2UI初始化的基础上,使用GRPO进行后训练。这一选择很有意思——GRPO天然适合有明确格式约束的生成任务,因为生成的UI卡片是否合法可以被验证器直接判定,为强化学习提供了清晰的奖励信号。


LoRA适配器的具体配置:




以LoRA适配器形式发布,意味着用户可以在此基础上继续训练、检查和适配到自己的场景。


快速上手:几行代码加载
Macaron A2UI的使用非常简单——加载基座模型,挂载适配器:
Python from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel import torch base_model_id = "Qwen/Qwen3-30B-A3B-Instruct-2507" adapter_id = "mindlab-research/Macaron-A2UI-Tall" tokenizer = AutoTokenizer.from_pretrained(base_model_id, trust_remote_code=True) base_model = AutoModelForCausalLM.from_pretrained( base_model_id, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True ) model = PeftModel.from_pretrained(base_model, adapter_id) model.eval() messages = [ {"role": "system", "content": "You are an A2UI v0.8 card generation model. Output exactly one valid A2UI JSON card."}, {"role": "user", "content": "<USER_CONTEXT_JSON>"}, ] text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) inputs = tokenizer(text, return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=2048, do_sample=False) response = tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True) print(response)


为什么这件事重要?
生成式UI对个人Agent的意义,可能被低估了。
当前主流的Agent产品——无论是Claude、ChatGPT还是各类垂直Agent——在交互层面仍然高度依赖纯文本输出。即使有工具调用和代码执行,最终呈现给用户的形式仍然是文字为主。
但在真实的产品场景中,用户需要的往往不是一段话,而是一个可以操作的界面——一个订单确认卡片、一组商品对比、一个日程安排表、一个待办清单。
从「文本回复」到「结构化UI」,是Agent从"能聊天"到"能做事"的关键跃迁。
Macaron A2UI的做法是:不靠规则引擎、不靠模板匹配——让模型本身学会根据上下文生成正确的UI结构。用GRPO保证输出的格式合法性,用LoRA保证可持续迭代和个性化适配。
这也与Mind Lab一直倡导的体验智能(Experiential Intelligence)方向一致:模型不只是理解语言,还要理解用户的产品场景,并以最合适的形式呈现信息。


三个规格,覆盖不同需求
Mind Lab为Macaron A2UI提供了三个规格变体:




命名风格是不是有点熟悉?是的,Tall/Grande/Venti——和咖啡杯型号一样。而「Macaron」这个名字也延续了Mind Lab产品线的命名风格。


已知局限与使用建议
Mind Lab在Model Card中坦诚列出了已知局限:

  • 可能生成合法JSON但语义偏弱的UI
  • 如果动作空间描述不充分,可能幻觉出不存在的动作
  • 仅支持A2UI v0.8,对更新版本的兼容性无法保证
  • 生产环境渲染前必须经过外部验证器校验
  • 不应用于不可逆或安全关键的UI操作(除非有用户确认)

Mind Lab推荐的最佳实践是Validation-first(验证优先):模型输出 → 验证器校验 → 渲染。


Mind Lab是谁?
Mind Lab是一家由95后青年科学家组成的AI研究团队,致力于构建体验智能(Experiential Intelligence)——能从真实经验中持续学习的AI系统。
此前,Mind Lab已发布后训练平台MinT、完成业界首个1T LoRA-RL、修复MoE RL中Router Replay R3关键Bug、提出Context Learning范式、发布MindClaw个人Agent系统,以及δ-mem在线记忆机制。
Macaron A2UI是Mind Lab在Agent产品化方向上的又一步——从后训练基础设施到个人Agent,再到Agent如何与用户交互的最后一环。
本文核心贡献者:Fancy Kong、Congjie Zheng、Murphy Zhuang、Rio Yang、Sueky Zhang、Hao Fu、Gene Jin、Andrew Chen、Pony Ma。


写在最后
从「模型输出文字」到「模型输出界面」,听起来只是输出格式的变化,但背后是Agent产品化的一次范式跃迁。
当Agent能直接生成用户可操作的UI,「对话式AI」这个概念本身就要被重新定义了——不再是人和模型"聊天",而是模型根据场景为用户"搭建"即时界面。
Macaron A2UI Tall现已在HuggingFace开源,MIT协议,感兴趣的开发者可以直接试用。
HuggingFace:mindlab-research/Macaron-A2UI-Tall
研究博客:https://macaron.im/mindlab/research/macaron-a2ui-generative-ui-personal-agent


参考链接:

  • https://huggingface.co/mindlab-research/Macaron-A2UI-Tall
  • https://macaron.im/mindlab/research/macaron-a2ui-generative-ui-personal-agent
  • https://macaron.im/mindlab
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐