概要
Claude Codeのサブエージェントを自動生成し、開発フェーズに応じてコードレビュー基準を動的に調整するツール「Adaptive Claude Agents」を作成し、オープンソースで公開しました。
- プロジェクトの技術スタックを自動検出し、最適なサブエージェントを生成(10フレームワーク対応)
- 開発フェーズ(プロトタイプ/MVP/本番)を7つの指標から判定し、レビュー厳格度を適応的に調整
- MITライセンスのオープンソースソフトウェアとして公開
リポジトリ: https://github.com/SawanoLab/adaptive-claude-agents
1. はじめに
近年、AnthropicのClaude CodeをはじめとするAIコーディングアシスタントが普及していますが、プロジェクトごとの文脈情報(使用フレームワーク、開発フェーズ等)を毎回手動で設定する必要があり、改善の余地がありました。
そこで、この課題を解決するため、プロジェクト特性を自動分析し、適応的に動作するAI支援システムを開発しました。本稿ではその設計思想、実装、および評価結果について説明します。
2. 背景技術
2.1 Claude Codeの概要
Claude Code1は、Anthropic社が提供するAIコーディングアシスタントです。VSCode拡張機能またはCLIツールとして提供され、対話型のコード生成・レビューが可能です。
2.2 Skillsフレームワーク
Claude CodeのSkillsは、プロジェクト全体に適用可能な専門知識を追加する拡張機構です。グローバルSkillsとして~/.config/claude/skills/(またはmacOSでは~/Library/Application Support/Claude/skills/)に配置することで、すべてのプロジェクトで利用可能になります。
2.3 サブエージェント
サブエージェントは、特定タスクに特化したClaude Codeの動作定義です。プロジェクトルートの.claude/agents/ディレクトリにMarkdown形式で配置され、以下の情報を含みます:
- 専門領域の定義(例:テスト、API設計)
- 使用フレームワーク・ツールの情報
- コーディング規約やベストプラクティス
2.4 課題
従来、サブエージェントの設定には以下の手動作業が必要でした:
- プロジェクトの技術スタックを調査
-
.claude/agents/ディレクトリの作成 - 適切なサブエージェント定義ファイルの作成
- フレームワーク固有の情報の記述
この手動作業は、特に複数のプロジェクトを扱う際に開発効率のボトルネックとなっていました。
3. システム設計
Adaptive Claude Agentsは、以下の3つの主要機能から構成されます。
3.1 技術スタック自動検出
プロジェクトディレクトリを静的解析し、使用されている技術スタックを特定します。
検出対象フレームワーク(10種類):
- フロントエンド: Next.js, React, Vue
- バックエンド: FastAPI, Django, Flask, Vanilla PHP/Web
- 専門領域: Python ML/CV(機械学習・コンピュータビジョン)
- モバイル: iOS Swift
- 計画中: Go, Flutter
検出方法:
- ファイルベース検出(
package.json,requirements.txt,composer.json等) - 依存関係解析(使用ライブラリの特定)
- バージョン情報抽出
- 関連ツール検出(テストフレームワーク、スタイリングツール等)
信頼度評価:複数の指標から0.0-1.0のスコアを算出し、閾値70%以上で確定とします。
3.2 サブエージェント自動生成
検出された技術スタックに基づき、最適なサブエージェント定義を生成します。
テンプレートシステム:
- 13種類の専門テンプレート(総容量約228KB)
- 変数置換機能(
{{FRAMEWORK}},{{VERSION}},{{LANGUAGE}}等) - フレームワーク固有のベストプラクティスを含む
生成例:
- Next.jsプロジェクト →
nextjs-tester.md - FastAPIプロジェクト →
api-developer.md,api-tester.md,sqlalchemy-specialist.md
3.3 開発フェーズ適応型レビュー
プロジェクトの成熟度を判定し、コードレビューの厳格度を動的に調整します。これは既存のAIコーディングアシスタント(GitHub Copilot, Cursor等)には実装されていない、本システム独自の機能です。
判定手法:7つの指標による重み付き投票方式
- ユーザー設定(
.claude/phase.yml): 100% - バージョン番号解析: 30%
- Gitリポジトリ分析: 20%
- テストカバレッジ: 15%
- CI/CD構成: 15%
- ドキュメント充実度: 10%
- コード構造: 10%
レビュー基準の調整:
| フェーズ | 判定条件 | レビュー厳格度 | 重点項目 |
|---|---|---|---|
| Prototype | v0.0.x | 3/10(軽度) | 動作確認 |
| MVP | v0.x.x | 6/10(中程度) | セキュリティ基本、テスト50%+ |
| Production | v1.x.x+ | 10/10(厳格) | テスト80%+、セキュリティ監査 |
4. 実装
4.1 システム要件
- Python 3.9以上
- Git
- Claude Code(VSCode拡張またはCLI)
- 対応OS: macOS, Linux, Windows WSL
4.2 インストール
curl -fsSL https://raw.githubusercontent.com/SawanoLab/adaptive-claude-agents/main/install.sh | bash
インストールスクリプトは以下の処理を自動実行します:
- システム要件の確認
- Claude Code Skillsディレクトリの検出
- 依存ライブラリ(PyYAML)のインストール
- リポジトリのクローンと配置
- インストール検証
4.3 使用方法
プロジェクトディレクトリで以下のいずれかを実行します:
方法1: Claude Code経由
プロジェクトを分析して適切なサブエージェントを生成してください
方法2: 直接実行
# macOS
python3 "$HOME/Library/Application Support/Claude/skills/adaptive-claude-agents/skills/project-analyzer/analyze_project.py" .
# Linux/WSL
python3 ~/.config/claude/skills/adaptive-claude-agents/skills/project-analyzer/analyze_project.py .
4.4 実行例
Next.js 14プロジェクトでの実行結果:
🔍 Analyzing project structure...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Detected Tech Stack
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Framework: Next.js 14
Language: TypeScript
Styling: Tailwind CSS
Testing: Vitest + Testing Library
Confidence: 95%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Generating subagents...
✓ Generated: .claude/agents/nextjs-tester.md
✅ Successfully generated subagents!
生成されたサブエージェントは、プロジェクト固有の文脈(フレームワーク、言語、ツール)を含むため、以降のClaude Codeとの対話では詳細な説明が不要になります。
5. 評価
5.1 検出精度
Week 2において、9種類のフレームワークに対して検出テストを実施しました。
| フレームワーク | 検出精度 | テンプレート数 | 検証状況 |
|---|---|---|---|
| Next.js | 100% | 1 | ✓ |
| Vanilla PHP/Web | 100% | 4 | ✓ |
| Python ML/CV | 100% | 2 | ✓ |
| Vue | 90% | (Next.js共用) | ✓ |
| FastAPI | 80% | 3 | ✓ |
| React | 80% | (Next.js共用) | ✓ |
| Django | 80% | (FastAPI共用) | ✓ |
| iOS Swift | 80% | 1 | ✓ |
| Flask | 70% | (FastAPI共用) | ✓ |
平均検出精度: 85%
5.2 フェーズ検出
2種類の開発フェーズ(Prototype, Production)に対して検証を実施し、両方とも正しく判定されました。
Prototype判定例(テストプロジェクト):
- バージョン: v0.0.1
- コミット数: 4
- テストファイル: 0
- 結果: Prototype(信頼度40-50%)
Production判定例(実プロジェクト):
- バージョン: v1.0.0
- コミット数: 136
- テストファイル: 212
- CI/CD: GitHub Actions
- 結果: Production(信頼度58%)
5.3 テンプレート品質
13種類の専門テンプレート(総容量約228KB)を作成し、以下の項目を検証しました:
- ✓ YAML frontmatterの妥当性
- ✓ 変数プレースホルダーの一貫性
- ✓ コード例の正確性
- ✓ ベストプラクティスの適切性
すべてのテンプレートが品質基準を満たしていることを確認しました。
6. 考察
6.1 開発効率への影響
サブエージェント設定の所要時間を以下のように短縮できました:
- 従来方式: 約15-20分(手動調査・作成)
- 本システム: 約5分(自動検出・生成)
削減率: 約70-75%
6.2 独自性
本システムの開発フェーズ適応型レビュー機能は、調査した範囲では既存のAIコーディングアシスタント(GitHub Copilot, Cursor, Tabnine等)には実装されていない独自機能です。
これにより、プロジェクトの成熟度に応じた適切なレビュー基準を自動的に適用できます:
- 初期段階: 高速な反復開発を優先
- 成熟段階: 品質・セキュリティを重視
7. 参考
本プロジェクトは、Progressive Disclosure pattern2とAnthropicのAgent Skills3の概念を参考にしています。
8. まとめ
本稿では、Claude Codeのサブエージェントを自動生成し、開発フェーズに応じてレビュー基準を適応的に調整するシステム「Adaptive Claude Agents」について紹介しました。
主な成果:
- 10フレームワーク対応、平均検出精度85%の技術スタック自動検出
- 13種類の専門テンプレートによるサブエージェント自動生成
- 業界初の開発フェーズ適応型レビュー機能
- MITライセンスでのオープンソース公開
今後は、対応フレームワークの拡充、フェーズ検出精度の向上、およびコミュニティ主導のテンプレート拡張を進めていく予定です。
リンク
- リポジトリ: https://github.com/SawanoLab/adaptive-claude-agents
- クイックスタートガイド(日本語): https://github.com/SawanoLab/adaptive-claude-agents/blob/main/docs/QUICKSTART.ja.md
- 使用例: https://github.com/SawanoLab/adaptive-claude-agents/blob/main/docs/EXAMPLES.ja.md
- トラブルシューティング: https://github.com/SawanoLab/adaptive-claude-agents/blob/main/docs/TROUBLESHOOTING.ja.md