Elephant Goldfish Model — плагин Google, где агент-слон пишет спецификацию, а ревьюеры-«золотые рыбки» её ломают
📂 Исходный код на GitHubОткрытый набор навыков (EGM) для проектирования и ревью ПО с AI-агентами. Агент-«слон» с полным контекстом проекта составляет спецификацию, а «золотые рыбки» — субагенты без памяти о диалоге — ищут в ней пробелы и риски. Работает с Claude Code, Codex и Antigravity.
Elephant Goldfish Model (EGM) — открытый плагин от Google для проектирования программ с помощью AI-агентов. 11.1 тысячи звёзд на GitHub. Слоган проекта: «Проектируйте со слоном. Ревьюйте с золотой рыбкой». Тысячи инженеров Google применяют EGM, чтобы составлять спецификации с агентом, который держит в голове весь проект, и проверять их субагентами, которые не видели ни строчки из вашего разговора. Всё это происходит до того, как написана первая строка кода.
Идея простая. Один агент с полным контекстом пишет дизайн. Другие агенты без этого контекста его атакуют. Человек принимает решения по спорным местам и утверждает спецификацию. Только после этого начинается работа над кодом.
Три роли
| Роль | Что видит | За что отвечает |
|---|---|---|
| Слон | Проект, требования, историю решений | Изучает задачу и пишет спецификацию |
| Золотая рыбка | Только документ и код, на который он ссылается | Ищет упущенные допущения, неясные требования и риски |
| Вы | Цели и ограничения проекта | Разрешаете противоречия и утверждаете дизайн |
Ключевой приём здесь — свежий контекст. «Золотые рыбки» не участвуют в вашем диалоге со слоном. У них нет привязанности к чужим идеям, поэтому они находят то, что основной агент незаметно для себя пропустил. Ревью требует возможности создавать чистых субагентов: если агент этого не умеет, EGM останавливает проверку.
Важно понимать границы. Ревью не заменяет тесты и не заменяет judgment человека. Слон лишь готовит документ — финальное слово всегда за вами.
Когда это подходит
EGM рассчитан на задачи, где до кода нужно принять дизайн-решения. Хороший пример — добавление доставки вебхуков: что делать, если доставка не удалась? Что если то же событие пришло дважды? Такие вопросы лучше закрыть в спецификации, а не в проде.
Для мелкого и понятного багфикса плагин не нужен — работайте как обычно.
Установка
Плагин ставится в ваш обычный coding agent.
Antigravity CLI:
agy plugin install https://github.com/google/elephant-goldfish-model
Для Antigravity App и Antigravity для IDE выполните команду /plugin или загляните в инструкцию по установке.
Claude Code:
claude plugin marketplace add google/elephant-goldfish-model
claude plugin install egm@egm
Codex:
codex plugin marketplace add google/elephant-goldfish-model
codex plugin add egm@egm
После установки начните новую сессию. Для Claude Cowork и ChatGPT Work есть отдельная инструкция.
Первый прогон
Откройте проект и выберите фичу, которая требует решений по дизайну. Полный маршрут состоит из трёх команд. В Antigravity CLI и Claude Code к ним добавляется префикс /egm: — например, /egm:egm-brainstorm. В Codex нужный навык выбирается в специальном меню.
Шаг 1. Обсудить идею:
/egm-brainstorm Add webhook delivery to this project.
Вы обсуждаете с агентом требования и компромиссы. Свежие ревьюеры оспаривают предложения. Итог разговора агент сохраняет в файл concepts_brief.md.
Шаг 2. Написать спецификацию:
/egm-draft
Агент превращает бриф в документ design_draft.md. После каждого раздела он останавливается и ждёт ваших комментариев.
Шаг 3. Проверить черновик:
/egm-review design_draft.md
Ревьюеры без памяти о разговоре проверяют дизайн, его понятность, соответствие коду и план внедрения. Вы выбираете, какие замечания учитывать. После вашего одобрения можно просить агента реализовать дизайн.
Подробный разбор процесса и структура проекта описаны в руководстве по началу работы.
Семь навыков на выбор
Каждый навык работает сам по себе. Идти по полному маршруту не обязательно.
| Навык | Назначение |
|---|---|
| Brainstorm | Проверить идею и получить бриф |
| Draft | Превратить бриф или заметки в дизайн-документ |
| Resolve | Разобрать замечания ревью и согласовать изменения |
| Bootstrap | Написать или обновить документацию по существующему коду |
| Review | Провести ревью дизайна свежими агентами в пять стадий |
| Review loop | Запустить настроенную группу ревьюеров под конкретную задачу |
| Drift report | Сравнить документы в репозитории с актуальным кодом |
Утверждённые спецификации принято складывать в docs/designs/ — так у команды накапливается архив решений.
Под капотом
Плагин нужно ставить целиком, а не отдельными навыками: ревьюеры работают по внутренним промптам и стандартам оформления документов, и навыки читают их из состава плагина. Поддерживаемые окружения и честные ограничения проверки перечислены в документе по настройке.
Поддерживаются Antigravity (CLI, приложение и расширение для IDE), Claude Code, Codex, а также Claude Cowork и ChatGPT Work через отдельную настройку. В каждом случае после установки нужно начать новую сессию.
Откуда это взялось
Идея выросла из эссе Дэйва Ренсина о «новом золотом веке» разработки. Устройство плагина описано в документе об архитектуре, а документ о тестировании честно перечисляет, что проверено автоматически, а что нет.
Лицензия Apache 2.0. Проект открытый, но это не официально поддерживаемый продукт Google — рассчитывать на корпоративную поддержку не стоит.
Зачем это вам
Если вы пишете код с AI-агентами, вы знаете проблему: агент охотно переходит к реализации, пропустив обсуждение дизайна. EGM решает её процессом, а не уговорами. Спецификация проходит проверку «глазами, которые ничего не знали заранее» — и на выходе вы получаете документ, где спорные вопросы уже заданы и закрыты.
Это особенно полезно в команде: документ из docs/designs/ можно показать коллеге, и он поймёт, почему решение именно такое, ещё до чтения кода.