container-use MCPを活用したAIコーディングツールを並行実行を可能にするコンテナ化環境

TL;DR 🚀

  • container-useは、複数のAIコーディングツールを独立したコンテナ環境で安全に並列実行させるためのツールです。
  • 各AIの作業は完全に分離・監視され、Gitワークフローに統合することで、開発者は安心してレビューやマージを行えます。
  • これにより、AIを活用した並列開発を加速させ、生産性を大幅に向上させることが可能になります。

はじめに

AI駆動開発の時代において、「Claude CodeやCursorといった複数のAIコーディングツールを並列で利用すれば、開発生産性が向上するのではないか?」という仮説のもと、色々調べてみたところ、container-useに出会いました。

本記事では、複数のAIコーディングツールを、それぞれ独立した安全な環境で並列実行させることで開発を加速させるツール「container-use」について、その概要から具体的な活用例までを詳しく解説します。

container-useとは

container-useはDagger社が開発したプロジェクトで、各AIエージェントに独立したコンテナ化された開発環境を提供するツールです。Claude Code、Gemini CLI, Cursor、その他のMCP対応エージェントと連携し、複数のエージェントが同時に安全に作業できる環境を実現します。
https://github.com/dagger/container-use

主な特徴

  • 完全な環境分離: 各AIエージェントは、それぞれ独自のコンテナ環境とGitブランチを持ち、作業が完全に分離されます。
  • リアルタイム監視: エージェントが実行するファイル操作やコマンド履歴をリアルタイムで追跡し、作業内容を完全に可視化します。
  • 開発者による直接介入: エージェントがタスクの途中で行き詰まった場合でも、開発者が直接そのコンテナのターミナルにアクセスして操作できます。
  • Gitワークフローとの統合: エージェントの作業はすべてGitのブランチとして管理されるため、プルリクエストベースの標準的なワークフローでレビューやマージが可能です。
  • ユニバーサルな互換性: 特定のエージェント、モデル、インフラに縛られることなく、幅広い環境で利用できるように設計されています。

Container-Useを利用した並列処理の事例

例えば、一度の指示を出すだけで、複数のバリエーションを持つアプリケーションを、それぞれ独立した安全な環境で並行開発させることが可能です。
プロンプトの例

2つのTODOアプリケーションのバリエーションを作成してください。それぞれ独立の環境を用意し、それぞれのアプリのURLを教えてください。

環境構築後それぞれ独立した開発環境のアクセス方法を教えてくれる

成果物1: React.js TODO アプリ

成果物2: Vue.js TODO アプリ

並列処理アーキテクチャ

以下の図は、「それぞれ異なるTODOアプリケーションのバリエーションを作成して」という指示に対し、AIが内部でタスクを分割し、React.jsのTODOアプリとVue.jsのTODOアプリを並行して生成する際の処理フローを示したものです。

各エージェントは独立したコンテナ内で作業を行うため、互いの環境に干渉することなく、安全に開発を進めることができます。

提供されるMCPツール

環境操作

  • environment_open: 開発環境の作成・オープン
  • environment_update: 環境設定の更新
  • environment_run_cmd: コマンド実行
  • environment_checkpoint: 環境のコンテナイメージ化

ファイル操作

  • environment_file_read: ファイル読み込み
  • environment_file_write: ファイル書き込み
  • environment_file_list: ディレクトリ一覧
  • environment_file_delete: ファイル削除

インストール方法

Homebrew(MacOSに推奨)

brew install dagger/tap/container-use

すべてのプラットフォーム(シェルスクリプト)

curl -fsSL https://raw.githubusercontent.com/dagger/container-use/main/install.sh | bash

使用例とユースケース

1. 並列開発での活用

# Flask版とFastAPI版のHello Worldアプリを同時開発
複数のエージェントが異なるフレームワークで同じ機能を実装し、
それぞれ独立したポートでサービスを提供

https://github.com/dagger/container-use/blob/main/examples/parallel.md

2. セキュリティスキャン

# リポジトリの脆弱性スキャンと自動修正
- 依存関係の脆弱性検出
- 自動アップデート適用
- ビルド確認とパッチファイル生成

https://github.com/dagger/container-use/blob/main/examples/security.md

3. 実験的機能開発

各エージェントが独立した環境で実験的な機能を開発し、成功したもののみをメインブランチにマージする運用が可能です。

AIコーディングツールとMCP統合

Container-Useは主要なAI開発ツールとシームレスに統合されます。

💡cuコマンドパスは環境に合わせて、/Users/{ユーザー名}/.local/bin/cuに適切に書き換えてください。

Claude Code統合

npx @anthropic-ai/claude-code mcp add container-use -- <path to cu> stdio
curl -o CLAUDE.md https://raw.githubusercontent.com/dagger/container-use/main/rules/agent.md

Gemini CLI統合

.gemini/settings.jsonを作成

mkdir -p .gemini
touch .gemini/settings.json

.gemini/settings.jsonにMCPサーバーを追加
```json
{
    "mcpServers": {
        "container-use": {
        "command": "cu",
        "args": [
            "stdio"
        ],
        "env": {},
        "timeout": 60000
        }
    }
}

Cursor統合

curl --create-dirs -o .cursor/rules/container-use.mdc \
  https://raw.githubusercontent.com/dagger/container-use/main/rules/cursor.mdc

VSCode / GitHub Copilot統合

{
  "mcp": {
    "servers": {
      "container-use": {
        "type": "stdio",
        "command": "cu",
        "args": ["stdio"]
      }
    }
  }
}

エージェントの運用とモニタリング

リアルタイム監視

cu watch

このコマンドでエージェントの作業をリアルタイムで監視できます。

作業のレビュー

git checkout {branch_name}  # エージェントの作業ブランチに切り替え
git log                     # 実行履歴を確認
git notes show             # 詳細なコマンド実行ログを表示

コンテナのソースコード保存先

~/.config/container-use/worktrees

まとめ

Container-Useは、AIエージェントを活用した開発において、安全性、監視性、制御性を大幅に向上させる革新的なツールです。複数のエージェントが同時に作業する環境において、その真価を発揮します。

オープンソースとして公開されており、GitHub(https://github.com/dagger/container-use) で最新の開発状況を確認できます。AI駆動開発の未来を切り開く重要なツールとして、今後の発展が期待されます。

Related Posts

Privacy Preference Center