fleet について
fleetは、azlinを介して複数のAzure VM上で動作するコーディングエージェントを管理するコマンドラインスキルです。セッション監視、タスクとプロジェクトの追跡、操作の提案や実行を行うadmiralループを備えています。
主な機能
- 01VMセッションとエージェント状態の監視
- 02セッションの調査、確認、観察
- 03タスクの登録とプロジェクト追跡
- 04dry-runまたは自律admiralサイクルの実行
- 05セッション管理と認証情報の伝搬
活用シーン
- 01複数VM上のコーディングエージェントの活動確認
- 02fleetセッションで動くエージェントへのタスク登録
- 03GitHub issueに紐づくプロジェクト目標の追跡
- 04セッションを進める前の操作案の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rysweet/ amplihack --skill fleetインストール後、Claude Code で/fleetを入力して読み込まれたか確認します。
詳細
/fleet
Fleet オーケストレーション — azlin を介して複数の Azure VM 上で稼働するコーディングエージェント(Claude Code、Copilot、Amplifier)を管理します。
/fleet <command> として呼び出すか、実行したいことを説明してください。Claude が適切なコマンドを選択します。
すべてのコマンド
ステータスと監視
| コマンド | 内容 |
|---|---|
fleet status | すべての VM とセッションの概要をテキストで簡潔に表示します |
fleet scout | 検出、管理対象への追加、ドライランでの理由提示、レポート表示を行います |
fleet snapshot | 管理対象のすべてのセッションを特定時点でキャプチャします |
fleet watch <vm> <session> | 単一セッションのライブスナップショットを表示します |
fleet observe <vm> | パターン分類を用いてセッションを監視します |
fleet tui | Textual の対話型 TUI ダッシュボード |
Admiral の制御
| コマンド | 内容 |
|---|---|
fleet advance | ライブ — セッションについて判断し、アクションを実行します |
fleet dry-run | admiral が実行する内容を表示します(アクションは実行しません) |
fleet run-once | PERCEIVE->REASON->ACT のサイクルを 1 回実行します |
fleet start | admiral の自律ループを実行します |
セッション管理
| コマンド | 内容 |
|---|---|
fleet adopt <vm> | 既存の tmux セッションを管理対象にします |
fleet auth <vm> | 認証トークン(GitHub、Azure、Claude)を伝播します |
タスク管理
| コマンド | 内容 |
|---|---|
fleet add-task "prompt" | Fleet の作業キューにタスクを追加します |
fleet queue | タスクキューを表示します |
fleet dashboard | プロジェクト単位の進捗を追跡します |
fleet report | Fleet のステータスレポートを生成します |
プロジェクトとナレッジ
| コマンド | 内容 |
|---|---|
fleet project add/list/remove | Fleet のプロジェクトを管理します |
fleet project add-issue <proj> <num> | GitHub issue をプロジェクトの目標として追跡します |
fleet project track-issue <proj> | ラベルを使って GitHub issue から目標を同期します |
fleet graph | Fleet のナレッジグラフの概要 |
コパイロット
| コマンド | 内容 |
|---|---|
fleet copilot-status | コパイロットのロック/目標の状態を表示します |
fleet copilot-log | コパイロットの判断履歴を表示します |
クイックリファレンス
| ユーザーの発言 | コマンド |
|---|---|
| 「エージェントは何をしていますか?」 | fleet scout |
| 「Fleet を表示して」 | fleet status |
| 「次のステップをすべてのセッションに送って」 | fleet advance |
| 「確認なしで進めて」 | fleet advance --force |
| 「dev/cybergym の動作を監視して」 | fleet watch dev cybergym |
| 「新しい VM に認証情報を追加して」 | fleet auth <vm> |
| 「このタスクを Fleet のキューに追加して」 | fleet add-task "prompt" |
| 「myapp の issue #42 を追跡して」 | fleet project add-issue myapp 42 |
| 「GitHub から目標を同期して」 | fleet project track-issue myapp |
| 「ダッシュボードを開いて」 | fleet tui |
主なオプション
fleet scout [--session vm:session] [--vm VM] [--skip-adopt] [--incremental] [--save PATH]
fleet advance [--session vm:session] [--vm VM] [--force] [--save PATH]
fleet dry-run [--vm VM ...] [--backend auto|anthropic|copilot|litellm]
fleet adopt <vm> [--sessions s1 s2]
fleet watch <vm> <session> [--lines 30]
fleet auth <vm> [--services github azure claude]
fleet add-task "prompt" [--priority high] [--repo URL]
fleet start [--interval 300] [--max-cycles 10]
環境
| 変数 | 必要なコマンド |
|---|---|
AZLIN_PATH | すべてのコマンド(azlin が PATH 上にあれば自動検出) |
ANTHROPIC_API_KEY | scout、advance、dry-run、run-once、start |
Admiral の設定
- モデル:Claude Opus 4.6(
claude-opus-4-6) - 最大出力トークン数:128,000(推論 JSON)
- セッションごとに収集するコンテキスト:tmux のスクロールバック全体 + トランスクリプトの最初の 50 件と最後の 200 件のメッセージ
- 安全性:危険な入力パターン 57 件をブロック(安全な許可リストあり)、信頼度のしきい値(send_input は 60%、restart は 80%)、advance ではデフォルトで --confirm
- ドキュメント:
docs/fleet-orchestration/ADMIRAL_REASONING.md
ステータスアイコン
| アイコン | ステータス | 意味 |
|---|---|---|
[~] | 思考中 | エージェントが処理中です |
[>] | 実行中 | エージェントが出力を生成しています |
[.] | アイドル | エージェントはプロンプトで待機しており、指示を待っています |
[X] | シェル(エージェント停止) | このセッションではエージェントが検出されませんでした |
[Z] | 一時停止 | エージェントはバックグラウンドに移行していますが、稼働中です |
[!] | エラー | セッション出力でエラーが検出されました |
[+] | 完了 | エージェントはタスクを完了しました |
[?] | 入力待ち | エージェントが質問し、応答を待っています |
パフォーマンスとアーキテクチャ
- 順次 VM ポーリング:
azlin listからセッションを検出します(SSH 不要)。ペインのキャプチャは SSH で順次実行します - SSH 出力のキャッシュ:Scout は Phase 1 の tmux キャプチャをキャッシュし、Phase 3 の推論で使用します(二重ポーリングなし)
- インクリメンタルな Scout:
--incrementalフラグを指定すると、~/.amplihack/fleet/last_scout.jsonを使って変更されていないセッションをスキップします - Bastion トンネルの再利用:新しいトンネルを作成する代わりに、
get_existing_tunnels()を使って既存の SSH トンネルを再利用します - PR URL の検出:リモート VM 上で
gh pr listを使い、git の状態から PR を確実に検出します - 推論でのヘルスメトリクス:
fleet_health.pyをSessionContextに組み込み、admiral の判断に利用します - 統一されたステータス分類器:
_status.pyに単一の正規分類器を配置しています(TUI と CLI の二重化による差異はありません) - モジュール化された CLI:コマンドは
_cli_session_ops.py、_cli_scout_advance.py、_cli_formatters.pyに分割されています(各ファイルは 400 LOC 未満です) - プロジェクトごとのグループ化:Scout レポートでは、登録済みプロジェクトごとにセッションをグループ化し、未完了の目標を表示します
実行方法
Bash から実行します:
fleet <command> [options]
結果の提示
fleet scout または fleet advance を実行した後、次の形式で出力をユーザーに提示します:
-
概要テーブル — CLI 出力を次の列を含む読みやすい Markdown テーブルに整形します: VM | Session | Status | Action | Conf | Summary
-
提案する入力 —
send_inputの判断がある場合、admiral が送信しようとしている内容を示します -
フォローアップコマンド — レポートに記載された、実行可能な次の手順を必ず最後に提示します:
- 全セッションに次のコマンドを送信するには
fleet advance - 実行前に各セッションを確認するには
fleet advance --confirm - 特定のセッションを進めるには
fleet advance --session vm:session - 特定のセッションを調べるには
fleet watch <vm> <session>
- 全セッションに次のコマンドを送信するには
コメント
Markdown 対応