>_ DevTrendsja

言語

ホーム

言語

セクション

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

tmuxとgit worktreesでアンクル・ボブがニューラルネットワークを整理する方法

アジャイル宣言の作成者であり『Clean Code』シリーズの著者でもあるアンクル・ボブ(Robert Martin)が、GitHubにSwarmForgeという新しいプロジェクトを公開しました。READMEの最上部には赤い大文字の注意書きがあり、筆者とは一切関係のないSWARMトークンを購入しないように読者に呼びかけています。この奇妙なバナーの裏には、Unixツール、zshスクリプト、git worktreesで構築されたマルチエージェントシステムという興味深いアイデアが隠れています。

たいていのAIフレームワーク作者は、重いPythonライブラリを詰め込んだソリューションを提供していますが、SwarmForgeは問題をローカルで実用的かつ解決します。

なぜ複数のエージェントを同時に実行するのか

ClaudeやCopilotベースのコーダーに複雑なタスクを与えると、すぐにコンテキストの上限に達するか、あるいは静かに隣接するコードを壊してしまいます。現実のプログラミングでは、程序员たちは分業によってこの問題を解決します。一人が仕様を書き、別の人がTDDでコーディングし、三人目がアーキテクチャをチェックしてリファクタリングします。

SwarmForgeは、この手法をニューラルネットワークに持ち込みます。このツールはtmuxセッションを起動し、各エージェントに役割と個別のgit worktreeを割り当て、エージェント間のタスク受け渡しを調整します。その結果、エージェントは同じリポジトリで同時に作業できますが、物理的に互いに干渉したりファイルを上書きしたりすることがありません。

готов made Role Sets

длительная настройкаの代わりに、著者は готов madeのシナリオを別のリポジトリブランチからダウンロードを提供しています:

  • Branch two-pack. 小さなタスク向けの高速開発:コーダーがTDDで動作を実装し、クリーナーが重複を削除してアーキテクチャの欠陥を修正します。
  • Branch four- pack. Gherkin仕様書作成者、コーダー、リファクタラー、アーキテクトを含む標準サイクル。
  • Branch six-pack. 突然変異強化ステップとQAエージェントを含む完全なチェーン。
  • カスタムビルド。テキスト設定に記述された任意の役割セットからの独自バリアント。

各役割に個別のCLIクライアントを割り当てることができます。コーダーの役割にClaudeを、アーキテクトの役割にCodexやCopilotを割り当てることも問題ありません。

エージェント間でのタスク受け渡し

マルチエージェントシステムにおける主な問題は、エージェント同士でメッセージを送り合ってコンテキストを失うことです。SwarmForgeにはニューラルネットワーク間の直接チャットはありません。

直接的なコマンド呼び出しの代わりに、SwarmForgeはBabashka(Clojureスクリプト用インタープリター)でバックグラウンドデーモンを実行します。デーモンはファイルシステムのoutboxとinboxディレクトリを監視します。

あるエージェントがステージを完了すると、ローカルスクリプトを呼び出します。スクリプトは受け渡しを確認し、タスクファイルを作成します。コードが転送される場合、エージェントは正確な10文字のコミットハッシュを指定する必要があります。デーモンはファイルを取得し、コミットを検証して、次のエージェントのinboxフォルダに移動します。

このアプローチにより、ハルシネーションから守られます。ニューラルネットワークは、git worktreeに変更をコミットしていなければ、作業を先に進めることはできません。

設定と起動

すべての設定はシンプルなテキストファイルに保存されます。各行は1つのウィンドウを記述し、その役割、プロバイダー、worktree名、追加のCLIパラメータを設定します:

既存プロジェクトでシステムを起動するには、ターミナルコマンドを数回実行するだけです。ブランチを選択し、アーカイブをダウンロードし、エントリスク립트를実行します:

スクリプトはユーティリティをチェックし、共有スクリプトをブランチからダウンロードし、各役割のgit worktreesを初期化し、tmuxセッションを開きます。macOSでは自動的にTerminal.appまたはGhosttyを、WindowsではWSLからWindows Terminalを起動します。

起動時に、SwarmForgeはmacOSではLinuxではを通じてOSのスリープモードをブロックしようとします。これにより、エージェントが作業途中でスリープに入ることを防ぎます。

誰がSwarmForgeの恩恵を受けるか

このプロジェクトは興味深い印象を残します。一方では、TDD、コード品質メトリクス、Gherkin仕様、クリーンアーキテクチャの厳格なルールへの強調など、アンクル・ボブの характер的なスタイルが見られます。他方では、Babashka、tmux、特定のCLIツールへの依存により、参入障壁が顕著です。

クリーンコードのアイデアに共感し、AutoGenやCrewAIのような大型フレームワークなしで自律的開発を экспериメントしたいなら、SwarmForgeを試す価値があります。基本的なUnixユーティリティと適切なGitワークフローが複雑なAIシステムの調整にどのように役立つかを示す良い例です。