elephant-goldfish-model — AIエージェントと設計・レビューを行うプラグイン
google/elephant-goldfish-model
★ 18,633 ・ Python ・ Apache-2.0
概要
google/elephant-goldfish-model(通称: EGM)は、AIアシスタントやコーディングエージェントと協調してソフトウェアの設計およびレビューを行うためのオープンソースプラグインです。
本プロジェクトは、AIを活用した仕様策定(Spec-Driven Development)において生じがちな「コンテキストの肥大化によるバイアスや暗黙の前提の見落とし」という課題に着目しています。そこで、プロジェクトの背景や決定経緯などの文脈を記憶し続ける「Elephant(象)」役のエージェントと、それまでの会話履歴を一切持たずに渡されたドラフトとソースコードのみを客観的に検証する「Goldfish(金魚)」役のレビュアーエージェントを明確に分離するモデルを提案しています。最終的な意思決定やアーキテクチャ上のトレードオフ判断は人間のエンジニアが担います。
コーディングエージェントを利用して仕様書を作成したいエンジニアや、既存の設計ドキュメントとコードベースの整合性を検証したい開発者に向いています。
主な特徴
- コンテキストを分離したレビューモデル: プロジェクトの文脈を持って起草する「Elephant」と、事前の会話履歴を持たずにドキュメントとコードを精査する「Goldfish」に役割を分担させ、暗黙の前提や盲点を浮き彫りにします。
- 設計書のドリフト検知(Drift Report): 指定したフォルダ内のドキュメントと最新のソースコードを比較し、実装とドキュメントの間で発生している乖離(ドリフト)を検出してレポートを出力します。
- 段階的な仕様策定スキル: アイデアの壁打ちを行う「Brainstorm」、ブリーフを設計書に落とし込む「Draft」、レビュー指摘への対応方針を決める「Resolve」など、タスクごとのスキルが用意されています。
- 5段階の設計レビュー: ドラフトの設計思想、明瞭さ、コードとの整合性、実装計画などを複数の視点から多角的に検証する仕組みを備えています。
- 複数のコーディング環境に対応: Claude Code、Codex(CLIおよびデスクトップ版)、Antigravity(CLI、VS Code拡張など)、ChatGPTデスクトップ版などの環境にプラグインとして導入できます。
使い方
利用するコーディングエージェント環境に合わせてプラグインをインストールします。
インストール
Claude Code の場合:
claude plugin marketplace add google/elephant-goldfish-model
claude plugin install egm@egm
Codex CLI の場合:
codex plugin marketplace add google/elephant-goldfish-model
codex plugin add egm@egm
Antigravity CLI の場合:
agy plugin install https://github.com/google/elephant-goldfish-model
なお、ChatGPTおよびCodexのデスクトップ環境では公開プラグインからインストール可能です。インストール完了後は新しいセッションを開始して利用します。
既存ドキュメントのレビューとドリフト検知
新しく仕様書を書かなくても、既存のドキュメントやPR計画に対してレビューやドリフト検知を実行できます。
既存ドキュメントのレビュー:
/egm:egm-review docs/designs/webhooks.md
コードベースとの乖離(ドリフト)のチェック:
/egm:egm-drift-report docs/designs/
エージェントがフォルダ内の各ドキュメントと現在のソースコードを比較し、齟齬が生じている箇所を報告します。
新規設計のワークフロー
新機能(例: Webhook配信機能)の設計を進める場合の手順です。AntigravityやClaude Codeではコマンドに /egm: プレフィックスを付与して実行します。
1. アイデアの検討(Brainstorm):
/egm-brainstorm Add webhook delivery to this project.
要件やトレードオフをエージェントと対話し、方向性が concepts_brief.md に保存されます。
2. 仕様書のドラフト作成(Draft):
/egm-draft
ブリーフを基に design_draft.md が生成されます。セクションごとにチャットでフィードバックを行うことが可能です。
3. ドラフトのレビュー(Review):
/egm-review design_draft.md
事前文脈を持たないレビュアーがドラフトとコードを精査し、指摘を出力します。開発者が承認した後に、コーディングエージェントへ実装を指示します。
技術的なポイント
- 実装言語と構成: リポジトリの主要言語はPythonです。各AIエージェント実行環境(Harness)向けにプラグインとして組み込める構成となっており、プロンプト定義やドキュメント基準をスキルとして提供しています。
- サブエージェントによるコンテキスト分離: Goldfish役によるレビューを実現するため、それまでの対話履歴から切り離された「独立したサブエージェントのコンテキスト」を起動する設計になっています。これにより、AIが自身の以前の出力を追認してしまう自己正当化や文脈の引きずりを防ぎます。
- スキル群のモジュール化: フルシーケンスで実行するだけでなく、
Brainstorm、Draft、Resolve、Bootstrap、Review、Review loop、Drift reportといった個別スキルを必要に応じて単体で呼び出せるよう設計されています。
注意点
- サブエージェント生成の制約: Goldfishレビューを実行するには、ホスト側のエージェント環境がクリーンなサブエージェントコンテキストを生成できる必要があります。この機能に対応していない環境ではレビュー処理が中断されます。
- 人間の判断とテストの代替ではない: READMEにおいて、EGMによるレビューはテストコードや人間の判断を置き換えるものではないと明記されています。最終的な承認とトレードオフの決定は利用者が行う必要があります。
- 公式サポートについて: ライセンスは Apache-2.0 ですが、READMEには「This is not an officially supported Google product.(Googleの公式サポート製品ではありません)」と記載されています。
- コマンド体系の環境差: CLIツールのバージョンによって、コマンドの
/egm:プレフィックス補完の挙動が異なる場合がある旨がREADMEに記載されています。
まとめ
google/elephant-goldfish-model は、長期的な文脈を持つエージェントと、履歴を持たないレビュアーエージェントを組み合わせることで、仕様策定時の盲点を発見しやすくするプラグインです。Claude CodeやCodexなどのコーディングエージェントを活用しながら、仕様駆動開発やドキュメントの保守を行いたい場合に役立つツールです。





