エージェント指向UIのためのストリーミング実行プロトコルとしてのMarkdown

✍️ OpenClawRadar📅 公開日: March 22, 2026🔗 Source
エージェント指向UIのためのストリーミング実行プロトコルとしてのMarkdown
Ad

開発者は、AIエージェント向けに生成型UIとコード実行を組み合わせる方法を探るプロトタイプを構築し、統一プロトコルとしてMarkdownを使用しました。このシステムは、単一のレスポンスでテキスト、実行可能なコード、データをストリーミングし、コードは到着するにつれて段階的に実行されます。

プロトコル:3種類のブロックを持つMarkdown

このアプローチは、LLMが既に理解している標準的なMarkdown構文を使用し、新しい形式を教える必要を回避します。3種類のブロックを定義します:

  • テキストブロック:ユーザーにストリーミングされるプレーンなMarkdownフォーマット
  • コードフェンス:```tsx agent.run は、永続的なコンテキストでサーバー上でTypeScript/JSXコードを実行します
  • データフェンス:```json agent.data => "id" は、JSONデータをUIコンポーネントにストリーミングします

これらのブロックは、単一のレスポンス内で任意の順序で交互に配置できます。パーサーは、LLMからトークンが到着するにつれて段階的に処理します。

ストリーミング実行

コードは、LLMが生成するにつれて文単位で実行され、コードフェンス全体が閉じるのを待ちません。これにより、API呼び出しが開始され、UIがレンダリングされ、エラーが表面化する一方で、LLMはまだトークンを送信し続けることができます。開発者はこれを処理するためにbun-streaming-execを構築し、ストリーミング実行が標準的なランタイムプリミティブではないため、カスタムラッピングでvm.Scriptを使用しました。

mount()プリミティブによるエージェント型UI

このシステムは、LLMがReactコンポーネントとJSXに広く触れているため、UI生成にReactを使用します。中核となるプリミティブはmount()です:

mount({
  ui: () => <Card>Hello from the agent!</Card>
});

LLMがこのコードを生成し、サーバーがそれを実行すると、mount()はReactコンポーネントをシリアライズし、チャットインターフェース内でレンダリングするためにクライアントに送信します。

Ad

データフローパターン

プロトタイプは、データ移動のための4つの異なるパターンを実装しています:

  1. クライアント → サーバー(フォーム):エージェントはフォームを通じてユーザー入力が行われるのを待つことができます
  2. サーバー → クライアント(ストリーミングデータ):データフェンスはJSONをマウントされたUIに直接ストリーミングします
  3. サーバー → LLM(console.log):console.log出力と例外は、新しいターンとしてLLMにフィードバックされます
  4. LLM → サーバー → クライアント(完全な往復):LLMがデータを取得し、そのデータでUIをレンダリングするコードを生成する完全なサイクル

フィードバックループ

このシステムは、エージェントが自身と対話するためのメカニズムとしてconsole.logを使用します。LLMがコードブロックを含むMarkdownを生成すると、テキストはユーザーにストリーミングされ、コードは段階的に実行されます。すべてのconsole.*出力または例外は、新しいターンとしてLLMにフィードバックされます。出力や例外がない場合、システムは新しいユーザークエリを待ちます。

これにより、エージェントは自身の実行に反応することができ、例えばメッセージ数を確認したり、ユーザー入力を待ってから続行するために一時停止したりできます。

📖 完全なソースを読む: HN AI Agents

Ad

👀 See Also

ベンチマーク結果:38の実ワークフロータスクでテストされた15のLLM
Tools

ベンチマーク結果:38の実ワークフロータスクでテストされた15のLLM

ある開発者が、実際のワークフローから38のタスク(CSV変換、文字数カウント、モジュラー演算、フォーマット準拠など)を用いて、15のクラウドおよびローカルLLMをベンチマークしました。Claude 3.5 SonnetとOpusはともに100%のスコアを獲得しましたが、Sonnetは1回の呼び出しあたりのコストが3.5倍安くなっています。

OpenClawRadar
SIDJUA v0.9.7:オープンソースのマルチエージェントAI、事前アクションガバナンス強制機能付き
Tools

SIDJUA v0.9.7:オープンソースのマルチエージェントAI、事前アクションガバナンス強制機能付き

SIDJUA v0.9.7は、セルフホスト型のオープンソースマルチエージェントAIフレームワークで、エージェントが行動する前にガバナンスルールを適用し、予算超過やスコープ違反などの未承認アクションをブロックします。複数のLLMプロバイダーをサポートし、4GB RAMで動作し、Tauri v2で構築されたデスクトップGUIを含みます。

OpenClawRadar
OpenClawスキルパック:Ubuntu上での真の自律運用のための2,500以上のコマンドセット
Tools

OpenClawスキルパック:Ubuntu上での真の自律運用のための2,500以上のコマンドセット

OpenClaw AIエージェント向けの新スキルパッケージは、Ubuntu環境でのDocker管理、ネットワーク設定、CVE対応、システム自動化など、DevOps操作のための2,500以上の実行スキルを導入します。

OpenClawRadar
ボットファイト:Claude Codeで構築されたマルチプレイヤーゲーム向けAIエージェントアリーナ
Tools

ボットファイト:Claude Codeで構築されたマルチプレイヤーゲーム向けAIエージェントアリーナ

Bot Fightは、ポーカー、ビリヤード、ゴリラ、スネークなどのゲームでAIエージェントが対戦するアリーナです。Claudeコードで完全に構築されたNext.js + Nodeモノレポで、WebSocketとリアルタイムゲームエンジンを備えています。

OpenClawRadar