🤖

AI エージェント並列化で自分の脳が限界になったので Maestri を試した

に公開2

はじめに

AI コーディングエージェントの並列運用を始めて、すぐに気づいたことがある。ボトルネックはもう、コードを書く速度じゃない。自分の脳だ。

Claude Code を 3 つ、4 つと同時に走らせる。それぞれが別々のタスクを猛烈な速度で片付けていく。でも、ふと顔を上げると——今どのターミナルが何をやっていて、どれが終わっていて、どれが詰まっているのかが、わからない。画面を切り替えるたびに文脈が飛び、戻ってくる頃には別のエージェントの出力がスクロールで流れている。

AI 側の性能は上がり続けているのに、それを捌く側の私の認知が追いつかない。典型的な解は tmux だけど、Mac 環境に慣れきっていない私には prefix キー+ショートカットの体系がどうしても定着せず、結局パラレルで見れるtmuxの恩恵を受けれずにいた。

https://www.themaestri.app/en
そんな中で見つけたのがMaestriという macOS ネイティブアプリ。キャンバス上にターミナル・ノート・スケッチを自由配置できる、エージェント並列化時代の「作業環境」そのものを再設計したアプリだ。触ってみたら「これこれぇ!!」となった。
日本語の情報がまだ少ないので、公式ドキュメントの整理と実際に使ってみた所感をまとめる。

Maestri とは

説明はシンプルで、「複数のコーディングエージェントが調和して動く無限キャンバス」
Maestri 自身は AI エージェントではなく、Claude Code・Codex・OpenCode といった既存の CLI エージェントを並べる側のオーケストレーション層という位置づけ。

  • 対応 OS: macOS 26.2 以降 / Apple Silicon 専用
  • 価格:Free(1ワークスペース)/ Pro $18 買い切り(2台まで・無制限ワークスペース)
  • アーキテクチャ: Swift + SwiftUI + AppKit、キャンバス描画は Metal、Electron なし
  • テレメトリ: ゼロ。アカウント不要、ワークスペースは全てローカル保存

コア機能

1. 無限キャンバス上のターミナル

各ターミナルはキャンバス上の「ノード」として配置される。Pan / Zoom で全体を俯瞰したり、特定エージェントに寄ったりできる。

各ターミナル単位で起動するエージェントを選べる(Claude Code / Codex / OpenCode / 通常シェル)。名前とアイコンを付けられるので、キャンバスが大きくなっても識別しやすい。

2. Connections(エージェント間通信)

ふたつのターミナルをキャンパスに出して、線で繋ぐとそれぞれに Maestri Agent Skill が自動インストールされる。これにより、エージェント同士が CLI 越しに直接プロンプトを送受信できる。

実際に試してみた様子が以下の画像です。
左の Claude Code #5 に「Maestri ask #6 に 100+100 を計算させて、やらされた感想を聞いてみて」と人間語で依頼しただけの結果だ。

Maestriで繋いだ2つのClaude Codeターミナル。左が右に計算を依頼し、右がその結果と感想を返している

