エージェント指向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

NetflixがHugging FaceにVOID:ビデオオブジェクトおよびインタラクション削除モデルをリリース
Tools

NetflixがHugging FaceにVOID:ビデオオブジェクトおよびインタラクション削除モデルをリリース

Netflixは、落下する物体や移動したアイテムなど、それらが引き起こすすべての物理的相互作用とともに、ビデオからオブジェクトを除去するビデオインペインティングモデル「VOID」をリリースしました。このモデルには40GB以上のVRAMを搭載したGPUが必要で、異なる精緻化レベルに対応する2つのチェックポイントファイルを使用したクワッドマスク条件付けを採用しています。

OpenClawRadar
ATLAS:Qwen3-14B向けオープンソースのテスト時計算パイプラインがフロンティアレベルのコーディング性能を達成
Tools

ATLAS:Qwen3-14B向けオープンソースのテスト時計算パイプラインがフロンティアレベルのコーディング性能を達成

大学生がATLASを開発しました。これはQwen3-14Bを中心に構築されたオープンソースのテスト時計算パイプラインで、LiveCodeBench v5の問題においてタスクあたり約0.004ドルの電力コストで74.6%のpass@1を達成します。複雑な問題では処理が遅いものの、GPT-5(84.6%)やClaude 4.5 Sonnet(71.4%)のような最先端モデルに匹敵する性能を発揮します。

OpenClawRadar
司書MCP:文書を用いた持続的コンテキストのためのローカルAIサーバー
Tools

司書MCP:文書を用いた持続的コンテキストのためのローカルAIサーバー

Librarian MCPは、ローカルで動作するオープンソースのModel Context Protocolサーバーで、Jan、LM Studio、またはClaude Desktopに接続し、AIモデルがドキュメントコレクションを検索・分析しながら、完全な会話コンテキストとデータプライバシーを維持できるようにします。

OpenClawRadar
ローカルAIのVS Code拡張機能は、保存時の安全でないコード生成をブロックします。
Tools

ローカルAIのVS Code拡張機能は、保存時の安全でないコード生成をブロックします。

ある開発者が、VS Code拡張機能を作成しました。この拡張機能は、llama3.1:8b-instruct-q4をローカルで実行し、CWE-117(ログインジェクション)のような脆弱性を含む、AIによって生成された安全でないコードの保存を物理的にブロックします。このツールは、Claudeが教科書的なCWE-117の脆弱性を持つFlaskルートを生成した後に構築されました。

OpenClawRadar