10月26日、Help Net Securityが「Google open-sources the Elephant-Goldfish Model plugin its engineers use to catch AI coding mistakes」と題した記事を公開した。GoogleがAIコーディングエージェントのミスを事前に防ぐ社内ツール「Elephant-Goldfish Model(EGM)プラグイン」をオープンソース化したことについて詳しく紹介されている。
AIコーディングツールの普及で「書くスピード」は上がった。しかし、Googleのチームはそこに問題を見ている。
「AIによる開発速度の向上は変革的だが、同時に"スロップ"(粗悪なコード)、バグ、セッションコンテキストの崩壊の速度も静かに高めており、潜在的な信頼性の危機をもたらしている。ガードレールのない純粋なスピードは、単にコードを速く書くのではなく、ミスを自動スケールしているにすぎない」
これはEGMチームがオープンソース化に際してGoogle Open Source Blogに記した言葉だ。
コードを書く前に「設計書を書かせ、別セッションのAIに批評させる」
EGMプラグインの発想はシンプルだ。AIコーディングエージェントにコードを書かせる前に、設計書を書かせる。そしてその設計書を、設計の議論を一切知らない別のAIセッションに渡してレビューさせる。
このアーキテクチャが「Elephant(象)」と「Goldfish(金魚)」という2つの役割に対応している。
- Elephant(長期記憶セッション): プロジェクト全体のアーキテクチャ、意図、細かな決定事項を一貫して保持する長期稼働セッション。コードは一切書かない。開発者にインタビューし、選択肢を議論し、記録を維持することが役割だ。
- Goldfish(ステートレスセッション): 過去の文脈を一切持たない、記憶ゼロの状態でスタートするセッション。設計の議論に参加していなかったレビュアーは、その議論が持つ「思い込み」を引き継がないという発想に基づく。
3フェーズのレビューフロー
プラグインは3つのコマンドで構成される。
egm-brainstorm: 開発者とElephantが「コード禁止ルール」のもとで選択肢を議論し、前提を検証するフェーズ。実装に入る前に複数の設計案を比較し、採用・不採用の理由を言語化することが主眼となる。egm-draft: brainstormの結果をもとに、問題定義・技術的計画・検討した代替案・変更対象ファイルを具体的に示した実装計画を含むMarkdownの設計書を生成するフェーズ。この文書がGoldfishへの入力となる。egm-review: Goldfishが登場するフェーズ。まず1体のGoldfishが設計書全体を読み、Elephantに内容を説明し直す。説明が誤っていれば「設計書が曖昧」と判定され、加筆修正に戻る。 続いて複数のGoldfishが「敵対的レビュアー」として、エッジケース・隠れた依存関係・論理的矛盾を探し出す。最後のGoldfishがファイルパス、データ構造、関数シグネチャの明確性を確認し、コード実装への「Go/No-Go」判定を下す。
なお、セキュリティ観点のレビューはデフォルトのレビュアーリストには含まれていない。ただし、レビュアーのペルソナはカスタマイズ可能なため、セキュリティ専門のGoldfishを追加することは可能だ。
Googleで毎日数千人が利用
リポジトリにはMarkdownのルール定義、サブエージェントのペルソナ定義、レビューワークフローが同梱されている。現時点ではAntigravity開発環境内での動作が前提で、他の環境へのサポートは今後追加予定とされている。なお、Antigravityが具体的にどのような環境を指すかについては、元記事およびGoogle Open Source Blogの該当エントリを参照されたい。
Googleによれば、毎日数千人のGooglerがこのプラグインを使ってプロダクションコードをリリースしている。プラグインは無料でGitHub上に公開されている。
EGMが示すのは、AIコーディングにおけるスピードと品質のトレードオフへの一つの実践的回答だ。ステートレスなセッションを意図的にレビュアーとして機能させることで、人間のコードレビュー文化をAIワークフローに組み込もうとするアプローチは、AIエージェント活用の設計指針として注目に値する。
詳細はGoogle open-sources the Elephant-Goldfish Model plugin its engineers use to catch AI coding mistakesを参照していただきたい。