苹果的研究人员最近公布了 SQUIRE 的细节,这是一款实验性的 AI 驱动工具。它能帮助开发者探索和打磨界面想法,而且比一般的 AI 编码工具拥有更强的控制力。下面我们来看看具体是怎么回事。
AI 驱动界面原型设计的一种新颖做法
在一篇题为 SQUIRE: Interactive UI Authoring via Slot QUery Intermediate REpresentations 的新论文里,苹果的一群开发者提出了一种生成 AI 界面的全新方式。

正如他们所说,自然语言虽然给开发流程的很多环节带来了灵活性,但也带来了两个主要难题:
首先,光靠自然语言容易产生歧义,开发者很难精准地传达自己的真实意图。其次,模型的输出有时不太靠谱,开发者往往得反复调整提示,通过试错来修正那些不想要的改动。
这时候 SQUIRE 就派上用场了。它是一个可视化界面,能让开发者一步步构建和优化 UI 原型,对结果的把控也更清晰。
研究里是这样描述的:
在 SQUIRE 中,用户先输入一个提示,说明对 UI 的设计目标,同时提供一些样本数据作为参考。然后,用户通过自上而下的方式构建组件树,提示 SQUIRE 去填充那些代表缺失功能的「空洞」。针对这类请求,SQUIRE 会生成一系列合适的备选方案,每个方案都只针对指定位置。用户点击某个方案后,实时预览和底层代码都会马上更新,很容易看出差别。用户还能针对 UI 特定区域的外观提出修改要求,而且系统保证只改动指定范围内的代码,不会影响到其他地方。对于这种请求,SQUIRE 会生成一些临时控制选项,让用户快速应用相关改动,不用再重新写提示。在整个过程中,大语言模型就像一位助手,提供合理的选择供用户参考,最终决定权还是在用户手里。
简单说,开发者还是用自然语言提示来和 SQUIRE 交流,但每个提示现在都只针对 UI 的特定部分,而不是一次改动整个界面。
研究人员让 11 位前端开发者实际使用 SQUIRE 制作界面原型后发现,大家在探索和迭代不同 UI 设计时都很有控制感,同时对系统的易用性和整体体验评价都很高。
另外,这种控制感也让开发者更愿意去尝试一些平时可能不会碰的方案,因为改起来简单、效果可预期,而且随时能撤销。
研究中还提到:
通过对 11 位前端开发者的用户研究数据,我们发现:(1)SQUIRE 的交互设计鼓励大家多去探索,而不是简单把它当成代码生成器;(2)参与者敢于冒险尝试新想法,因为知道就算选了不太常规的做法,后果也能轻松撤销;(3)大家对 SQUIRE 是否真正理解了自己的意图很有信心;(4)参与者普遍对系统生成的代码质量和视觉效果感到满意。
SQUIRE 的工作原理
SQUIRE 不会直接根据提示生成界面代码,而是先创建一个叫 SquireIR 的中间表示,把 UI 建模成一个带有命名槽位的组件树,这些槽位可以逐步填补,就像下面例子这样:

这种结构还能包含还没定义好的占位符,比如按钮文字、图片或者某块内容,同时支持多种 UI 方案。比如同样的内容可以是列表形式,也可以是网格布局。

然后,SQUIRE 再把这个表示转换成 HTML、CSS 和 JavaScript 代码,用 Web Components 来搭建最终的 UI 结构。
SQUIRE 另一个重要特点是处理修改的方式。
如果你要改一个按钮或者调整布局,只有对应部分会更新,其他地方完全不受影响。

研究人员说,这样就能避免很多 AI 编码工具里常见的反复试错问题——因为大语言模型有时候会做出超出预期的改动。
这种设计也让 SQUIRE 能在每一步提供多个选项,开发者可以快速对比不同版本,而且不会弄乱之前的工作。
跟不少技术论文不一样,这篇研究没怎么讲模型训练、架构或者数据细节。他们只提到 SQUIRE 用的是 OpenAI 的 GPT-4o,但重点还是放在系统设计和交互方式上。
SQUIRE 目前还没公开可用,只在参与研究的 11 位开发者那里测试过。不过不难想象,类似的功能以后很有可能出现在 Xcode 或者其他苹果开发工具里。
想了解更多关于 SQUIRE 的信息,请点击此链接。



















