Markdown como Protocolo para Interfaz de Usuario Agéntica con Ejecución en Flujo

Un desarrollador construyó un prototipo que explora cómo combinar la interfaz de usuario generativa con la ejecución de código para agentes de IA utilizando Markdown como protocolo unificado. El sistema transmite texto, código ejecutable y datos en una sola respuesta, con el código ejecutándose incrementalmente a medida que llega.
El Protocolo: Markdown con Tres Tipos de Bloques
El enfoque utiliza la sintaxis estándar de Markdown que los LLM ya entienden, evitando la necesidad de enseñar nuevos formatos. Define tres tipos de bloques:
- Bloques de texto: Formato Markdown simple que se transmite al usuario
- Cercas de código:
```tsx agent.runejecuta código TypeScript/JSX en el servidor en un contexto persistente - Cercas de datos:
```json agent.data => "id"transmite datos JSON a componentes de interfaz de usuario
Estos bloques pueden intercalarse en cualquier orden dentro de una sola respuesta. El analizador los maneja incrementalmente a medida que llegan los tokens del LLM.
Ejecución en Streaming
El código se ejecuta declaración por declaración a medida que el LLM lo genera, sin esperar a que se cierre la cerca de código completa. Esto permite que las llamadas API comiencen, la interfaz de usuario se renderice y los errores surjan mientras el LLM aún está enviando tokens. El desarrollador construyó bun-streaming-exec para manejar esto, usando vm.Script con envoltura personalizada ya que la ejecución en streaming no es una primitiva estándar del entorno de ejecución.
Interfaz de Usuario Agéntica con Primitiva mount()
El sistema utiliza React para la generación de interfaz de usuario ya que los LLM tienen una amplia exposición a componentes React y JSX. La primitiva central es mount():
mount({
ui: () => <Card>¡Hola desde el agente!</Card>
});Cuando el LLM genera este código y el servidor lo ejecuta, mount() serializa el componente React y lo envía al cliente para renderizarlo dentro de la interfaz de chat.
Patrones de Flujo de Datos
El prototipo implementa cuatro patrones distintos para el movimiento de datos:
- Cliente → Servidor (formularios): El agente puede esperar la entrada del usuario a través de formularios
- Servidor → Cliente (datos transmitidos): Las cercas de datos transmiten JSON directamente a las interfaces de usuario montadas
- Servidor → LLM (console.log): La salida de
console.logy las excepciones se retroalimentan al LLM como un nuevo turno - LLM → Servidor → Cliente (ciclo completo): Ciclos completos donde el LLM genera código que obtiene datos y renderiza interfaz de usuario con esos datos
Bucle de Retroalimentación
El sistema utiliza console.log como mecanismo para que el agente hable consigo mismo. Cuando el LLM genera Markdown con bloques de código, el texto se transmite al usuario mientras el código se ejecuta incrementalmente. Cualquier salida de console.* o excepciones se retroalimentan al LLM como un nuevo turno. Si no hay salida ni excepciones, el sistema espera una nueva consulta del usuario.
Esto permite que el agente reaccione a su propia ejecución, como verificar recuentos de mensajes o pausar para esperar la entrada del usuario antes de continuar.
📖 Leer la fuente completa: HN AI Agents
👀 Ver también

ForgeAI: Un Banco de Trabajo Visual para la Ingeniería de Modelos
ForgeAI ofrece una interfaz visual para la inspección, fusión y entrenamiento de modelos, con características como la inspección de la arquitectura de modelos en 3D y M-DNA Forge para la fusión visual de capas.

HyperResearch: El conjunto de habilidades de código abierto de Claude Code lo convierte en un agente de investigación profunda
HyperResearch convierte Claude Code en un pipeline de investigación profunda de 16 pasos con almacenamiento persistente de conocimiento, verificación de hechos y sesiones web autenticadas. Instalación de código abierto con un solo comando, supera a OpenAI y Google en DeepResearch Bench.

Búsqueda-web-sin-conexión: Una alternativa local a la búsqueda de Google para agentes de IA
Un desarrollador creó offline-web-search para abordar las deficientes capacidades de búsqueda sin conexión en agentes de IA, creando un reemplazo directo que imita las herramientas web de Claude con clasificación BM25, indexación SQLite FTS5, y soporte para archivos ZIM y rastreadores personalizados.
Bend: un lenguaje con verificación de pruebas que bloquea los errores de la IA en CPU y GPU
Bend compila a código nativo y se ejecuta en paralelo en núcleos de CPU o GPU. Sus archivos LAWS.bend permiten que los agentes demuestren que las reglas se cumplen, bloqueando la fusión de errores antes de que ocurran.