Los investigadores de Apple han publicado detalles de SQUIRE, una herramienta experimental impulsada por IA que ayuda a los desarrolladores a explorar y perfeccionar ideas de interfaz con más control que las herramientas típicas de codificación de IA. Aquí están los detalles.
Un enfoque interesante para la creación de prototipos de interfaces impulsadas por IA
El título está en un nuevo artículo. SQUIRE: creación de UI interactiva a través de representación intermedia de consulta de ranuraun equipo Los desarrolladores de Apple ofrecen una forma novedosa de abordar las interfaces generadas por IA.

Como explican, el lenguaje natural aporta más flexibilidad a múltiples aspectos del proceso de desarrollo, pero también plantea dos desafíos clave:
En primer lugar, el lenguaje natural en sí puede ser ambiguo, lo que dificulta que los desarrolladores comuniquen con precisión sus intenciones. En segundo lugar, el modelo puede responder de manera impredecible, lo que requiere que el desarrollador vuelva a solicitar mediante prueba y error que repare cualquier cambio no deseado.
Aquí es donde entra SQUIRE. Es una interfaz visual que permite a los desarrolladores crear y perfeccionar prototipos de interfaz de usuario paso a paso con un control claro sobre los resultados.
De la investigación:
En SQUIRE, los usuarios inician un proyecto proporcionando un mensaje que describe sus objetivos para la interfaz de usuario, junto con datos de muestra que contienen información de SQUIRE para usar como referencia. Luego, los usuarios construyen la interfaz de usuario como un árbol de elementos de arriba hacia abajo pidiéndole a Square que rellene los huecos introduciendo la funcionalidad faltante pero esperada. En respuesta a dichas solicitudes, SQUIRE genera una lista de alternativas adecuadas, cada una de ellas con un alcance específico para el agujero objetivo en la interfaz de usuario inacabada. Al hacer clic en cada opción, aparece inmediatamente una vista previa en vivo y se actualiza el código subyacente, lo que facilita la visualización de las diferencias. El usuario también puede realizar solicitudes destinadas a cambiar la apariencia de áreas específicas de la interfaz de usuario, con la garantía de que ningún código se modifica fuera del alcance previsto. En respuesta a dichas solicitudes, SQUIRE crea controles transitorios que permiten al usuario aplicar cambios relacionados con la semántica rápidamente y sin volver a solicitarlos. En todos los casos, el LLM actúa como colaborador, presentando al usuario opciones racionales para evaluar, pero dejando que la agencia acepte o rechace sus sugerencias.
En otras palabras, las indicaciones en lenguaje natural seguían siendo la forma en que los desarrolladores interactuaban con SQUIRE, pero en lugar de afectar toda la interfaz a la vez, cada indicación se adjuntaba a una parte específica de la interfaz de usuario.
Basándose en observaciones con 11 desarrolladores frontend que utilizaron SQUIRE para desarrollar prototipos de interfaz, los investigadores descubrieron que los participantes podían explorar e iterar en diferentes diseños de interfaz de usuario con un alto grado de control, al mismo tiempo que otorgaban al sistema altas calificaciones de usabilidad y satisfacción general.
Además, señalan que esta sensación adicional de control hizo que los desarrolladores se sintieran más cómodos explorando caminos que de otro modo no habrían probado, ya que los cambios eran más fáciles de hacer, predecir y deshacer.
Nuevamente del estudio:
A través de los datos recopilados de un estudio de usuarios de 11 desarrolladores frontend, encontramos que (1) las interacciones con SQUIRE alentaron a los participantes a explorar con frecuencia, en lugar de simplemente usar SQUIRE como acelerador de código, (2) los participantes se sintieron alentados a tomar riesgos al realizar cambios, sabiendo que las consecuencias de tomar decisiones inesperadas siempre pueden ser impredecibles, (3) indicando confianza en que SQUIRE se alinea con sus intenciones al realizar cambios. cumplieron, y (4) los participantes estuvieron generalmente satisfechos con la calidad del código y las imágenes generadas por el sistema.
ESQUIRO BAJO EL CAPÓ
En lugar de generar código de interfaz directamente desde el mensaje del usuario, SQUIRE primero genera su propia representación intermedia de la interfaz, llamada SquireIR, que modela la interfaz de usuario como un árbol de elementos con espacios con nombre que se pueden llenar con el tiempo, como en el siguiente ejemplo:

Esa estructura también puede incluir marcadores de posición para partes que aún no se han definido (por ejemplo, una etiqueta de botón, una imagen o una sección de contenido), así como múltiples opciones de interfaz de usuario posibles. Por ejemplo, puede representar el mismo contenido que una lista o cuadrícula.

A partir de ahí, SQUIRE traduce esa representación en código utilizando HTML, CSS y JavaScript, y los componentes web se encargan de la estructura final de la interfaz de usuario.
Otro aspecto clave de SQUIRE es cómo maneja los cambios.
Si un desarrollador solicita cambiar un botón o ajustar un diseño, solo se actualiza esa parte, todo lo demás permanece sin cambios.

Según los investigadores, esto ayuda a evitar el ciclo de prueba y error que se observa en muchas herramientas de codificación de IA debido a la imprevisibilidad general del LLM, donde el modelo puede cambiar más allá de los deseos del desarrollador.
Este marco permite a SQUIRE sugerir múltiples opciones en cada paso, para que los desarrolladores puedan comparar rápidamente diferentes versiones sin perder su trabajo anterior.
A diferencia de muchos artículos técnicos, este estudio no entra en detalles sobre el entrenamiento, la arquitectura o los datos del modelo. Los investigadores señalan que SQUIRE funciona con GPT-4o de OpenAI, pero el artículo se centra principalmente en el diseño de sistemas y los modelos de interacción.
SQUIRE no está disponible de forma generalizada y su uso se limitó a los 11 desarrolladores que participaron en el estudio. Sin embargo, no es difícil imaginar cómo se podría implementar algo como esto en futuras versiones de Xcode u otras herramientas de desarrollo creadas por Apple.
Para obtener más información sobre SQUIRE, Sigue este enlace.











