Markdown en tant que protocole pour les interfaces agentiques avec exécution en flux continu

Un développeur a construit un prototype explorant comment combiner une interface utilisateur générative avec l'exécution de code pour les agents d'IA en utilisant Markdown comme protocole unifié. Le système diffuse du texte, du code exécutable et des données dans une seule réponse, le code s'exécutant de manière incrémentielle à mesure qu'il arrive.
Le Protocole : Markdown avec Trois Types de Blocs
L'approche utilise la syntaxe Markdown standard que les LLM comprennent déjà, évitant ainsi d'avoir à enseigner de nouveaux formats. Elle définit trois types de blocs :
- Blocs de texte : Un formatage Markdown simple qui est diffusé à l'utilisateur
- Clôtures de code :
```tsx agent.runexécute du code TypeScript/JSX sur le serveur dans un contexte persistant - Clôtures de données :
```json agent.data => "id"diffuse des données JSON dans les composants d'interface utilisateur
Ces blocs peuvent être entrelacés dans n'importe quel ordre au sein d'une seule réponse. L'analyseur les traite de manière incrémentielle à mesure que les tokens arrivent du LLM.
Exécution en Flux
Le code s'exécute instruction par instruction à mesure que le LLM le génère, sans attendre la fermeture complète de la clôture de code. Cela permet aux appels d'API de démarrer, à l'interface de s'afficher et aux erreurs de remonter pendant que le LLM envoie encore des tokens. Le développeur a construit bun-streaming-exec pour gérer cela, en utilisant vm.Script avec un enrobage personnalisé car l'exécution en flux n'est pas une primitive standard du runtime.
Interface Agentique avec la Primitive mount()
Le système utilise React pour la génération d'interface car les LLM ont une grande exposition aux composants React et au JSX. La primitive centrale est mount() :
mount({
ui: () => <Card>Bonjour de la part de l'agent !</Card>
});Lorsque le LLM génère ce code et que le serveur l'exécute, mount() sérialise le composant React et l'envoie au client pour qu'il soit rendu dans l'interface de chat.
Modèles de Flux de Données
Le prototype implémente quatre modèles distincts pour le mouvement des données :
- Client → Serveur (formulaires) : L'agent peut attendre une saisie utilisateur via des formulaires
- Serveur → Client (données diffusées) : Les clôtures de données diffusent du JSON directement dans les interfaces montées
- Serveur → LLM (console.log) : La sortie de
console.loget les exceptions sont renvoyées au LLM comme un nouveau tour - LLM → Serveur → Client (boucle complète) : Des cycles complets où le LLM génère du code qui récupère des données et affiche une interface avec ces données
Boucle de Rétroaction
Le système utilise console.log comme mécanisme pour que l'agent se parle à lui-même. Lorsque le LLM génère du Markdown avec des blocs de code, le texte est diffusé à l'utilisateur tandis que le code s'exécute de manière incrémentielle. Toute sortie console.* ou exception est renvoyée au LLM comme un nouveau tour. S'il n'y a pas de sortie ou d'exception, le système attend une nouvelle requête utilisateur.
Cela permet à l'agent de réagir à sa propre exécution, par exemple en vérifiant le nombre de messages ou en faisant une pause pour attendre une saisie utilisateur avant de continuer.
📖 Read the full source: HN AI Agents
👀 See Also

Traduire en fr : NPCterm : Émulateur de terminal PTY complet pour agents IA via MCP
NPCterm fournit aux agents IA un accès complet au terminal via un émulateur de terminal PTY sans tête et en mémoire, exposé via MCP. Il inclut 15 outils MCP pour le contrôle du terminal, la détection de l'état des processus et la prise en charge des applications TUI.

Framework multi-agent open-source extrait de la fuite du code Claude
Un développeur a extrait le système d'orchestration multi-agents du code source divulgué de Claude Code et l'a reconstruit en tant que framework open-source indépendant des modèles sous licence MIT. Le framework TypeScript de 8 000 lignes comprend la planification des tâches, la messagerie inter-agents et des outils intégrés.

Mneme : un accrochage PreToolUse qui bloque les modifications de Claude Code violant les décisions architecturales
Mneme est un hook PreToolUse pour Claude Code qui vérifie chaque édition/écriture/multi-édition par rapport à un fichier de décisions local avant toute écriture sur disque, bloquant les violations sans intervention manuelle.

Test pratique du modèle de Tencent : performant pour les workflows agents, faible pour le codage complexe
Le modèle de Tencent obtient un 8/10 pour les tâches agentiques avec un faible taux d'hallucination, mais échoue sur le code complexe comme les schémas de l'API Notion. À éviter pour la logique backend.