
あなたのAIコーディングエージェントは賢い。多段階のリファクタリングを計画し、アーキテクチャについて推論し、本番品質のコードを生成できる。しかし、テキスト以外の何か(画像、動画、ウェブ検索結果、デプロイされたページ)を生成する必要があるとき、停止してしまう。
能力がないからではない。ツールがないからだ。
従来の解決策は、個別のサービスを構成することだ。画像APIをここに、動画APIをそこに、検索MCPサーバー、クラウドストレージバケット、デプロイプラットフォーム。それぞれに独自のAPIキー、独自の設定、独自のメンテナンスが必要だ。エージェントが1行のコードを書く前に、インフラに1時間を費やしている。
より良い方法がある。1つのCLI、1つの認証情報、5つの機能。
すべてのエージェントが必要とする5つの機能
1. 画像生成
エージェントがランディングページを構築する。ヒーロー画像が必要だ。画像生成がなければ、HTMLを書いて停止する——ユーザーが手動でビジュアルアセットを調達または作成するのを待つ。
画像生成があれば、エージェントは自ら画像を生成する:
anycap image generate --model nano-banana-2 --prompt "モダンなSaaSダッシュボード" -o hero.png
1つのコマンド。CDNのURLが返される。モデル選択も、APIキー管理も、フォーマット変換も不要——ランタイムがすべてを処理する。
2. 動画生成
製品デモ。機能ウォークスルー。ソーシャルメディアコンテンツ。エージェントはスクリプトを書けるが、動画を制作できない。その能力を与えない限りは。
動画は画像よりも難しい——レンダリング時間、フォーマット制約、モデル選択。専用の動画機能がこれらすべてを1つのコマンドの背後に抽象化する。
3. 根拠に基づくウェブ検索
エージェントはReact 20で何が変わったか、競合他社がいくら請求しているか、最新のセキュリティアドバイザリが何を述べているかを知る必要がある。検索がなければ、あなたがエージェントとインターネットの間の人間の架け橋になる。
根拠に基づく検索は、引用付きで合成された回答を返す——単なるURLのリストではない。エージェントは実行可能な情報を得るのであり、解析すべき生のHTMLではない。
4. クラウドストレージ
エージェントがファイルを生成する。それらはどこに行くのか?クラウドストレージは出力を共有可能なアーティファクトに変える——画像はCDN URLになり、ビルドは保存されバージョン管理され、レポートはどこからでもアクセス可能になる。
ストレージがなければ、エージェントはすべてをローカルに保存する。あなたが手動でアップロードを処理する。
5. 公開
ページを構築できてもデプロイできないエージェントは、まだ半分しか終わっていない。公開はループを閉じる——エージェントは1つのセッションで構築し、アセットを生成し、保存し、結果を公開する。
1つのCLIが重要な理由
代替案——各機能に個別のMCPサーバー——には隠れたコストが伴う:
| 5つの個別MCPサーバー | 1つのバンドルCLI | |
|---|---|---|
| セットアップ時間 | 約75分 | 約2分 |
| 管理するAPIキー | 6個 | 1個 |
| トークンオーバーヘッド | 約24,000トークン | 約2,000トークン |
| メンテナンス | 各サーバーを個別に更新 | 単一更新 |
| 出力形式 | サーバーごとに異なる | 統一JSON |
| オンボーディング | 新メンバーごとに6つの認証情報 | 1つの認証情報 |
トークンの計算は説得力がある。ツール説明で22,000トークン少ないということは、200Kのコンテキストウィンドウの11%多くを実際の作業に使えることを意味する。50ターンのエージェントセッションでは、15回の追加の生産的なインタラクションになる。
「1つのCLI」が実際に意味すること
エージェントのワークフローがこれ:
エージェント:「ヒーロー画像が必要です。」
人間:APIキーを設定、MCPサーバーをセットアップ、接続をテスト。
エージェント:画像ツールを呼び出す。
エージェント:「次に競合他社の価格が必要です。」
人間:別のAPIキーを設定、別のMCPサーバーをセットアップ。
エージェント:検索ツールを呼び出す。
エージェント:「次にビルドを保存します。」
人間:S3認証情報を設定、3つ目のMCPサーバー。
からこれになる:
エージェント:画像ツールを呼び出す → CDN URLを取得 ✅
エージェント:検索ツールを呼び出す → 引用付き結果を取得 ✅
エージェント:ストレージツールを呼び出す → アセットをアップロード ✅
エージェント:公開ツールを呼び出す → ページが公開済み ✅
ループに人間はいない。インフラの世話もない。エージェントは構築したものをそのまま出荷する。
アーキテクチャ
バンドル型機能ランタイムは、エージェントとサービスの間に位置する:
エージェント(Claude Code、Cursor、Codex)
│
▼
機能ランタイム(単一CLI)
│
├── 画像生成(Nano Banana 2、Seedream 5)
├── 動画生成(Veo 3.1、Kling 3.0、Seedance)
├── ウェブ検索(根拠に基づく、引用付き)
├── クラウドストレージ(Drive、CDN)
└── 公開(静的ページデプロイメント)
エージェントは1つのエンドポイントと通信する。ランタイムはモデル選択、認証、レート制限、出力フォーマットを処理する。エージェントはどの機能を呼び出したかに関係なく、毎回構造化されたJSONを受け取る。
誰のためのものか
バンドル型ランタイムが最も理にかなうのは次のような場合だ:
- 個人開発者で、1時間の設定の後ではなく、今すぐ機能を欲している
- 小規模チームに所属し、ツールインフラを維持する専任のDevOpsがいない
- エージェントが4つ以上の機能を必要とし、複数のMCPサーバーによるトークン膨張が現実の問題である
- プロトタイピング中で、ツールのセットアップが勢いを殺したくない
- 一貫性を重視する——1つの出力形式、1つのエラーパターン、学ぶべきことが1つ
1つか2つの専用ツール(社内データベース、Slackボット)だけが必要なら、個別のMCPサーバーが正しい選択だ。しかし、すべてのエージェントが必要とする5つの機能——画像、動画、検索、ストレージ、公開——については、それらをバンドルすることで設定の負担が消え去る。
本当の勝利:エージェントが出荷する
結局のところ、重要な指標はセットアップ時間やトークン数ではない。エージェントが始めたことを終わらせるかどうかだ。
機能がなければ、エージェントはコードを書いてあなたに渡す。ラストワンマイル——画像、アセット、デプロイ——はあなたが解決する。
機能ランタイムがあれば、エージェントはパイプライン全体を処理する:コード、アセット、ストレージ、デプロイ。あなたは中間ステップではなく、結果をレビューする。
それが、作業を手伝うエージェントと作業を実行するエージェントの違いだ。
最終更新:2026年5月