Hace poco, Microsoft lanzó un nuevo lenguaje de marcado para la orquestación de prompts (POML, Prompt Orchestration Markup Language), diseñado específicamente para la ingeniería de prompts en modelos de lenguaje grandes (LLMs). Según información recopilada por AIbase, POML busca resolver los problemas comunes en el desarrollo tradicional de prompts, mejorando la eficiencia del desarrollo de aplicaciones de IA mediante un enfoque estructurado y mantenible. Sin embargo, ¿es solo una versión de XML y si su complejidad disminuye su utilidad, ha generado debate en la comunidad.

Funciones principales de POML: Ingeniería de prompts estructurada  

POML utiliza una sintaxis similar a HTML, descomponiendo los prompts complejos en partes modulares mediante componentes semánticos como `<role>`, `<task>`, `<example>`, mejorando así la legibilidad, reutilización y mantenibilidad de los prompts. Microsoft afirma que POML resuelve problemas como la falta de estructura, la complejidad de integración de datos, la sensibilidad al formato y la insuficiente compatibilidad con herramientas en la ingeniería de prompts tradicionales. Los desarrolladores pueden organizar sistemáticamente los componentes de prompts y insertar fácilmente varios tipos de datos (como texto, tablas, imágenes) y ajustar flexiblemente el formato de salida mediante un sistema de estilo similar a CSS, reduciendo la inestabilidad del modelo causada por cambios en el formato.

Microsoft propone otro lenguaje de marcado para la IA: POML, el lenguaje de marcado para la orquestación de prompts. Realmente, ¿qué diferencia hay con XML? (ver.jpg

Soporte de herramientas poderosas: Extensión de VS Code y SDK  

POML no es solo un lenguaje de marcado, sino que también cuenta con un ecosistema de herramientas de desarrollo potente. La extensión de Visual Studio Code ofrece funciones como resaltado de sintaxis, autocompletado contextual, vista previa en tiempo real y diagnóstico de errores, mejorando significativamente la experiencia de desarrollo. Además, POML admite SDKs para Node.js y Python, facilitando que los desarrolladores integren sin problemas la ingeniería de prompts en sus flujos de trabajo existentes y marcos de LLM. Por ejemplo, un ejemplo simple de POML puede usar el componente `<img>` para referirse a una imagen, combinado con `<task>` y `<output-format>` para definir tareas y requisitos de salida, generando rápidamente prompts estructurados.

Reacción de la comunidad: Innovación o "copia de XML"?  

Aunque el lanzamiento de POML ha llamado la atención, las opiniones de la comunidad son divididas. Algunos desarrolladores reconocen el diseño estructurado de POML, considerando que su método modular y motor de plantillas (que soporta variables, bucles y sentencias condicionales) simplifica el desarrollo de prompts complejos. Sin embargo, hay voces que cuestionan la similitud de POML con XML, argumentando que su sintaxis compleja podría hacer que la ingeniería de prompts se parezca a "escribir código", aumentando la carga de aprendizaje. Algunos desarrolladores incluso mencionan que con el avance de la IA agente y la llamada a herramientas, la sensibilidad de los LLM al formato de prompts ha disminuido, por lo que la necesidad de POML está en duda.

Aplicaciones y potencial futuro