HandoffKit:メモリ共有ではなくメッセージパッシングでエージェントを調整
DynG AI は HandoffKit をオープンソース化しました。これは、共有スクラッチパッドではなく、Go のゴルーチンのようにメッセージパッシングでコーディングエージェントを調整する OpenAI Codex プラグインです。各エージェントを独立したアクターとして扱い、mailbox、select、handoff などのプリミティブで競合のない調整を実現し、社内で 10 倍の高速化を達成しました。PlatformPilot の brain と相補的で、単独でも使用できます。
HandoffKit は、DynG AI がオープンソース化した OpenAI Codex プラグインで、Go 言語のゴルーチン哲学「共有メモリで通信するのではなく、通信によってメモリを共有する」に基づき、メッセージパッシングによって LLM エージェントを調整します。
このライブラリは各コーディングエージェントを独立したアクターとして扱い、プライベート状態、アドレス可能なメールボックス、単一所有者の実行ループを持ちます。コアとなるプリミティブは以下の通りです:
- Mailbox と Select:Go の select に似ており、エージェントは複数のイベント(返信、ユーザー割り込み、予算枯渇、タイムアウトなど)を同時に待機し、共有状態に分散していた調整ロジックを一元化します。
- Handoff:所有権の譲渡によりエージェント間でタスクを移動。送信側は送信後にタスクに触れなくなり、競合を構造的に排除します。
- Join、Quorum、Broker:ファンイン障壁、k-of-n、ブロードキャストを実現。
- Budget:待機可能な値として、「メッセージ OR キャンセル OR 予算消費」を単一の select で待機可能。
- Corpus、Compactor、Nursery、Tracer:共有知識、有界ハンドオフ、監督トポロジ、完全なメッセージレベルトレースを管理。
DynG AI は HandoffKit を社内で使用し、コーディング速度を 10 倍に向上させました。典型的なワークフローは、タスクリストをキューとなるメールボックスに投入し、複数のエージェントがそれをプル、各作業エージェントは隔離された git ワークツリーでコーディングを実行し、結果は LLM 評価ではなくテストスイートで検証された後に収集されます。
従来の共有ブラックボードアーキテクチャとは異なり、HandoffKit は所有権の分離とメッセージパッシングにより競合と重複作業を回避します。例えば、コードレビューにおいて、リポジトリを3つの重複しない領域(ランタイムプリミティブ、LLM/サンプル統合、プラグイン/ドキュメント)に分割し、それぞれ独立したエージェントに割り当て、結果は自然に分割されるため、後処理での重複排除は不要です。
並行修正シナリオでは、HandoffKit は git ワークツリーを利用して各作業エージェントに独立したブランチを作成し、各ファイルが常に1つのエージェントのみによって操作されるようにします。修正後、マージにより同期を行い、ロックフリーの並列処理を実現します。
HandoffKit の現在の課題は「ハンドオフ損失」の有界化です。圧縮メカニズムは存在するものの、射影の品質は未解決です。このプロジェクトは GitHub で MIT ライセンスのもと公開されており、OpenAI Codex プラグインとして使用可能で、言語に依存しないガイダンスと Go のスキャフォールディングツールを提供します。