>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
TypeScript

Proliferateで複数のAIエージェントを分離されたgitツリーで実行する方法

最近、自分がついやってしまう面倒なルーティンに気づきました。ターミナルでClaude Codeを起動して1つのモジュールを書き換えている間に、Cursorを開いてスタイルの修正をし、3つ目のタブではローカルのCodexでテストのリファクタリングを行う。こんな風に複数のAIコーディングエージェントを同時に使おうとすると、作業コピーが混乱します:ブランチが互いに上書きし合い、未コミットのファイルが上書きされ、ダイアログのコンテキストが別ウィンドウ間で失われていきます。

proliferate-aiの开发者たちは、このサーカスを一つの環境にまとめようと試みました。彼らのプロジェクトはProliferateと呼ばれています。これはオープンソースの開発環境(AI IDE)で、異なるコーディングエージェントを並列で起動し、それぞれを別のgit worktreeに分離して処理します。

Proliferateインターフェース

内部構造とworktreeが必要な理由

このプロジェクトの核となるコンセプトは、並列作業にあります。AIエージェントにタスクを割り当てるとき、生成とテスト実行が完了するのを待ってから次のチケットに進みたいとは思いませんよね。同時に、エージェントを単一の作業ディレクトリで実行するのは危険です:互いに変更を上書きしてしまうからです。

ProliferateはGitの組み込みツールでこの問題を解決します。各サブタスクには独自のgit worktreeが与えられ、それぞれ独自のブランチ、分離されたターミナル、会話履歴、コードレビュー画面を持ちます。

Claude Codeがバックエンドのバグを修正している間に、OpenCodeやGrokが次のウィンドウで統合テストを書くことができます。同じリポジトリで作業しますが、物理的に異なるフォルダにあり、互いに干渉しません。

サポートされているエージェント

サポートされているエンジンとツール

Proliferateは単一のモデルやベンダーを強制しません。人気のエンジン向けのネイティブラッパーが組み込まれています:

  • Claude Code
  • OpenAI Codex
  • OpenCode
  • Cursor
  • Grok

カスタムプロンプトフォーマットを発明する代わりに、このプラットフォームはこれらのツールのネイティブインターフェースを使用します。すでにサブスクリプションを持っているか、APIキーを設定しているなら、統合ダッシュボードに接続できます。

このプロジェクトにはMCP(Model Context Protocol)サポート、ブラウザ統合、システムアクセス(Computer Use)も含まれています。ツール設定はプロジェクトレベルで一度設定すれば、接続されたエージェントはすべてそれを利用できます。

もう一つの興味深い機能は、ネストされたサブエージェントです。メインエージェントは子プロセスに作業の一部を委任し、結果を待ち、プロジェクトの構築を続けることができます。

自動化とワークフロー

手動でチャットを起動することに加えて、ワークフローセクションがあります。これはスケジュールベースまたはイベントベースでエージェントを起動することです。

例えば、夜間のレビューランを設定できます:エージェントがその日の間に変更されたファイルを巡回し、回帰を探して、別のブランチにレポートを置きます。あるいは、監視アラートにトリガーを接続して、エラーがあるブランチを即座にクローンし、失敗のローカライズを開始するようにエージェントに指示できます。

このプロジェクトはまだ出たばかり(GitHubで300スター少し)で、まだ若いですが、特に10個のターミナルを切り替え続けるのに疲れたチームにとっては、機能がよく考えられているように見えます。

展開して試す方法

Proliferateのクライアント部分はRustとTauriで構築され、WebインターフェースはNode.js 22を使用しています。バックエンドのコントロールパネルはPythonで記述され、uvパッケージマネージャーとPostgreSQLデータベースを使用しています。

コードベースはAGPL-3.0ライセンスの下で公開されています。サーバー部分はDocker Compose経由またはクラウドで、完全に独自のインフラストラクチャにデプロイできます。

ソースからデスクトップアプリケーションをビルドする

クライアントをローカルで試したい場合は、Rust、Node.js 22、pnpmがインストールされている必要があります。

# Клонируем репозиторий и ставим зависимости
git clone https://github.com/proliferate-ai/proliferate.git
cd proliferate

make install
make dev-local

開発用のフルスタックを実行する

ローカルデータベースとフルバックエンドで作業するにはDockerが必要です:

make server-install
make setup PROFILE=main
make build
make run PROFILE=main

リポジトリには、プロバイダーの接続と認証の設定のためのすべての環境変数を含む готовый テンプレートserver/deploy/.env.production.exampleがあります。本番サーバー向けには、制作者たちはCaddyをリバースプロキシとして使用した готовый docker-composeファイルを提供しています。

今すぐに誰がプロジェクトを活かせるか

1日に数行のコードのオートコンプリートを一度だけ使う人来说、Proliferateはおそらく不要です。通常のエディタプラグインで十分です。

しかし、Claude CodeのようなCLIユーティリティにコード生成を積極的に委任し、複数のタスクを並列で実行している場合、分離されたgit worktreeのコンセプトが多くの神経を節約してくれます。各プロセスに独自のターミナル、クリーンなdiff、明確な実行状態を備えた、視覚的なカンバンボードが得られます。

このプロジェクトは積極的に更新されており、バグは必ず見つかるでしょうが、worktreeを通じたアーキテクチャアプローチは、コンソールでの手動ブランチ操作よりもはるかに信頼性が高いに見えます。

関連プロジェクト