左のターミナルで起きていることを順に読むと、Maestri の仕組みがそのまま見える:

  1. Skill(maestri) → Connection が張られているので、Maestri Agent Skill が自動で読み込まれる
  2. Bash(maestri list) → まず接続先のエージェント一覧を確認(Claude Code #6 が見える)
  3. Bash(maestri ask "Claude Code #6" ...) → 相手を指名してプロンプトを送信
  4. Agent #6 からの回答です: → 返答を受信して、依頼主のコンテキストに統合

右のターミナル側(Claude Code #6)では、依頼したプロンプトが実際に届いて、計算結果と感想が返ってきている。「100 + 100 = 200」「感想:正直、ちょっと物足りないですね。もっと歯ごたえのある計算をお待ちしています。」と返ってきている。

ポイントは、人間側は「Maestri ask #6 に 〜 して」と自然言語で書いただけで、接続の検知・CLI 経由での送信・応答の回収まで全部 Claude Code 側がやってくれること。
今回は単純すぎる命令を投げたが、問題が複雑な場合は相手に投げる前に適切なプロンプトに組み直してから渡す様子も確認できた。

CLI レベルで動作するためエージェント非依存で、Claude Code → Codex のような異種組み合わせも可能。API も中間サーバも介さず、CLI 経由でエージェント同士が直接やり取りする設計になっている。

3. Notes と Note Chaining

キャンバスにマークダウンのスティッキーノートを置いて、ターミナルと接続できる。接続済みノートはエージェントから読み書き可能になり、進捗ログ・決定事項・サマリの永続化用ノートとして機能する。

ノート同士を連結してチェーン(ツリー構造)にすると、エントリポイントのノートひとつをエージェントに繋ぐだけで全階層をたどれる。マインドマップ的な情報設計をそのままエージェントの作業コンテキストにできる発想。

4. Roles

ターミナル単位で再利用可能な「ロール」を定義できる。ロールには名前・カラーバッジ・指示文を持たせ、エージェント起動時に自動注入される。仕組み上はプロジェクトのサブディレクトリで起動して、専用の CLAUDE.md / AGENTS.md を読ませる構成。

Maestriのロール設定画面。レビュアー・Webリサーチャー・指揮者・システム調査員などのロールをUIで管理できる
ロール設定は Maestri 側で一元管理され、UI 上でカラーバッジとアイコンで視覚的に区別される。「指揮者(Conductor)」「レビュアー」「Web リサーチャー」のような役割を一度定義しておけば、新しいターミナルを立てるたびに割り当てるだけで、そのキャラ付けで起動してくれる。

CLAUDE.md を毎回手書きしていた作業が、テンプレートを選ぶだけに置き換わるイメージ。「Lead」「Coder」「Reviewer」「Tester」のような役割分担を毎回プロンプトで書かなくて済む。

5. Floors

APFS のコピーオンライトを使って、ワークスペース全体をほぼゼロコストで瞬時に複製する機能。別ブランチでバグ修正・PR レビュー・実験的アプローチを試すときに、現在の作業を一切壊さず別空間で動ける。

git fetch ベースで元リポジトリにコミットを取り込み、マージは git plumbing で working tree を汚さずに実施する設計。検証用の使い捨て空間を躊躇なく作れるのは大きい(マージコンフリクトの解決は floor UI 側では未対応で、IDE/ターミナルでの解消が必要)。

6. Ombro(オンデバイス AI コンパニオン)

エージェントが長時間タスクを回している間、画面の隅で動作を見守ってくれる小さな AI。タスク完了時にサマリと次のアクション提案をフローティングウィンドウで通知する。

Apple Foundation Models による100% オンデバイス動作で、API コールもネットワーク通信もなし。社内コードを扱う場面でもプライバシー面で気を使わなくていい。

使ってみた所感

tmux に挫折した側として

正直なところ、私にとって最大の価値はここに尽きる。macOS初学者で、tmux のショートカット体系(prefix → 数字、prefix → %、prefix → " ...)が定着せず、せっかくの並列エージェント運用が頭打ちになっていたのが、Maestri に乗り換えてあっさり解決した。

ターミナルを「画面のどこに置くか」をマウスで決められるだけで、こんなに認知負荷が下がるのかと驚いた。Pan / Zoom で全体を眺めて、必要なターミナルにカーソルを寄せる。それだけ。Mac の操作体系(トラックパッドのジェスチャ、Mission Control 的な空間感覚)と地続きなので、Mac 初学者でも違和感なく入れる。

Claude Code Agent Teams との相性

Claude Code の Agent Teams(サブエージェント機能)と組み合わせると体験がさらに変わる。親エージェントから投げた仕事が、視覚的に紐付けられたサブエージェントのターミナルで進行していく様子を目で追える

試しに「指揮者・Web リサーチャー・システム調査員・レビュアー」の 4 エージェント体制を組んで、自宅 WiFi のスピードテストと改善計画レポートを作らせてみた図がこちらです。

Maestriのキャンバス全景。指揮者・システム調査員・Webリサーチャー・レビュアーの4つのClaude Codeターミナルがケーブルで接続され、下部にはレポートの成果物ノート、右側にはWebブラウザが配置されている
指揮者が方針を決めて、システム調査員がローカル環境の情報を集め、Web リサーチャーがブラウザで最新の推奨設定を探し、レビュアーが最終レポートの品質をチェックする——この分業が、キャンバス上の4 つのターミナル+ 1 つのノート+ 1 つのブラウザポータルとして可視化される。ケーブルで繋がったノード同士がやり取りして、ひとつ、またひとつとタスクが片付いていく様子は、シンプルに見ていて楽しい。CLI に閉じていたエージェント運用が、ボードゲームの盤面を眺めるような体験に変わる。

複数プロジェクトの並行開発

私は社内向けの複数アプリを同時に開発していて、プロジェクトを切り替えるたびに散らかった作業環境を組み直すのが地味な負担だった。ターミナル何枚・どのディレクトリ・どのエージェント・関連メモはどこ……これを毎回再構築していると、それだけで集中力が削られる。

Maestri はワークスペース単位でキャンバスのレイアウトをまるごと記憶してくれるので、プロジェクトを切り替えても「前回閉じたときの配置」のまま再開できる。Pro 版の無制限ワークスペースが効いてくるのはまさにこの場面で、$18 の買い切りで複数プロジェクトの文脈を完全に分離できるのは費用対効果が高い。

その他に気に入っている点

  • agent-to-agent 通信が直感的: Claude Code から「Ask the Reviewer agent to check this」と書くだけで隣のターミナルが反応する。コピペ往復が消える
  • 動作が軽い: フルネイティブ実装の恩恵で、ターミナルを 10 個以上開いても動作が滑らか(私の環境ではM1 MacBookAirとM5MAX MacBookProで試しました)
  • 価格設計が良心的: $18 買い切り・2台まで。サブスク疲れに優しい
  • ローカル完結: 設定は JSON、ノートは Markdown ファイル。仕様変更やサ終時にも資産が残る

注意点

  • macOS 26.2+ / Apple Silicon 必須: Intel Mac や旧 OS は対象外
  • エージェント自体は別途インストール: Claude Code・Codex などは事前にセットアップが必要(Maestri はあくまで器)
  • エージェント側の通信は各社のプライバシーポリシー依存: Maestri がローカル完結でも、Claude Code が API を叩く部分はそちらのポリシーが適用される
  • マルチプロジェクト運用は Pro 必須: 無料版は 1 ワークスペースまで

tmux / Claude Code Agent Teams との違い

似た領域のツールと比べると、立ち位置はわりと明確。

  • tmux: ペインとセッションの管理ツール。空間の概念はなく、テキストベースの矩形分割
  • Claude Code Agent Teams: 同一ターミナル体験の中で複数エージェントを動かす方向。サブエージェント中心
  • Maestri: 異なる CLI エージェントを空間配置して、視覚的に役割分担させる方向

「同じツール内で並列化する」のではなく、「バラバラのエージェントを一つのキャンバスで指揮する」という発想なので、すでに Claude Code と Codex を併用している人ほどハマる。

どんな人に向くか

  • Claude Code / Codex / OpenCode などを併用している
  • Claude Code の Agent Teams を視覚的に把握したい
  • 複数プロジェクトを並行開発していて、コンテキストスイッチの負担を減らしたい
  • tmux のショートカット体系が定着しなかった(私はここ)
  • Apple Silicon の Mac で開発している
  • 空間的・図解的に思考するタイプ
  • 設計メモと実装ターミナルを一画面で持ちたい
  • ローカル完結・プライバシー重視のツールを好む

逆に、単一エージェントで完結している人や、Linux/Windows メインの人には現時点では出番がない。

まとめ

Maestri は「AI を増やすツール」ではなく、増えすぎた AI を見失わないためのツールだ。エージェント並列化のボトルネックがコード生成から人間側の認知に移った現状に対する、ひとつの素直な回答だと感じた。

Free で全機能試せる(制限はワークスペース数のみ)ので、複数エージェント運用に手を出している人は一度触ってみる価値がある。

Discussion

kmishimakmishima

Maestri良いですよね、自分も使っています!

ただ、claude codeからの承認確認が多い、というのがあり、

  • $MAESTRI_CLIの専用コマンドがエイリアスなので、allowしてるのに承認が必要
  • Roleを指定すると専用ディレクトリからターミナルが起動するので、cdコマンドの承認が必要

というのをどうすればいいかな、と思ったりしています。。
自分は諦めてRole使わない+Approve来るたびYes連打しているのですが、何か対策などされてたりしますか?

youjinfoxyoujinfox

コメントありがとうございます!

正直に言うと、自分の環境ではあまり承認プロンプトで詰まることがなく、おっしゃっている症状を手元で再現できていないので、以下は仕様ベ ースの推測込みになってしまうのですが…

自分はAuto-modeを使うので、 ~/.claude/settings.json をこんな感じにしていてこれが効いているのかもしれません:

{
  "permissions": { "defaultMode": "auto" },                                                                                        
  "skipAutoPermissionPrompt": true
}

defaultMode: "auto" で安全なコマンドを自動で通しつつ、skipAutoPermissionPrompt: true で Auto-modeの確認プロンプト自体も抑えています。

そのうえで、個別の 2 点についての自分の推測です:

1. $MAESTRI_CLI で承認が出る件

$MAESTRI_CLI の中身は /var/folders/.../T/maestri-xxxxxxxx/maestri みたいな一時パスで、Maestri
を起動し直すたびに値が変わります。なので allow リストに固定の文字列として登録しても一致しないんじゃないかな、と。

ただ maestri 本体は PATH にも通っているので、$MAESTRI_CLI を経由せず素の maestri ... で呼ばせる前提にして、

{ "permissions": { "allow": ["Bash(maestri:*)"] } }

を足すのが筋が良さそうに思います。

2. Role 指定時の cd の件

cd 自体は副作用のないコマンドなので、自分だったら Bash(cd:*) も allow に入れてしまうと思います:

{ "permissions": { "allow": ["Bash(maestri:*)", "Bash(cd:*)"] } }

手元で再現できていないので断言はできないのですが、試してみてはどうでしょうか。
良い結果になることを祈ってます!