Mozaik
Mozaikは、共有環境認識、ツール使用、回復力のある調整を備えたリアクティブなイベント駆動型バスを通じて連携する、自律的で並列なAIエージェントチームを構築するためのオープンソースのTypeScriptランタイムです。
https://mozaik.jigjoy.ai/?ref=producthunt&utm_source=aipure

製品情報
更新日:2026年07月07日
Mozaikとは
Mozaikは、マルチエージェントシステムを厳格なシーケンシャルワークフローから真のチームスタイルのコラボレーションへと移行させるために設計されたTypeScriptフレームワーク(ランタイム)です。Mozaikは、事前に定義されたパイプラインを介してエージェントをオーケストレーションする代わりに、「エージェント環境」を導入し、参加者(エージェント、人間、オブザーバー、ツール)が同じ共有スペースに参加し、リアルタイムで通信および調整できるようにします。エージェント間のコラボレーションを第一級の概念として構築されており、エージェントは互いを認識し、意図的にコンテキストを交換し、同じ目標に同時に取り組むことができます。
Mozaikの主な機能
Mozaikは、共有されたイベント駆動型環境を通じて並行して連携するAIエージェントの自律的なチームを構築するためのオープンソースのTypeScriptエージェントランタイムです。Mozaikは、シーケンシャルなワークフローをハードコーディングする代わりに、コラボレーションを第一級の概念として扱います。エージェントはAgenticEnvironment(ブロードキャストバス)に参加し、他の参加者を認識し、メッセージとコンテキストを交換し、ツール呼び出しと出力をイベントとして反応し、実行時にエラーから回復します。このフレームワークは、ノンブロッキングの「fire-and-forget」推論とリアクティブな調整のために設計されており、マルチエージェントシステムが連携して作業を遂行できるようにします。
イベント駆動型リアクティブコア: すべてのメッセージ、ツール呼び出し、推論ステップ、エラーは共有バス上のイベントとしてモデル化されます。エージェントは関心のあるイベントを購読し、到着するとすぐに反応します。
デフォルトで並行(ノンブロッキング推論): エージェントは推論を実行し、待機することなく動作を継続できます。結果はイベントとして返され、複数のエージェント(およびツール/オブザーバー)が同じ目標に並行して作業することを可能にします。
共有エージェント環境(チーム認識): 参加者(人間、エージェント、オブザーバー、ツール)は同じAgenticEnvironmentに参加し、エージェントが「部屋にいる」参加者を検出し、参加/離脱に応答し、共有状態に基づいて調整できるようにします。
第一級のプリミティブとしてのコンテキスト: Mozaikは、構造化されたコンテキスト処理(ModelContextと型付きコンテキスト項目を介して)を提供し、適切な情報を適切なエージェントに適切なタイミングで記録、共有、ルーティングすることを容易にします。
イベントによるツール/関数呼び出し統合: 関数呼び出しとツール出力は第一級のイベントとして処理され、エージェントがツールを実行し、他の参加者が利用できるように出力をバスに公開できるようにします。
実行時の回復力とインテリジェントな回復: エージェントは、onError/onParticipantErrorのようなフックで障害を捕捉および処理したり、バックオフで再試行したり、実行をクラッシュさせる代わりに他の参加者にエスカレートしたりできます。
Mozaikのユースケース
並行AIコーディングとPR生成: 複数の専門的なコーディングエージェント(計画、実装、レビュー、テスト)を調整して並行して作業させ、プルリクエストを生成します。これは、baroのようなMozaikを活用したツールによって例示されています。
顧客サポートとオペレーションスウォーム: トリアージ、ナレッジベース検索、ドラフト作成、QAエージェントを共有バス上で並行して実行することで、エージェントチーム全体で応答をより速く、一貫性があり、監査可能にします。
厳密なワークフローなしの研究から執筆へのパイプライン: 研究者、執筆者、批評家、監査者のエージェントが実行時に適応的に協力できるようにします。必要なコンテキストのみを共有し、互いの発見にイベントとして反応します。
ツールを多用するプロセスによるエンタープライズ自動化: 内部ツール/API(チケット、CRM、データベース)を呼び出し、イベント駆動型通信を介してツール出力とエラーを調整するエージェントチームを構築します。
エージェントシステムの可観測性と評価: オブザーバー参加者を環境に接続して、メッセージ、推論トレース、ツール呼び出し、障害をリアルタイムで監視し、デバッグ、評価、品質管理をサポートします。
メリット
真のマルチエージェントコラボレーションのために設計されています。シーケンシャルなオーケストレーションではなく、共有環境、認識、イベント駆動型調整が特徴です。
並行、ノンブロッキング実行により、複雑な目標に対するスループットと応答性が向上します。
型付きコンテキスト/イベントモデルは、TypeScriptエコシステムにおいて、より明確な構造、デバッグ、拡張性をサポートします。
デメリット
イベント駆動型で高度に並行なシステムは、特にエージェントの数が増えるにつれて、線形パイプラインよりも推論やデバッグが難しい場合があります。
TypeScript/Nodeの採用が必要です。このエコシステム外のチームは、より高い統合コストに直面する可能性があります。
適応的な実行時調整は、事前に定義されたワークフローよりも予測が難しく、慎重なテストとガードレールが必要です。
Mozaikの使い方
1) 新しいTypeScriptプロジェクトを作成する: Node.js + TypeScriptワークスペースを初期化します(例:npm initとtscを使用)。MozaikはTypeScriptランタイムなので、通常はNode環境で実行します。
2) Mozaikコアをインストールする: フレームワークの依存関係を追加します:@mozaik-ai/coreをインストールします(ソースで参照されているスターターテンプレートは^3.10.1に基づいて構築されています)。
3) 環境変数を通じてモデルプロバイダーの認証情報を設定する: Mozaikは、runInferenceに渡すモデル名からプロバイダーを選択し、各プロバイダーSDKは環境から認証情報を読み取ります。必要なキーを環境に配置します(通常は.envファイル経由)。例:OpenAIを使用する場合はOPENAI_API_KEY。
4) 参加者(エージェント/オブザーバー/ツール)をクラスとして定義する: 各役割を参加者としてモデル化します(Mozaikはエージェントを「参加者」と呼びます)。各参加者は独自のステートとジョブを持ち、継承された「親コンテキスト」はありません。参加者は、共有バス上で型付きイベントを発行/購読することで通信します。
5) イベントハンドラーを追加して参加者をリアクティブにする: onParticipantJoin / onParticipantLeftなどのリアクティブハンドラーを実装して、エージェントが環境内に誰がいるかを認識し、誰かが離れたときに作業を再割り当てできるようにします。
6) イベントバスをコラボレーションのバックボーンとして使用する: すべてのメッセージ、ツール呼び出し、推論ステップ、エラーをバス上のイベントとして扱います。参加者は関心のあるイベントを購読し、それらのイベントが発生したときに即座に反応します。
7) 非ブロッキングな方法で推論を実行する(「fire and forget」): 推論を開始し、待機せずに他の作業を続行します。結果が到着すると、イベントとして返されます。参加者は関連する結果イベントにのみ反応し、他のすべては実行を続けます。
8) イベント駆動型I/Oとしてツール呼び出しを実装する: モデルがツールを要求したとき(例:onFunctionCall経由)、ツールを実行し、callIdと結果を含む「functionCallOutput」(または同等の型付き)イベントをバスに戻して発行します。これにより、実行は非ブロッキングのままになります。
9) 各参加者がリッスンする範囲を限定する(オプションだが推奨): 不要な反応を防ぐために、参加者のlistensリストに、反応すべき参加者クラスを設定します。listensが空でない場合、環境は、そのソースがこれらのクラスのいずれかに一致する外部イベントのみを配信します。
10) ランタイムエラー回復を追加する: onErrorおよび/またはonParticipantErrorを使用して、ツールの障害や参加者のクラッシュをキャッチします。バックオフ付きの再試行(例:最大3回の再試行)を実装し、実行全体をクラッシュさせる代わりに、別の参加者にメッセージイベントを発行してエスカレートします。
11) 複数の参加者を追加して並列処理を有効にする: 複数の専門的な参加者(例:研究者、ライター、批評家、監査人)を作成し、それらを同時に実行させます。Mozaikはデフォルトで並列であり、複数のエージェントが共有イベント/コンテキストを通じて調整を維持しながら同時に作業できます。
12) ランタイムでコラボレーションパスを出現させる: 厳格なハンドオフをハードコーディングすることは避けてください。代わりに、参加者が観察するイベントに基づいて、いつ通信するか、誰を巻き込むか、どのコンテキストを共有するかを決定するように設計します。
13) (オプション) ロギングとUIのためにオブザーバーを追加する: 意思決定を駆動しないが、実行を記録またはレンダリングするオブザーバー型参加者をアタッチします。例:JSONLログを書き込むオーディター、またはターミナルUIのフレームを発行するUI参加者。
14) エージェントチームを実行する: 環境/バスを開始し、参加者を登録し、初期イベント(例:RunStartまたは目標メッセージ)をトリガーします。システムはリアクティブなイベントストリームとして進行し、参加者はリアルタイムで調整し、エラーから回復します。
15) 動作するCLIをすぐに作成したい場合はスターターテンプレートを使用する: ソースは、InkターミナルUIを@mozaik-ai/coreに接続し、エージェント/オブザーバー/ツールの典型的な分割を含むCLIスターターテンプレートリポジトリを参照しています。ボイラープレートを避けるためにスターターテンプレートをクローンし、ユースケースに合わせて参加者とツールをカスタマイズしてください。
Mozaikのよくある質問
Mozaikは、自律的にコミュニケーション、連携、行動できるAIエージェントの自律的なチームを構築するための、オープンソースのTypeScriptベースのエージェント型ランタイム/フレームワークです。











