
Every (テック/ビジネス系メディア「Every」を運営)が公開したCompound Engineering Plugin は、Anthropic のClaude Code (ターミナル向けAIコーディングアシスタント)用のプラグインです。
「機能を追加するたびにコードベースが複雑になる」——これは従来のソフトウェア開発における常識でした。しかし、Compound Engineering Pluginはこの常識を逆転させます。「機能が増えるほど開発が楽になる」という、一見矛盾した状態を実現する開発手法です。
本記事では、Compound Engineeringの核心である「Plan/Review 80%、実装 20%」という比率の意味と、技術的負債を資産に変える仕組みを解説します。
Compound Engineeringとは?
Compound Engineering は、Every社が実践するAI エージェント時代のソフトウェア開発手法です。従来の開発では「コードを書くほど複雑さが増す」のが常識でしたが、Compound Engineeringでは「コードを書くほど次の開発が楽になる」という逆転現象を実現します。
従来の開発 vs Compound Engineering
従来の開発:
- 機能追加 → 複雑さ増加 → 次の開発が遅くなる
- 技術的負債が蓄積
- コードレビューは「問題発見」が目的
Compound Engineering:
- 機能追加 → 知識蓄積 → 次の開発が速くなる
- 技術的資産が蓄積
- コードレビューは「学習機会」として機能
この違いを生み出すのが、Plan → Work → Review → Compoundという4ステップのループです。
80:20の法則: なぜ実装は20%なのか
Compound Engineeringの最大の特徴は、時間配分の逆転です。
- Plan(計画): 40%
- Review(レビュー): 40%
- Work(実装): 15%
- Compound(知識化): 5%
従来の開発では「実装80%、その他20%」という配分が一般的でした。なぜCompound Engineeringでは実装がわずか20%なのでしょうか?
AIエージェントが変えた「コストの逆転」
答えは単純です。AIがコードを書く時代では、コードを書くコストが劇的に下がったからです。
従来の開発(人間がコード記述):
- コード記述: 難しい・時間がかかる
- 計画: 比較的簡単
- レビュー: 時間がかかるが、実装ほどではない
AI時代の開発(AIがコード記述):
- コード記述: 簡単・速い(AIが担当)
- 計画: 難しい・重要(人間が担当)
- レビュー: 難しい・重要(人間が担当)
つまり、ボトルネックが「コード記述」から「計画と品質管理」に移ったのです。
Plan: 40%の時間を計画に使う理由
Compound Engineeringでは、計画フェーズに最も時間をかけます。具体的には以下のステップを踏みます。
1. リサーチフェーズ
AIエージェントに以下を調査させます:
- コードベース分析: 既存のコード構造、命名規則、設計パターン
- Git履歴分析: 過去の変更履歴から学習
- 外部ベストプラクティス: 公式ドキュメント、業界標準の調査
| |
このコマンドは、以下を自動実行します:
- プロジェクトの既存コードを分析
- 関連する技術のベストプラクティスを調査
- 実装計画を生成
- インタラクティブQ&Aで曖昧な要件を明確化
2. インタラクティブQ&Aフェーズ(v2.27.0で追加)
計画生成後、AIが最大5つの質問を投げかけます:
- 曖昧な要件の確認
- エッジケースの扱い
- 技術的な選択肢の確認
例:
Q1: ユーザー認証はJWT方式でよいですか?それともセッション方式?
Q2: エラー時のリトライ回数は何回に設定しますか?
Q3: データベースのインデックスは自動作成しますか?
この質問フェーズにより、実装前に仕様の穴を埋めることができます。
3. 計画の深化(Deepen Plan)
さらに詳細な計画が必要な場合、/deepen-planコマンドで計画を強化できます:
| |
このコマンドは、計画の各セクションに対して並列リサーチエージェントを起動し、以下を追加します:
- ベストプラクティスと業界パターン
- パフォーマンス最適化の提案
- UI/UX改善案(該当する場合)
- 品質向上とエッジケースの考慮
- 実装例
結果として、実装レベルの詳細を含む本番対応の計画が完成します。
Work: 15%の時間で実装を完了させる
計画が十分に詳細であれば、実装フェーズは驚くほど短時間で完了します。
Git Worktreeによる並列開発
Compound Engineering Pluginは、Git Worktreeを活用して並列開発を実現します:
| |
このコマンドの実行内容:
- 新しいGit Worktreeを作成(既存の作業を妨げない)
- 計画のチェックリストを順番に実行
- タスクごとに増分コミット(バッチコミットではない)
- ブランチ保護チェック(mainブランチへの直接コミットを防止)
重要な変更(v2.27.0): 以前はすべてのタスク完了後にまとめてコミットしていましたが、現在はタスクごとに即座にコミットします。これにより:
- 進捗が可視化される
- 途中で中断しても作業が失われない
- レビューが容易になる
計画ファイルのチェックボックス自動更新
実装中、AIエージェントは計画ファイル内のチェックボックスを自動更新します:
実装前:
| |
実装後:
| |
これにより、計画ドキュメントが生きた進捗管理ツールとして機能します。
Review: 40%の時間で品質と学習を両立
レビューフェーズは、単なる「バグ発見」ではなく、学習機会の創出が目的です。
多角的レビュー体制
Compound Engineering Pluginには、14種類の専門レビューエージェントが含まれています:
| エージェント | レビュー観点 |
|---|---|
dhh-rails-reviewer | DHH(Ruby on Rails創始者)スタイルの遵守 |
kieran-rails-reviewer | Every社のRails規約 |
security-sentinel | セキュリティ脆弱性 |
performance-oracle | パフォーマンス最適化 |
data-integrity-guardian | データ整合性 |
architecture-strategist | アーキテクチャ適合性 |
code-simplicity-reviewer | シンプルさ・保守性 |
julik-frontend-races-reviewer | フロントエンドの競合状態 |
これらのエージェントを並列実行することで、短時間で多角的なレビューが完了します:
| |
レビューコメントの自動反映
驚くべきことに、AIエージェントは過去のレビューコメントを学習し、同じ問題を事前に修正します。
実例(Every社のブログより):
「Changed variable naming to match pattern from PR #234, removed excessive test coverage per feedback on PR #219, added error handling similar to approved approach in PR #241.」
つまり、AIは以下を自動実行しました:
- PR #234のレビューで指摘された命名規則を適用
- PR #219で「テストが過剰」と指摘された基準を適用
- PR #241で承認されたエラーハンドリングパターンを適用
人間がレビューを開く前に、AIが過去の学習を適用済みという状態です。
Compound: 5%の時間で知識を資産化
最後のステップが、Compound Engineeringの名前の由来である「Compound(複利化)」フェーズです。
学習の永続化
以下の情報を再利用可能な形で記録します:
- バグと修正方法
- パフォーマンス問題と最適化手法
- 新しい問題解決パターン
- レビューで得られた知見
これらは以下の形式で保存されます:
- CLAUDE.md: プロジェクト固有のルール
- Skills: 再利用可能な知識モジュール
- Agents: 専門化されたレビュアー定義
- Commands: 自動化されたワークフロー
複利効果の実例
1回目の実装:
- 計画: 4時間
- 実装: 2時間
- レビュー: 3時間
- 合計: 9時間
10回目の実装(同じパターン):
- 計画: 1時間(過去の計画を参照)
- 実装: 1時間(パターンが確立)
- レビュー: 0.5時間(AIが事前に問題を修正)
- 合計: 2.5時間
時間が1/3以下に短縮されます。これが「複利効果」です。
実践例: DHHスタイルの学習と適用
Compound Engineering Pluginには、Ruby on Railsの創始者DHH(David Heinemeier Hansson)のコーディングスタイルを学習したdhh-rails-styleスキルが含まれています。
DHHが避けるもの
このスキルは、37signals(DHHの会社)が意図的に避けているパターンを定義しています:
避けるべきパターン:
- Service Objects(ビジネスロジックの過度な抽象化)
- Form Objects(フォーム専用オブジェクト)
- Decorators(表示ロジックの分離)
- CSSプリプロセッサ(Sass、Less等)
- React/Vue(フロントエンドフレームワーク)
代わりに使うもの:
- Railsの標準機能(ActiveRecord、Controller)
- Turbo(Hotwire)
- Stimulus(軽量JavaScript)
- 標準CSS
AIがDHHスタイルを適用する例
Before(AIが修正前):
| |
After(AIが自動修正):
| |
AIはdhh-rails-styleスキルを読み込み、コードレビュー前に自動的にDHHスタイルに修正します。
Every社の実績: 1人で5製品を運用
Compound Engineeringの効果は、Every社の実績が証明しています:
- 5つのソフトウェア製品を社内で運用
- 各製品は1人が主担当
- 数千人のユーザーが日常的に使用
- デモではなく本番環境
従来の開発手法では、1製品に5人のエンジニアが必要だったところを、1人で5製品を運用できるようになりました。つまり、生産性が25倍になった計算です。
Compound Engineering Pluginの使い方
実際にCompound Engineeringを試すには、Claude Codeにプラグインをインストールします。
インストール
| |
基本的なワークフロー
| |
利用可能なコンポーネント
プラグインには以下が含まれています:
- 27のエージェント: 専門化されたレビュアー、リサーチャー
- 20のコマンド: ワークフロー自動化
- 14のスキル: 再利用可能な知識モジュール
- 1つのMCPサーバー: Context7(フレームワークドキュメント検索)
OpenCode / Codex対応(実験的)
Compound Engineering Pluginは、Claude Code以外のAIコーディングツールにも対応し始めています。
変換ツール
| |
これにより、AIコーディングツール間でエージェント定義を共有できる可能性が開けています。
出力先:
- OpenCode:
~/.opencode/ - Codex:
~/.codex/prompts/,~/.codex/skills/
ただし、これらは実験的機能であり、各ツールのフォーマットが進化するにつれて変更される可能性があります。
まとめ
Compound Engineeringは、AIエージェント時代における開発手法の根本的な転換を示しています:
従来の開発:
- コードを書くことが難しい
- 機能追加で複雑さが増す
- 技術的負債が蓄積
Compound Engineering:
- 計画とレビューが難しい
- 機能追加で知識が蓄積
- 技術的資産が複利的に増える
80:20の法則(Plan/Review 80%、実装 20%)は、単なる時間配分ではなく、価値創出の場所が変わったことを示しています。
Every社の実績(1人で5製品運用)が示すように、この手法は単なる理論ではなく、実践可能で効果が実証された開発手法です。
興味のある方は、Compound Engineering Plugin を試してみてください。