Depurar un agente de IA que se ejecuta durante docenas de pasos: leer archivos, llamar a API, escribir código y revisar su propia salida no es como depurar una función normal. No hay ningún rastro de pila único para leer. En cambio, los desarrolladores se quedan mirando cientos de líneas de JSON sin formato, tratando de reconstruir lo que el modelo realmente pensaba y hacía en cada paso. El equipo de OpenAI está abordando directamente ese problema con el lanzamiento de Euphony, una nueva herramienta de visualización de código abierto basada en navegador diseñada para convertir datos de chat estructurados y registros de sesiones del Codex en vistas de conversación interactivas y legibles.
Euphony se basa específicamente en dos de los formatos de datos propios de OpenAI: conversaciones de Harmony y archivos JSONL de sesión de Codex.
¿Qué es el formato de armonía?
Para comprender por qué existe Euphony, necesita una introducción rápida a Harmony. La serie de modelos de peso abierto de OpenAI, gpt-oss, se entrenó en un formato de aviso especializado llamado formato de respuesta de armonía. A diferencia de los formatos de chat estándar, Harmony admite resultados multicanal, lo que significa que el modelo puede producir resultados de razonamiento, preámbulos de llamadas a herramientas y respuestas regulares, todo dentro de una única conversación estructurada. También admite jerarquías de instrucciones basadas en roles (sistema, desarrollador, usuario, asistente) y espacios de nombres de herramientas con nombre.
El resultado es que una única conversación de Harmony almacenada como un archivo .json o .jsonl puede contener muchos más metadatos estructurados que una respuesta típica de la API de OpenAI. Esta riqueza es útil para la capacitación, la evaluación y los flujos de trabajo de los agentes, pero también hace que la inspección en bruto sea dolorosa. Sin herramientas, está leyendo objetos JSON profundamente anidados con ID de token, tokens decodificados y cadenas de visualización renderizadas, todo entrelazado. Euphony fue creado para resolver exactamente este problema.
Lo que realmente hace la eufonía
En esencia, Euphony es una biblioteca de componentes web y una aplicación web independiente que ingiere datos JSON/JSONL de Harmony o archivos JSONL de sesión de Codex y los presenta como líneas de tiempo de conversación estructuradas y navegables en el navegador.
La herramienta admite tres métodos de carga de datos listos para usar: pegar JSON o JSONL directamente desde el portapapeles, cargar un archivo .json o .jsonl local desde el disco o apuntarlo a cualquier URL HTTP(S) pública que sirva JSON o JSONL, incluidas las URL del conjunto de datos de Hugging Face. Luego, Euphony detecta automáticamente el formato y lo representa en consecuencia en cuatro casos: si JSONL es una lista de conversaciones, representa todas las conversaciones; si detecta un archivo de sesión del Codex, presenta una línea de tiempo estructurada de la sesión del Codex; si una conversación se almacena en un campo de nivel superior, representa todas las conversaciones y trata otros campos de nivel superior como metadatos por conversación; y si ninguno de ellos coincide, vuelve a representar los datos como objetos JSON sin formato.
El conjunto de funciones va mucho más allá del renderizado básico. Euphony muestra metadatos a nivel de conversación y a nivel de mensaje directamente en la interfaz de usuario a través de un panel de inspección de metadatos dedicado, lo que resulta útil al evaluar conjuntos de datos anotados donde cada conversación incluye campos adicionales como puntuaciones, fuentes o etiquetas. También admite el filtrado basado en JMESPath, que permite a los desarrolladores limitar grandes conjuntos de datos consultando la estructura JSON. Hay un modo de enfoque que filtra los mensajes visibles por función, destinatario o tipo de contenido, una vista de cuadrícula para hojear conjuntos de datos rápidamente y un modo de editor para modificar directamente el contenido JSONL en el navegador. La representación Markdown (incluidas las fórmulas matemáticas) y la representación HTML opcional se admiten dentro del contenido del mensaje.
Dos modos de funcionamiento: solo frontend frente a asistido por backend
Euphony está diseñado con una división arquitectónica limpia. En el modo solo de interfaz (configurado a través de la variable de entorno VITE_EUPHONY_FRONTEND_ONLY=true), toda la aplicación se ejecuta en el navegador sin dependencia del servidor. En el modo asistido por backend, un servidor FastAPI Python local maneja la carga remota de JSON/JSONL, la traducción de backend y la representación de Harmony, lo cual es particularmente útil para cargar grandes conjuntos de datos.
Incorporación de Euphony en su propia aplicación web
Una de las características más prácticas para los equipos de desarrollo de IA es que Euphony se entrega como elementos personalizados reutilizables: componentes web estándar que pueden integrarse en cualquier marco de interfaz: React, Svelte, Vue o HTML simple. Después de crear la biblioteca con pnpm run build:library (que genera el punto de entrada principal en ./lib/euphony.js), puede colocar un elemento en su interfaz de usuario y pasarle una conversación de Harmony, ya sea como un atributo de cadena JSON o como un objeto JavaScript analizado a través del DOM. El estilo visual se puede anular completamente a través de propiedades personalizadas de CSS, que cubren el relleno, los colores de fuente y la codificación de colores específicos de la función para los mensajes de usuario y asistente.
La pila tecnológica es principalmente TypeScript (78,7% del código base) con CSS y una capa backend de Python, y se publica bajo la licencia Apache 2.0.
Conclusiones clave
Euphony de código abierto de OpenAI, una herramienta de visualización basada en navegador que convierte conversaciones JSON/JSONL sin procesar de Harmony y archivos JSONL de sesiones de Codex en líneas de tiempo de conversaciones estructuradas y navegables, sin necesidad de analizadores de registros personalizados. Euphony admite cuatro modos de detección automática: reconoce listas de conversaciones de Harmony, archivos de sesión de Codex, conversaciones anidadas en campos de nivel superior y recurre a la representación de datos arbitrarios como objetos JSON sin formato. La herramienta se entrega con un rico conjunto de funciones de inspección, que incluyen filtrado JMESPath, modo de enfoque (filtrar por función, destinatario o tipo de contenido), inspección de metadatos a nivel de conversación y de mensaje, vista de cuadrícula para hojear conjuntos de datos y un modo de editor JSONL en el navegador. Euphony se ejecuta en dos modos: un modo de solo frontend recomendado para alojamiento estático o externo, y un modo asistido por backend local opcional impulsado por un servidor FastAPI que agrega carga JSON/JSONL remota, traducción de backend y renderizado Harmony, con OpenAI advirtiendo explícitamente contra la exposición del backend externamente debido al riesgo SSRF. Euphony está diseñado para ser integrable: se envía como componentes web reutilizables () compatibles con React, Svelte, Vue y HTML simple, con un estilo totalmente personalizable a través de propiedades personalizadas de CSS y se publica bajo la licencia Apache 2.0.
Consulte el repositorio y la demostración de GitHub. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 130.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.
¿Necesita asociarse con nosotros para promocionar su repositorio de GitHub O su página principal de Hugging O su lanzamiento de producto O seminario web, etc.? Conéctate con nosotros