
ADE「Orca」で複数の AI エージェントを並列に動かす
Orca は、タスクごとに Git の worktree を分け、複数の AI コーディングエージェントを並列で動かす開発環境です。開発元は ADE(Agent Development Environment)と位置づけており、公式サイトのキャッチコピーは「Ship 100x with the agent IDE」です。この記事では、Orca の基本の流れと主な機能、エージェントが別のエージェントに作業を依頼できる Orchestration、そして使う前に確認しておきたい注意点を紹介します。
Orca は「エージェントを働かせるための IDE」
Orca は、人がコードを書くための IDE とは目的が違います。複数の AI エージェントを並べて働かせ、その結果を人が確認してまとめる、という使い方を前提に作られています。
基本の流れは 6 段階です。
| 段階 | やること |
|---|---|
| Add | リポジトリを登録する |
| Worktree | タスクごとに worktree を作る |
| Agent | worktree の中でエージェントを起動する |
| Race | 同じ指示を複数のエージェントに並行して進めさせる |
| Split | 画面を分けて、複数のエージェントを並べる |
| Diff and ship | 差分を確認して指摘し、commit・PR 作成・worktree の片付けまで行う |
macOS では Homebrew で入ります。
Bash
brew install --cask stablyai/orca/orcaOrca 自体は無料で、MIT ライセンスで公開されています。Claude Code や Codex などのエージェントは、利用者が自分の契約を持ち込みます(公式サイト)。
並列化の土台になっている Git の worktree そのものの使い方は、Git Worktree でコーディングエージェントを並列化する で紹介しています。Orca は、worktree の作成からエージェントの起動、差分の確認、PR 作成までを 1 つのアプリにまとめたものです。
主な機能
Orca の機能は、エージェントの状態管理・作業の開始・環境の準備・レビュー・画面確認・実行場所の 6 つの領域に分かれます。順に見ていきます。
エージェントの状態を一覧で見る
動いているエージェントの状態は、アイコンで一覧表示されます。作業中・入力待ち・完了・失敗の区別が付き、作業が終わると通知が届きます。エージェントを何体も並べると「どれを見に行けばいいか」が分からなくなりがちですが、一覧があれば手が空いたものから順に確認できます。
Orca を終了しても、エージェントは裏で動き続けます。 エージェントごとの使用量も表示され、アカウントは再ログインなしで切り替えられます。
課題を選んで作業を始める
作業は課題(Issue)から始められます。課題を選び、担当させるエージェントを選ぶと、worktree の作成と同時にエージェントが起動します。公式ドキュメントでこの流れが案内されているのは、GitHub と Linear の課題です。課題を読んでブランチを切り、ターミナルでエージェントを立ち上げる、という手作業がまとめて省けます。
orca.yaml でセットアップを共有する
新しく作った worktree には、gitignore されている node_modules や .env が入っていません。worktree を作るたびに依存関係を入れ直すと、並列化の手間が増えてしまいます。Orca では、リポジトリ直下の orca.yaml にセットアップ手順を書いておけます。
| 設定 | 役割 |
|---|---|
scripts.setup | worktree の作成時に実行するコマンド(例: pnpm install) |
setupAgentStartupPolicy | wait-for-setup を指定すると、セットアップが終わるまでエージェントの起動を待たせる(既定では待たない) |
defaultTabs | 最初に開くターミナルタブを定義する |
worktree.sharedDirectories | gitignore 済みのディレクトリ(node_modules など)をリンクで共有する |
.worktreeinclude(別ファイル) | gitignore 済みのファイル(.env など)を worktree ごとにコピーする |
orca.yaml はリポジトリにコミットできるので、チームの全員が同じ手順で worktree を作れます。sharedDirectories の書き方は公式ドキュメントに例があります。
YAML
# orca.yaml (リポジトリ直下)worktree: sharedDirectories: - node_modules - .cache差分にコメントして、まとめて差し戻す
差分ビューでは、行ごとに指摘を書けます。書いた指摘はまとめて 1 回でエージェントに渡せるので、指摘を 1 件ずつ送って修正を待つ往復が減ります(公式ドキュメント)。
差分の上では、AI が書いた行に印が付きます。 人が手で直した行は印が外れるので、どこを人が確認済みで、どこがエージェントの書いたままなのかを見分けられます(公式ドキュメント)。
ブラウザと Design Mode で画面を確かめる
worktree ごとにブラウザが内蔵されていて、開発中の画面をその場で開けます。Design Mode では、画面の要素をクリックすると、その要素の HTML・CSS・画像がエージェントに届きます。「このボタンの位置を揃えて」のような指示を、対象の要素を指したうえで出せます。
エージェントの側も、このブラウザを使って自分で画面を開いて操作し、スクリーンショットで結果を確かめられます。変更したあとの動作確認までエージェントに任せられるのが特徴です。
実行場所を選ぶ
エージェントを動かす場所は 4 通りから選べます。
| 実行場所 | 使いどころ |
|---|---|
| Local | 手元の PC で実行する |
| SSH | 既存の開発機や GPU マシンで実行する |
| Remote Orca Server | 常時稼働のマシンを複数の端末から使う |
| Cloud VM | タスクごとに使い捨ての VM を起動する |
手元の PC の性能が足りないときや、出先からスマートフォンで進み具合を確認したいときは、リモートの実行場所が役に立ちます(公式ドキュメント)。
orca CLI と定期実行
Orca には orca コマンドが付属していて、画面で行う操作の多くを CLI から実行できます。エージェント自身もこの CLI を使えるので、エージェントに Orca を操作させることができます。
| コマンド | できること |
|---|---|
orca worktree | worktree の作成・一覧・削除と、進捗コメントの記録 |
orca terminal | ターミナルの作成、出力の読み取り、入力の送信、完了待ち |
orca snapshot / click / fill | 内蔵ブラウザの読み取りと操作 |
orca orchestration | エージェントへの作業依頼と、完了報告の受け取り |
orca automations | プロンプトの定期実行の作成と管理 |
Orca のターミナルの中では設定なしで使えます。外部のターミナルから使う場合は、Settings で登録が必要です。
automations でプロンプトを定期実行する
orca automations を使うと、決まったプロンプトをスケジュールに沿ってエージェントに実行させられます。主な設定項目は次のとおりです。
- エージェント(
--provider): 実行させるエージェントを指定する(必須) - スケジュール(
--trigger): 毎時・毎日・平日・毎週のプリセットか、cron 形式で指定する - 実行場所(
--repo/--workspace): 毎回新しい worktree を作るか、既存の worktree で実行するかを選ぶ - 結果(
automations runs): エージェントの出力は実行履歴に残り、あとから読める
公式ドキュメントの例をもとにすると、平日 9 時に Issue を整理させる定期実行は次のように作れます。
Bash
orca automations create \ --name "Weekday triage" \ --trigger weekdays \ --time 09:00 \ --prompt "Triage new issues and summarize blockers" \ --provider claude \ --repo my-repo \ --disabled \ --json公式ドキュメントは、まず --disabled で作成し、手動で実行して確かめてから有効にする手順を勧めています。
Orchestration でエージェントに作業を依頼させる
Orca ならではの機能が Orchestration です。コーディネーター役のエージェントが、ほかのエージェント(ワーカー)に作業を依頼し、完了の報告を受け取れます。人がエージェントを 1 体ずつ見て回る代わりに、エージェントどうしで作業を受け渡せるということです。
構成要素
Orchestration は 5 つの要素で組み立てられています(公式ドキュメント)。
| 構成要素 | 役割 |
|---|---|
| Run | 作業全体の名前空間と、コーディネーターの受信箱 |
| Task | 依存関係と状態を持つ作業の単位 |
| Dispatch | Task を特定のターミナルで 1 回実行する単位 |
| Message | 完了報告(worker_done)や質問などの連絡 |
| Decision gate | コーディネーターが判断するまで Task を止める仕組み |
依頼から片付けまでの流れ
コーディネーターは、Run の作成・依頼・報告待ち・片付けの順に進めます。
Loading diagram...
worker-start で worktree とエージェントを用意して指示を送り、check --wait で完了報告や質問が届くまで待ちます。--worktree new-child を指定すると、ワーカー用の worktree が新しく作られます(current はコーディネーターと同じ worktree で動かす指定です)。届いた報告を処理したら、check --ack <deliveryId> で受領を返します。受領を返さないと、同じ報告が繰り返し届きます。 結果を確かめてから worker-release でワーカーを終えます。完了報告は「成功/失敗」と変更ファイルを含む決まった形式で届くので、コーディネーターは報告を読み違えずに次の判断へ進めます。
Bash
orca orchestration run-create --objective "..." --jsonorca orchestration task-create --spec "..." --task-title "..." --jsonorca orchestration worker-start --task <taskId> --worktree new-child --name <name> --agent codex --jsonorca orchestration check --wait --types worker_done,escalation,question --timeout-ms 900000 --jsonorca orchestration check --ack <deliveryId> --wait --types worker_done,escalation,question --timeout-ms 900000 --jsonorca orchestration worker-release --dispatch <dispatchId> --json公式ドキュメントでは、Orchestration は Settings → Experimental で有効にしてから使うよう案内されています。ただし、Orca 1.4.210 では Experimental の切り替えが見当たりませんでした。更新が速いツールなので、使う前に手元のバージョンと画面を確かめてください。
同じ指示を複数のエージェントに出して比べる
Orca の並列実行が活きる使い方の 1 つが、同じ指示を複数のエージェントに出して結果を比べる方法です。
- worktree を 3 つ作る
- それぞれで別々のエージェントを起動する
- 3 つに同じ指示を入力する
- 最も良い差分を採用する
結果が一致すれば正しい可能性が高く、割れた箇所はそのタスクの難しい部分だと分かります。 1 体のエージェントの出力だけを見ていると気付きにくい「迷いやすい箇所」が、差分の割れ方として見えるのが利点です。
普段から Orca を使っているメンバーは、この比較を定期実行と組み合わせています。手元にあるのが Claude のアカウントだけなので、Sonnet や Opus など Claude のモデルどうしで同じタスクを定期的に実行させ、判定結果から一番良い案を採用する、という運用を繰り返しています。Codex と Claude のどちらにどの機能を任せるのが良いか、といったエージェントをまたぐ比較はまだ試せていません。
使う前に確認したい注意点
Orca は、エージェントに多くの操作を任せられる分、既定の設定のまま使うと影響が大きくなる箇所があります。
| 項目 | 内容 |
|---|---|
| 権限の既定値 | 既定では権限確認なしでエージェントを起動する(例: --dangerously-skip-permissions) |
| 安全性 | worktree はセキュリティサンドボックスではない |
| CLI での削除 | orca worktree rm --force は、未コミットの変更があっても確認なしで worktree を削除する |
| 利用料 | Orca は無料だが、エージェントの利用料は並列数に応じて増える |
| 更新の速さ | 更新が速く仕様が変わりやすい。一部はベータ版 |
とくに気を付けたいのは権限の既定値です。 worktree は作業ディレクトリを分けるだけで、エージェントがファイルシステムやネットワークに触れる範囲は制限しません。権限確認なしで起動したエージェントは、指示の解釈がずれたときに、CI のワークフローを消すような意図しない変更まで進めてしまうことがあります。権限は Settings → Agents → Agent Permissions で Manual に変更できるので、最初は Manual にして挙動を確かめてから緩めるのが安全です。
どの操作をエージェントに許可し、どこで人の承認を挟むかの考え方は、コーディングエージェントの権限設計 で整理しています。エージェントが使う認証情報にも、作業に必要な最小限の権限だけを付けておきましょう。
まとめ
Orca は、タスクごとに worktree を分け、複数のエージェントを並列で動かす開発環境です。
| 観点 | 内容 |
|---|---|
| 並列実行 | 課題から worktree とエージェントをまとめて起動し、状態を一覧で見る |
| 環境の準備 | orca.yaml でセットアップ手順と共有ディレクトリをチームで揃える |
| レビュー | AI が書いた行に印が付き、行ごとの指摘をまとめて差し戻せる |
| 画面確認 | Design Mode で要素を指して指示し、エージェント自身にも画面を確かめさせる |
| 自動化 | CLI・定期実行に加え、Orchestration でエージェントが別のエージェントを操作する |
| 注意点 | 既定は権限確認なし。worktree はサンドボックスではない |
並列で動かすエージェントが増えてきて、worktree の準備や差分の確認に手間がかかっている場合は、まず権限を Manual にしたうえで Orca を試してみてはいかがでしょうか。エージェントの状態管理に寄せたターミナルランタイムを使う方法は、Codex アプリと Herdr でマルチ AI を動かす で紹介しています。
gaipack では、AI コーディングエージェントを使った開発の進め方を社内で試しながら改善しています。AI 駆動開発の導入をご検討中の方は、お気軽にご相談ください。
※ 本記事の内容は公開時点の情報です。サービスの名称・内容・料金は予告なく改訂されることがあります。




