はじめに
AutoCoder — Claude Agent SDK ベースの長時間・複数セッション対応 自律コーディングエージェント
⭐ 1.3k Stars | 🍴 311 Forks
海外の開発者コミュニティで注目を集めているこのツールを、本記事で詳しく紹介させていただきます。
2025年から2026年にかけて、AIコーディングツールは驚くべき進化を遂げました。Claude Code、Cursor、Windsurf——これらのツールは、自然言語でコードを生成できる時代を実現しました。
しかし、「完全なアプリケーションを一から作る」となると、別の壁にぶつかります:
「途中でセッションが切れて、また最初から説明し直しになった」
「コンテキストが膨れて、AIが前の作業を忘れてしまった」
「数時間かかる開発を、ずっと見張っていられない」
これは**「セッション分断」問題**です。AIは1つの会話の中では優秀ですが、長時間にわたる継続的な開発には設計されていません。
本記事では、この問題を解決するツール 「AutoCoder」 を徹底解説します。AutoCoderの仕組みから実践的な使い方まで、詳しく見ていきましょう。
第1章:AutoCoderとは何か
「セッション分断」問題
AIコーディングツールには、避けられない制約があります:
| 症状 | 具体例 |
|---|---|
| コンテキストの限界 | 長時間の開発で会話履歴が膨れ、品質が低下 |
| セッションの断絶 | 中断するとゼロから説明し直し |
| 監視の負担 | 数時間の自動実行を人間が見守り続ける必要 |
| 状態の消失 | どこまで完了したか、次に何をすべきかが不明に |
これらは「AIが悪い」のではなく、セッションを跨いで状態を保持する仕組みがないことが原因です。
AutoCoderの解決アプローチ
AutoCoderは、長時間・複数セッション対応の自律コーディング基盤です。
核心となる考え方:
- Two-Agent Pattern — 初期化と実装を専門のエージェントに分離
- 永続化による継続性 — SQLiteで進捗を保存し、セッションを跨いで再開
- Feature単位の管理 — アプリを機能単位に分解し、1つずつ確実に完成させる
この設計により、何日にもわたる開発でも、中断と再開を繰り返しながら完成まで到達できます。
第2章:AutoCoderのアーキテクチャ
Two-Agent Pattern
AutoCoderの最大の特徴は、2つの専門エージェントによる分業です。
Initializer Agent(初期化エージェント)
プロジェクト開始時に1回だけ実行されます。
役割:
- アプリ仕様(Spec)を読み込み、理解する
- 仕様をFeature(機能単位)に分解する
- 各Featureに対する詳細なテストケースを生成(通常200件以上)
- Featureリストを
features.dbに保存 - プロジェクト構造とGitリポジトリを初期化
所要時間: 10〜20分以上(詳細なテストケース生成のため)
Coding Agent(実装エージェント)
初期化後、繰り返し実行されます。
役割:
- 未完了のFeatureをDBから1件取得
- 実装 → テスト → 検証
- 完了したFeatureを
passingとしてマーク - 必要に応じて回帰テストを実行
- アトミックなGitコミットを作成
所要時間: 1Feature あたり 5〜15分
SQLiteによる永続化
AutoCoderは features.db にすべての状態を保存します:
| 情報 | 説明 |
|---|---|
| Feature一覧 | 実装すべき機能のリスト |
| 状態 | 未着手 / 実装中 / 完了 |
| テストケース | 各Featureの検証条件 |
| 依存関係 | Feature間の順序制約 |
メリット:
- セッションが切れても状態が失われない
- 「どこまで進んだか」が常に明確
- 任意のタイミングで中断・再開が可能
MCPサーバーによるFeature管理
エージェントはMCP(Model Context Protocol)ツールを通じて進捗を制御します。
| ツール | 機能 |
|---|---|
feature_get_stats |
進捗統計を取得 |
feature_get_next |
次の未完了Featureを取得 |
feature_mark_passing |
Featureを完了としてマーク |
feature_skip |
Featureをスキップ |
feature_get_for_regression |
回帰テスト対象を取得 |
feature_create_bulk |
Featureを一括作成 |
これらのツールにより、エージェントの暴走を防ぎ、進行を制御可能にしています。
第3章:インストールと初期設定
前提条件
AutoCoderを使用するには、以下が必要です:
1. Claude Code CLIのインストール
macOS / Linux:
curl -fsSL https://claude.ai/install.sh | bash
Windows (PowerShell):
irm https://claude.ai/install.ps1 | iex
2. Claude認証
Claude Pro/Maxサブスクリプション、またはAnthropic APIキーが必要です:
claude login
AutoCoderのセットアップ
1. リポジトリのクローン
git clone https://github.com/leonvanzyl/autocoder.git
cd autocoder
2. 起動
UIモード(推奨):
./start_ui.sh # macOS/Linux
start_ui.bat # Windows
CLIモード:
./start.sh # macOS/Linux
start.bat # Windows
UIモードの特徴
UIモードでは、ブラウザで http://localhost:5173 にアクセスできます:
| 機能 | 説明 |
|---|---|
| Kanbanボード | Feature の進捗を視覚的に表示 |
| リアルタイム更新 | WebSocketによるライブ出力 |
| プロジェクト管理 | 複数プロジェクトの選択・切り替え |
| 開始/停止制御 | ワンクリックで実行を制御 |
┌────────────────────────────────────────────────────────────┐
│ AutoCoder Dashboard │
├────────────────────────────────────────────────────────────┤
│ │
│ 📦 Todo 🔄 In Progress ✅ Done │
│ ┌─────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │Feature 5│ │ Feature 3 │ │ Feature 1 │ │
│ │Feature 6│ │ 実装中... │ │ Feature 2 │ │
│ │Feature 7│ └─────────────┘ └─────────────┘ │
│ └─────────┘ │
│ │
│ ─────────────────────────────────────────────────────────│
│ 🖥️ Agent Output: │
│ > Implementing user authentication... │
│ > Running tests... │
│ > All tests passed. Committing changes. │
│ │
└────────────────────────────────────────────────────────────┘
CLIモードの特徴
サーバー環境やSSH接続時に便利です:
- Python仮想環境の自動構築
- 対話形式での新規/継続実行の選択
- 軽量で依存が少ない
第4章:使い方ガイド
基本フロー
Step 1: プロジェクト作成
UIを起動し、「New Project」をクリック。または CLIで新規プロジェクトを選択。
Step 2: アプリ仕様の入力
作りたいアプリの説明を入力します:
タスク管理Webアプリを作成してください。
機能要件:
- ユーザー認証(メール/パスワード)
- タスクのCRUD操作
- タスクの優先度設定(高/中/低)
- 期限日の設定とリマインダー
- ダッシュボードで進捗を可視化
技術スタック:
- フロントエンド: React + TypeScript
- バックエンド: Node.js + Express
- データベース: PostgreSQL
- 認証: JWT
Step 3: 初期化の実行
Initializer Agentが自動的に:
- 仕様を分析
- 機能をFeatureに分解
- 各Featureのテストケースを生成
- データベースに保存
所要時間: 10〜20分
生成されるFeatureの例:
Feature 1: ユーザー登録エンドポイント
Feature 2: ログインエンドポイント
Feature 3: JWT認証ミドルウェア
Feature 4: タスク作成API
Feature 5: タスク一覧取得API
...
Feature 45: ダッシュボード統計コンポーネント
Step 4: 自律実装の開始
「Start」ボタンをクリック、またはCLIで実行を開始。
Coding Agentが自動的に:
- 未完了のFeatureを取得
- 実装
- テスト実行
- 完了マーク
- Git Commit
- 次のFeatureへ
この間、人間の介入は不要です。
Step 5: 中断と再開
中断する場合:
- UIの「Stop」ボタンをクリック
- またはターミナルで Ctrl+C
再開する場合:
- 再度起動するだけ
- 「前回の続きから再開」を選択
- 最後に完了したFeatureの次から自動的に再開
第5章:ユースケース別 実践ガイド
5-1. 新規Webアプリの完全自動構築
シナリオ: ECサイトのプロトタイプを作成する
Step 1: 詳細な仕様を準備
良い仕様の例:
# ECサイト プロトタイプ
## ユーザーストーリー
- 顧客として、商品を検索して購入したい
- 管理者として、商品と注文を管理したい
## 機能要件
### 顧客向け
- 商品一覧表示(カテゴリ別、検索)
- 商品詳細ページ
- カート機能
- チェックアウト(Stripe統合)
- 注文履歴
### 管理者向け
- 商品のCRUD
- 注文管理
- 売上ダッシュボード
## 技術要件
- Next.js 14 (App Router)
- Prisma + PostgreSQL
- Stripe決済
- Tailwind CSS
Step 2: AutoCoderに投入
仕様を入力し、初期化を実行。
Step 3: 放置して完成を待つ
AutoCoderは以下を自動で行います:
- データベーススキーマの設計と実装
- APIエンドポイントの作成
- フロントエンドコンポーネントの実装
- Stripe統合
- 管理画面の構築
所要時間: 数時間〜1日(Feature数に依存)
ポイント: 人間は「仕様を書く」だけ。実装はすべてAutoCoderが行います。
5-2. 既存プロジェクトへの機能追加
シナリオ: 既存のブログシステムにコメント機能を追加
Step 1: 新しいプロジェクトとして設定
既存コードをAutoCoderのプロジェクトディレクトリにコピーし、追加機能の仕様を入力:
# コメント機能の追加
## 既存システム
- Next.js製ブログシステム
- Prisma + PostgreSQL
- 認証済み
## 追加機能
- 記事へのコメント投稿
- コメントへの返信(ネスト)
- コメントの編集・削除
- スパムフィルタリング
- 管理者によるモデレーション
Step 2: 実行
AutoCoderは既存コードを認識し、互換性を保ちながら機能を追加します。
5-3. 長時間にわたる段階的開発
シナリオ: 大規模なSaaSアプリを1週間かけて開発
運用パターン
Day 1: 初期化 + 基盤Feature(認証、DB)
└── 夜間: 自動実行を継続
Day 2: API Feature群
└── 昼: 進捗確認、必要に応じて再開
└── 夜間: 自動実行を継続
Day 3-5: フロントエンド Feature群
└── 定期的な進捗確認と再開
Day 6-7: 統合テストと調整
ポイント: 「放置 → 確認 → 再開」のサイクルで、大規模開発も可能に。
5-4. 研究・PoC(概念実証)の高速作成
シナリオ: 新技術の検証用プロトタイプを素早く作成
AutoCoderは以下のような用途に最適です:
- 技術検証: 「このAPIは使えるか」の確認
- デモ作成: 投資家や顧客向けのプロトタイプ
- 学習用: 「〇〇の作り方」を実際のコードで理解
# WebSocket リアルタイムチャットの検証
## 目的
Socket.io vs WebSocket API の比較検証
## 要件
- 基本的なチャットルーム機能
- 両方の実装を並行して作成
- パフォーマンス計測コード含む
第6章:セキュリティと安全設計
多層防御アーキテクチャ
AutoCoderは自律エージェントを「野放し」にしません。
1. Bashコマンドの許可リスト
実行可能なコマンドは明示的に許可されたものだけ:
ALLOWED_COMMANDS = [
'npm', 'node', 'git', 'python', 'pip',
'mkdir', 'cp', 'mv', 'rm', 'cat', 'ls',
# ... 限定的なリスト
]
2. ファイルシステム制限
プロジェクト外へのアクセスはブロック:
BLOCKED_PATHS = [
'/etc', '/usr', '/var', '/root',
'~/.ssh', '~/.aws', '~/.config',
# ... センシティブなパス
]
3. OS レベルのサンドボックス
必要に応じて、コンテナやVM内での実行を推奨。
人間による監視
UIのリアルタイム出力により、エージェントの動作を常に監視できます:
- 何を実装しているか
- どのコマンドを実行したか
- テスト結果はどうか
異常を検知したら、即座に停止可能です。
第7章:生成されるプロジェクト構造
AutoCoderが生成するプロジェクトは、以下の構造を持ちます:
generations/my_project/
├── features.db # Feature状態管理(SQLite)
├── prompts/
│ ├── app_spec.txt # アプリ仕様
│ ├── initializer_prompt.md # 初期化プロンプト
│ └── coding_prompt.md # 実装プロンプト
├── init.sh # セットアップスクリプト
├── claude-progress.txt # 実行ログ
├── .git/ # Gitリポジトリ
└── src/ # 実際のアプリケーションコード
├── app/
├── components/
├── lib/
└── ...
生成後の活用
生成されたプロジェクトは通常のアプリケーションとして:
- 手動で修正・拡張可能
- 本番環境にデプロイ可能
- チームで継続開発可能
第8章:GSD・Superpowers との比較
AIコーディングを強化するツールとして、GSDやSuperpowersも存在します。それぞれの特徴を比較しましょう。
比較表
| 観点 | AutoCoder | GSD | Superpowers |
|---|---|---|---|
| 主な焦点 | 長時間自律実行、完全自動構築 | コンテキスト劣化の防止 | 開発方法論の徹底 |
| アプローチ | Two-Agent + DB永続化 | タスク分散 + サブエージェント | スキルベースのワークフロー |
| 人間の関与 | 最小(仕様入力のみ) | 中程度(フェーズごとに確認) | 高(対話的に進行) |
| 得意領域 | ゼロからの完全構築 | 大規模プロジェクト管理 | 品質・プロセス管理 |
| セッション | 複数セッションで継続 | セッション内で最適化 | セッション内で対話 |
それぞれの得意領域
AutoCoderが得意なこと:
- 仕様からの完全自動構築
- 長時間(数時間〜数日)の自律実行
- 「放置できる」開発
- プロトタイプの高速作成
GSDが得意なこと:
- 既存コードベースへの機能追加
- コンテキスト劣化の防止
- フェーズ分割された計画的開発
- 人間との協調作業
Superpowersが得意なこと:
- テスト駆動開発の徹底
- コードレビューワークフロー
- 品質重視の慎重な開発
- 設計段階でのブレインストーミング
連携の可能性
3つのツールは異なるレイヤーで機能するため、併用が可能です:
┌─────────────────────────────────────────┐
│ Superpowers: 方法論・品質レイヤー │
│ TDD、レビュー、検証の強制 │
├─────────────────────────────────────────┤
│ GSD: オーケストレーション・レイヤー │
│ タスク分割、コンテキスト管理 │
├─────────────────────────────────────────┤
│ AutoCoder: 実行基盤レイヤー │
│ 長時間実行、永続化、自動化 │
└─────────────────────────────────────────┘
理想的な併用例:
- Superpowers で仕様をブレインストーミング、設計を固める
- GSD でフェーズ分割とロードマップを作成
- AutoCoder に各フェーズの自動実装を委任
第9章:まとめ
AutoCoderが実現すること
AutoCoderは、AIを「指示を待つアシスタント」から**「仕様を渡せば完成品を作り上げる自律エージェント」**に変えるツールです。
解決する課題:
- セッション分断による進捗の消失
- 長時間開発の監視負担
- コンテキスト制限による品質低下
実現するワークフロー:
- 仕様を渡して放置
- 数時間〜数日後に完成品を受け取る
- 中断・再開が自由自在
AutoCoderの強みと限界
強み:
- 長時間・複数セッションに強い
- 仕様駆動で全体構築が可能
- 進捗が可視化され、制御できる
- 「放置できる」自律性
限界・注意点:
- Claude環境が前提
- 生成品質はSpecとプロンプト設計に強く依存
- 完全自動 ≠ 人間不要(監視と微調整は必要)
今日から始める
git clone https://github.com/leonvanzyl/autocoder.git
cd autocoder
./start_ui.sh # または start.sh
このコマンドで、**「エージェントにアプリを作らせ続ける」**体験が始まります。
参考リンク
- GitHub: https://github.com/leonvanzyl/autocoder
- Claude Code: https://claude.ai/code
- GSD: https://github.com/glittercowboy/get-shit-done
- Superpowers: https://github.com/obra/superpowers
著者注: 本記事は2026年1月時点の情報に基づいています。AutoCoderは活発に開発が進んでいるプロジェクトのため、最新の機能については公式リポジトリをご確認ください。
