30 分で始める|3つの役割が自律協働|複数 Provider でフォールバック|要件から PR までの全工程を自動化
プロジェクト概要
TheBotCompany は、あなたが「本当に手を放せる」AI 開発チームのためのプラットフォームです。核となる考え方はシンプルです。もはや、あなた一人が AI とチャットしてコードを書くのではなく、複数の AI Agent でチームを組みます——誰かが計画を担当し、誰かが実装を担当し、誰かが検証を担当する。彼らが自分たちで議論し、自分たちでタスクを割り当て、自分たちで進捗を管理します。あなたがやることは、彼らが本当に人間の判断を必要とする場面に遭遇したときにだけ介入することです。
チームには3つの固定された管理ロールがあります。Athena は戦略計画を担当し、マイルストーンとサイクル予算を定義します。Ares は実行を率い、マイルストーンを具体的なタスクに分解してワーカー Agent に割り当てます。Apollo は検収を担当し、高い基準で Ares の成果を精査し、不合格なら差し戻します。あなたがずっと見守る必要はありません。Dashboard がリアルタイムで各 Agent の作業内容、かかった費用、発生した問題を表示します。
TIP
プロジェクト先:https://github.com/syifan/thebotcompany、MIT ライセンス。15+ 種類の LLM Provider に対応。
対象読者像
この記事は次のような開発者を対象にしています:
- 開発経験があり、反復的なコーディング作業を AI Agent チームに任せて、自分は意思決定や設計に集中したい
- Multi-Agent 協働や自律組織チームといった概念に関心があり、実践的な事例を探している
- 既に単一 Agent で開発を補助しているが、複数の方向性を並行して進めるために複数 Agent へ拡張したい
もしあなたが欲しいのが「セットして完全に放置できる」ツールなら、先に期待値を下げておきましょう。TheBotCompany は手動介入を大幅に減らせますが、完全に不要にはなりません。
コア依存関係と環境
| 依存 | 最低要件 | 説明 |
|---|---|---|
| Node.js | ≥ 20 | フルスタック実行の土台 |
| GitHub CLI | インストール済み・ログイン済み | gh auth login で認証を完了 |
| LLM API Key | 任意の対応 Provider | Anthropic / OpenAI / Google / Groq など 15+ 種類 |
| ネットワーク | GitHub にアクセス可能 | Agent が Repo を操作します |
WARNING
GitHub CLI(gh)は必須です。Agent はこれを使ってブランチ作成、PR 提出、Code Review を行います。gh が未ログインの場合は、先に gh auth login で認証を完了してから進めてください。
完全なプロジェクト構成ツリー
インストールして起動すると、~/.thebotcompany/ ディレクトリ配下に以下の構造が生成されます:
~/.thebotcompany/
├── keys.json # 暗号化して保存された API Keys
├── db.sqlite # Issue tracker 用データベース
├── config.yaml # グローバル設定
└── logs/ # 実行ログ
あなたのプロジェクトディレクトリ/
├── workers/ # ワーカー Agent のスキル定義
│ ├── leo.md # Frontmatter: reports_to, role, model
│ └── maya.md
├── workspace/ # 各 Agent の作業空間
│ ├── athena/note.md
│ ├── ares/note.md
│ └── leo/note.md
└── .tbc/ # プロジェクト単位の設定(プロジェクト作成時に生成)
手順通りのインストール
ステップ1:TheBotCompany をインストール
npm install -g thebotcompany
インストール確認:
tbc --version
ステップ2:サービスを起動
tbc start
初回実行では、次の設定を順番に求められます:
- Dashboard のアクセスパスワード — 書き込み操作(停止、再開、設定変更)を保護するため
- ポート番号 — デフォルト
3100。そのまま Enter でデフォルトを受け入れてください
? Set a password for dashboard write access: ********
? Port to run the dashboard (default 3100):
起動に成功すると、Dashboard は http://localhost:3100 でアクセス可能です。デフォルトでは読み取り専用で、ログイン後に操作できます。
ステップ3:API Key の設定
Dashboard(http://localhost:3100)を開き、右上の Settings をクリックして、Keys パネルに API Key を追加します。環境変数を使えば、初回実行時に自動検出もできます:
# .bashrc または .zshrc に追加:
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
TIP
TheBotCompany は Key Pool に対応しています。同じ Provider に複数の Key を追加でき、ある Key がレート制限にかかったら次の Key に自動的に切り替わります。手動介入は不要です。
ステップ4:Dashboard でプロジェクトを作成
http://localhost:3100を開く- New Project をクリックし、次を入力:
- Repository URL — GitHub の Repo アドレス(
ghが権限を持っている必要があります) - Provider — どの LLM Provider を使うか選択
- Model Tier — 各レイヤーで使うモデル(high/mid/low)
- Repository URL — GitHub の Repo アドレス(
- Create をクリック。制御権が Athena に渡り、仕事を開始します
3つの役割の協働アーキテクチャ詳細
これが TheBotCompany の最も重要な設計です。ここを理解すれば、システムがどう動くかが見えてきます。
固定の3つの管理ロール
| 役割 | 職能 | 発火タイミング |
|---|---|---|
| Athena(戦略計画) | マイルストーン定義、サイクル予算配分、評価方針の決定 | 各新サイクル開始時に起動 |
| Ares(実行開発) | ワーカー Agent チームを組成し、タスクを分解して実現を推進 | IMPLEMENTATION 段階 |
| Apollo(検収) | Ares の成果を高い基準でレビューし、通過か差し戻しかを判断 | VERIFICATION 段階 |
完全な Cycle ループ
PLANNING 段階(Athena)
→ Athena と彼女のワーカー Agent が動く
→ 調査、評価、ブレインストーミング
→ マイルストーン定義 → IMPLEMENTATION に入る
IMPLEMENTATION 段階(Ares)
→ Ares と彼のワーカー Agent が動く(最大 N 個の Cycle)
→ Ares が完了を宣言 → VERIFICATION に入る
→ サイクル予算を超過 → PLANNING に差し戻され再評価
VERIFICATION 段階(Apollo)
→ Apollo と彼のワーカー Agent が動く
→ Apollo が検収を通過 → 次の PLANNING へ
→ Apollo が差し戻し → IMPLEMENTATION に戻って修復
ワーカー Agent はどう働くのか
Manager(Ares / Athena / Apollo)は、{project_dir}/workers/ ディレクトリに .md ファイルを作成することでワーカー Agent を「雇用」します。各ファイルには固定の YAML frontmatter が含まれます:
---
reports_to: ares # 誰に報告するか
role: Frontend Engineer # 職責の説明
model: mid # どのモデルを使うか
---
# Frontend Engineer
あなたはフロントエンドエンジニアであり、UI コンポーネントとインタラクションのロジックを実装する責任があります。
Manager がワーカーにタスクを割り当てるときは、**「1タスクにつき1サイクル」**だけを渡します——一度に5つのタスクを詰め込むことは許可されません。ワーカーが完了すると、Manager は作業空間の note.md を読み取り、文脈を把握した上で次の一手を決めます。
Agent 間の通信方法
Agent 同士は直接チャットしません。内蔵の Issue Tracker を通じて調整します:
- Ares が Athena の意見を必要とする → Issue Tracker で Issue を作成し、Athena に指定
- Worker が問題に遭遇 → Issue を作成、Manager が見て処理
- 人間の介入が必要 → GitHub Issue を作成し、タイトルは
HUMAN:で始める。あなたが GitHub にログインして対応します
TIP
この設計の利点は、すべての意思決定が記録として追跡できることです。「Agent がある会話で何をしたかを後から忘れる」といった事態を防げます。
完全な開発フローのデモ
Step 1:Dashboard でプロジェクトを作成
Dashboard を開き、New Project をクリック:
Repository: https://github.com/your-username/your-repo
Provider: Anthropic
Model: claude-sonnet-4
プロジェクト作成後、Dashboard 上にこのプロジェクトのカードが表示され、状態は PLANNING になって Athena が作業を開始します。
Step 2:Athena の計画プロセスを観察
Dashboard の Agent Reports パネルで、Athena の出力を見ることができます。彼女が行うことは次の通りです:
- プロジェクトの README と既存コードを読み、現状を把握
- 関連する技術案やベストプラクティスを検索
- 要件の実現可能性を評価
- 最初のマイルストーンとその予算(何個の Cycle)を定義
マイルストーンの定義が完了すると、システムは自動的に IMPLEMENTATION 段階へ切り替わり、Ares が起動します。
Step 3:Ares が実装を実行
Dashboard の状態が IMPLEMENTATION に切り替わると、Ares が作業を開始します:
- ワーカーの採用 — Ares が
workers/leo.mdやworkers/maya.mdなどのファイルを作成 - タスクの割り当て — 各 Cycle ではワーカーごとに具体的なタスクを1つだけ
- PR のレビュー — ワーカーが PR を提出したら、Ares が Code Review
- Cycle 制御 — もし1つの Cycle 内で完了しなければ、次の Cycle に向けて差し戻して再試行
Dashboard の Chat パネルから、Ares に直接メッセージを送って方向性を調整したり、追加の文脈を補足したりできます。
Step 4:Apollo の検収
Ares がマイルストーン完了を宣言すると、システムは VERIFICATION に切り替わり、Apollo が起動します:
→ Apollo がコードの変更を読み取る
→ 検証テストを実行(GitHub Actions で)
→ マイルストーンの要件を満たしているか確認
→ 通過 → 次の PLANNING へ
→ 不通過 → IMPLEMENTATION に戻して、どこが違うのかを示す
Apollo の基準は Ares よりも一段高いため、「Ares はいけると思ったのに Apollo が差し戻す」ことがよく起こります——これは通常の設計であり、不具合ではありません。
Step 5:手動介入(必要な場合)
Agent が本当に人間の判断を必要とする事柄に遭遇すると、HUMAN: で始まる GitHub Issue が作成されます:
HUMAN: ログインページは OAuth かユーザー名・パスワードか?
この Issue に GitHub 上で返信してください。Agent はあなたの回答をもとに続行します。
あなたが返信すると、Ares は実行を継続します。介入が不要なら、Dashboard 上でプロジェクトをそのまま停止できます。
Dashboard の機能詳細
TheBotCompany の Dashboard はシステム全体のコントロールセンターであり、すべての状態が一目でわかります。
プロジェクト全体概要
Dashboard のホームには、すべてのプロジェクトのカードが表示されます。各カードには次が表示されます:
- 現在の段階(PLANNING / IMPLEMENTATION / VERIFICATION)
- 現在の Cycle / Epoch のカウント
- マイルストーンの進捗バー
- 最後に出た Agent Report の要約
Agent Reports
各プロジェクトの Agent 出力履歴。Markdown のレンダリングと自動要約に対応しています。ある Cycle の出力が特に長い場合、Dashboard は自動的に圧縮して重要な結論のみを表示します。
Issue Tracker
Agent 間の調整はここで行われます:
- プロジェクトでの絞り込み
- 状態(Open / In Progress / Resolved)での絞り込み
- Agent での絞り込み
- 専用の Human Issues パネル:あなたが対応すべきすべての昇格(エスカレーション)リクエストを一覧
Chat
Dashboard 内蔵の直接対話入口です。任意のプロジェクトを選び、対応する Manager にメッセージを送って、文脈の補足や方向性の調整ができます。ストリーミング応答と画像アップロードに対応しています。
コストトラッキング
各プロジェクト、各 Agent の費用明細:
- Last Cycle の費用
- 24 時間の平均費用
- 累計総費用
Budget Controls と組み合わせることで、24 時間ローリングの予算上限を設定できます。上限を超えると、Agent は自動的にスリープ状態に入ります。
Controls
Dashboard 上のショートカット操作ボタン:
- Pause / Resume — プロジェクトを停止・再開(ログインが必要)
- Skip Sleep — 設定されたスリープ間隔をスキップして、次の Cycle を即開始
- Kill Run / Cycle / Epoch — 現在の実行を強制終了
- Bootstrap — 指定したマイルストーンから再起動
TIP
Agent がデッドループに陥っている場合(たとえば同じ失敗案を延々とリトライしているとき)は、Kill Run で止めてから、Chat で Ares に正しい方向性を伝える方が、Agent が自力で直すのを待つよりずっと早いです。
複数 Provider と Key Pool の管理
対応 Provider 一覧
TheBotCompany は 15+ 種類の LLM Provider に対応しています:
| Provider | 説明 |
|---|---|
| Anthropic | Claude シリーズ(API Key / OAuth) |
| OpenAI | GPT-4o / o1 など(API Key / OAuth) |
| Gemini シリーズ(API Key / OAuth) | |
| Groq | 無料のレート制限あり。推論が高速 |
| Mistral | Le Chat / API |
| xAI | Grok シリーズ |
| Amazon Bedrock | AWS によるマネージドモデル |
| Azure OpenAI | エンタープライズ版 OpenAI |
| Cerebras | 超高速推論 |
| HuggingFace | Inference API |
| Kimi Coding | 月の暗部 Kimi |
| MiniMax | 稀宇テクノロジー |
| OpenRouter | 複数モデルのゲートウェイを集約 |
| GitHub Copilot | OAuth 連携 |
| Custom | 任意の OpenAI/Anthropic 互換エンドポイント |
Key Pool の動作
Settings の Keys パネルでは、同じ Provider に複数の Key を追加し、優先順位の順序も設定できます。実行時は次のように動作します:
- システムは優先順位が最も高い Key を最初に使う
- その Key がレート制限(429)またはクォータ不足になる → 次の Key に自動切替
- クールダウン時間が終わると、その Key は再び利用可能になり、ローテーションに復帰する
長時間稼働が必要なプロジェクトで特に便利です。単一 Key が使い切られて Agent チーム全体が止まることを心配する必要がありません。
Model Tier の設定
各プロジェクトで、各ティアが使うモデルをカスタマイズできます:
# プロジェクト単位の .tbc/config.yaml
model_tiers:
high: claude-opus-4 # 複雑なアーキテクチャ、深い推論
mid: claude-sonnet-4 # デフォルト。能力とコストのバランス
low: claude-haiku-3 # シンプルな反復タスク、フォーマット
また Settings の Model Tier Overrides パネルから、UI 経由で直接変更することもでき、設定ファイルを触る必要はありません。
よくある問題の切り分け
Q1:tbc start 起動後に Dashboard が開けず Connection Refused が表示される
原因:ポートが使用中、またはサービスが正常に起動していない。
切り分け手順:
# 1. tbc が実行中か確認
tbc status
# 2. 実行中でない場合は手動起動してエラー出力を確認
tbc dev
# 3. ポートが使用中なら別のポートを指定
TBC_PORT=3200 tbc start
Q2:Agent チームがずっと PLANNING 段階のままで、IMPLEMENTATION に入らない
原因:Athena が深い調査を行っている、またはワーカー Agent の結果待ちで、マイルストーンをまだ定義できていない。
解決方法:
Dashboard → Agent Reports を開き、Athena の最新出力を確認してください。彼女が特定のワーカーの調査結果待ちなら、/tbc logs でサーバログを見て詰まっていないか確認できます。もし本当に詰まっているなら、Dashboard の Chat パネルで Athena に直接メッセージを送ってください:「既存の情報に基づいて最初のマイルストーンを定義してください。これ以上の調査待ちは不要です。」
Q3:GitHub PR が自動作成されず、Agent が Issue Tracker で権限エラーを報告している
原因:gh CLI が正しく認証されていない、または Token の権限が不足している。
切り分け手順:
# 1. gh のログイン状態を確認
gh auth status
# 2. 未ログインなら再認証(repo 権限が必要)
gh auth login --scopes repo
# 3. プロジェクトディレクトリの remote URL が正しいか確認
cd /path/to/your-project
git remote -v
Q4:Apollo がずっと Ares の実装を差し戻し続け、Cycle がデッドループになる
原因:Ares が毎回修正する方向性が Apollo が期待するものと一致していない、またはマイルストーン定義自体が十分に明確でない。
解決方法:
Dashboard の Chat パネルで Ares に次を送ってください:「Apollo が差し戻した理由は [Apollo Report の具体的な指摘を貼り付け] です。修正に入る前に、まず Apollo の基準を明確に理解し、Apollo と修正方針を確認してから着手してください。」
もし Apollo の基準があまりに厳しい場合は、PLANNING 段階で Athena にマイルストーンの検収条件を調整させることもできます。
Q5:費用が想定を大きく超えたので、すべての Agent をいますぐ止めたい
解決方法:
# 方法1:Dashboard 操作
# ログイン → 各プロジェクトカード → Controls → Pause
# 方法2:CLI で停止
tbc stop
# 方法3:予算上限を設定(次回起動時に反映)
# Dashboard Settings → Budget Controls で 24h 予算上限を設定
WARNING
tbc stop はグローバル停止で、すべてのプロジェクトとすべての Agent を止めます。特定のプロジェクトだけ止めたい場合は、Dashboard でそのプロジェクトだけ個別に Pause してください。
Q6:複数の API Key を追加したのに、Agent がずっと同じ Key を使って上限超過になる
原因:Key Pool の優先順位の設定が適切でない、または Key のレート制限のクールダウンがまだ終わっていない。
解決方法:
Dashboard Settings → Keys パネルで各 Key の状態を確認してください:
- Active — 通常使用中
- Cooldown — レート制限が発動し、クールダウン中
- Exhausted — クォータが使い切られている
もしある Key が長時間 Cooldown のままなら、手動でその Key を Key リストの末尾に移動し、システムが次の Key に切り替わるようにします。
追加の読み物と発展方向
1. ワーカー Agent のスキルをカスタマイズ
workers/ ディレクトリに新しい .md ファイルを作成して、チームの能力を拡張できます:
---
reports_to: ares
role: DevOps Engineer
model: mid
---
# DevOps Engineer
あなたは DevOps エンジニアであり、CI/CD パイプライン、コンテナ化、インフラストラクチャ・コード(IaC)に精通しています。
Manager は新しく追加されたワーカー Agent を自動で検知し、次の Cycle 開始時にそれらをスケジューリングできるようになります。
2. 自作 Provider の接続
社内の LLM サービス(OpenAI または Anthropic 互換フォーマット)を接続する必要がある場合は、Settings → Keys → Add Custom Provider:
{
"name": "my-internal-llm",
"baseUrl": "https://llm.internal.company.com/v1",
"apiKey": "sk-internal-...",
"model": "gpt-4"
}
WARNING
Custom Provider はデフォルトで無効(TBC_ALLOW_CUSTOM_PROVIDER=false)です。これは、ユーザーが指定した URL 宛てにリクエストが送信されるためで、SSRF のリスクがあります。有効化する前に、社内ネットワークのアドレスがインターネット側から到達できないことを確認してください。
3. GitHub Actions との深い統合
TheBotCompany の Agent 設計は、時間のかかるテストやビルドを GitHub Actions で実行することを後押しします。ワーカー Agent のスキルファイルで次のように指定します:
5 分を超えるテストをターミナルで直接実行してはいけません。すべてのテストスイートは GitHub Actions でトリガーしてください。
こうすることで、Agent が Cycle のタイムアウトで kill されたとしても、すでに提出されたコードや CI の結果が失われません。
4. 複数プロジェクトの管理と全体俯瞰
複数のプロジェクト(オープンソースの保守、Side Project、商用プロジェクト)を同時に走らせている場合、TheBotCompany の統一 Dashboard により、1ページで全プロジェクトの状態、費用、問題の分布を確認できます。トップレベルの Project Filters で素早く切り替えられ、Human Issues パネルで昇格リクエストを一元管理して、意思決定が必要な箇所を見落としません。
5. 予算とコストのきめ細かな制御
デフォルトの 24 時間ローリング予算上限はグローバルです。異なるプロジェクトに異なる予算を設定したい場合は、複数の TheBotCompany インスタンスを動かします(異なる TBC_HOME ディレクトリ)。各インスタンスは独立して一連のプロジェクトと予算を管理し、互いに干渉しません。