AI News HubLIVE
サイト内リライト2 分で読了

Quilt:1つのGitチェックアウトで複数のAIコーディングエージェントを実行

Quiltは、共有Gitチェックアウト内でどのエージェントがどの行を編集したかを追跡するCLIツールです。複数のAIエージェントが競合なく同時に作業できるようにし、行単位の帰属、シンボルレベルのクレーム、衝突防止機能を提供します。各エージェントは自分の変更のみをコミットします。

ソースHacker News AI著者: wkoverfield

Quiltは、複数のAIエージェントが同一のGitリポジトリで協調作業するためのコマンドラインツールです。従来の方法では、エージェントごとに独立したワークツリーを作成する必要がありましたが、これには各エージェントに完全なインストールとビルド環境が必要で、オーバーヘッドが大きくなります。Quiltは単一のチェックアウトを共有することで、すべてのエージェントが互いの作業をリアルタイムで確認でき、衝突を事前に防止します。

Quiltの主な機能は、行単位の帰属、シンボルレベルのクレーム、衝突防止です。行単位の帰属により、各エージェントの編集はコードの各行に正確に記録され、複数のエージェントが同じファイルの異なる部分を編集しても、コミット時にそれぞれの変更を正確に分離できます。シンボルレベルのクレームでは、エージェントが特定の関数やシンボル(例:utils.js#formatPrice)を予約でき、他のエージェントがそのコードに書き込もうとすると拒否され、保持者の意図と期限が表示されます。この細かいロック機構により、不要な競合を大幅に削減できます。

衝突防止はQuiltのもう一つの重要な機能です。エージェントが他のエージェントに予約されたコードに書き込もうとすると、Quiltはバイトの変更が発生する前に操作を拒否し、保持者の意図を表示します。拒否されたエージェントは、保持者がコミットして自動的に予約が解除されるのを待ち、その後再予約して変更を重ねることができます。これにより、両方のエージェントの変更が失われることなく保持されます。さらに、Quiltは他のエージェントの未コミットの変更が上書きされた場合、そのバージョンをスナップショットとして保存し、データ損失を防ぎます。すべての状態は.quiltディレクトリにローカルに保存され、Gitリポジトリ自体には影響しません。

Quiltのインストールは簡単で、npm install -g @quilt-dev/cliを実行し、quilt setupでリポジトリにフックを設定するだけです。Claude CodeセッションやMCP接続には自動的にIDが割り当てられ、QUILT_ACTOR環境変数で安定したエージェント名を設定することもできます。例えば、QUILT_ACTOR=auth-agentを設定すると、そのエージェントの編集はauth-agentに帰属されます。quilt commit --mineで自分の変更のみをコミットでき、quilt statusで全エージェントの状態とクレームを確認できます。

ワークツリー方式と比較すると、Quiltの利点は明らかです。ワークツリーは分離を提供しますが、マージ時に競合が発生しやすく、各エージェントに完全なインストールとビルドが必要です。Quiltは単一のチェックアウトを共有することでこれらのオーバーヘッドを排除し、エージェント間の認識と協調を可能にします。ワークツリーは独立した長期タスクに適しており、Quiltは緊密な協調が必要な短期タスクに適しています。両者は排他的ではなく、組み合わせて使用できます。

Quiltの設計哲学はGitを信頼することであり、LLMを呼び出したりエージェントを生成したりすることはありません。すべての状態はローカルの.quiltディレクトリに保存され、生成されるコミットは通常のGitコミットです。そのため、既存のワークフローに簡単に統合できます。無関係なファイルの編集から同一コードの競合まで、Quiltは明確なコミット履歴と協調フローを提供し、AIコーディングエージェントのチームワークを強力にサポートします。