教程2026-11-01 · 智涌AI

大象金鱼模型是什么:设计用深上下文,评审用零上下文

大象金鱼模型头图:设计用深上下文的 Elephant 与零上下文评审的 Goldfish 对照,约 8293 星 Apache-2.0

写代码之前,先把设计和评审拆开:带全量项目上下文的 Agent 帮你写规格,另一批零上下文的子 Agent 只看文档和引用源码来挑毛病。Google 开源的 Elephant-Goldfish Model(EGM,Apache-2.0)就是这套插件;README 写明适用于「功能需要先做设计决策」的场景,小而明确的修 bug 继续走你平时的编码流程即可。下文按仓库 README、docs/getting_started.md 与 docs/harnesses.md(查阅日 2026-11-01 北京时间)整理角色分工、安装命令与 brainstorm→draft→review 主流程。同日 GitHub API 星数约 8293★。

说明:仓库写明「This is not an officially supported Google product.」功能与安装以 google/elephant-goldfish-model 与 egm.dev 为准。README 还写到「Thousands of Google engineers use EGM」——这是项目方自述,不是可独立核验的用户普查,文中只作背景引用。

大象写规格,金鱼找盲区

README 开篇一句话:Design with an elephant. Review with a goldfish. 三角色分工如下。

角色上下文职责
Elephant(大象)你的项目、需求与此前决策探索问题并起草规格
Goldfish(金鱼)文档及其引用源码,不含先前对话找未写明的假设、含糊需求与实现风险
你真正重要的目标与约束拍板架构取舍、批准设计、决定做什么

金鱼评审必须能拉起全新子 Agent 上下文(和站内 子 Agent 要干净上下文 同一类问题)。若当前 harness 做不到,EGM 会停掉评审。README 也写明:评审不能替代测试和人的判断。思路来自 Dave Rensin 那篇讲大象与金鱼的工程文章;插件把「写规格」和「零上下文挑刺」拆成可安装的技能与子 Agent 人设(skills/ 与 agents/)。

小而明确的修 bug,用你平时的编码工作流;需要先想清楚设计再写代码时,再上 EGM。

怎么装(按 harness 选一条)

要装完整插件,这样技能才能读到评审提示词和文档标准。装完后新开一个会话。

环境官方安装命令
Antigravity CLIagy plugin install https://github.com/google/elephant-goldfish-model
Claude Codeclaude plugin marketplace add google/elephant-goldfish-model 再 claude plugin install egm@egm
Codexcodex plugin marketplace add google/elephant-goldfish-model 再 codex plugin add egm@egm

Antigravity App / IDE 扩展走 /plugin 或 harnesses 文档;Claude Cowork、ChatGPT Work 的入口也在同一文档。Antigravity 与 Claude Code 里 slash 命令通常带 /egm: 前缀(例如 /egm:egm-brainstorm);agy CLI 1.4.10 可把未加前缀的名字补全成带前缀命令,1.4.8 不行,稳妥做法是自己写上前缀。Codex 在 skill 选择器里选对应 EGM 技能。Brainstorm 与 Review 都要求会话能创建全新子 Agent。

主流程:brainstorm → draft → review

getting_started.md 强调:主流程不是铁律,技能可以按需乱序取用;别硬套「先设计再写码」去啃一眼就能修的小问题。目标只有两样——代码做你要的事,文档讲清代码为何长成这样。

  1. /egm-brainstorm:澄清概念,再拉起多视角 Goldfish 群(文档写 6-lens),写出结构化 concepts_brief.md。
  2. /egm-draft:把 brief 或既有笔记写成正式设计文档,按节起草、每节可在对话里反馈,产物如 design_draft.md;批准后归档到 docs/designs/,并可用 SITEMAP.md 做索引。
  3. /egm-review:在零上下文会话里多阶段评审完整度、清晰度、自洽与可实施性。反馈会很多——挑你认的改,其余可忽略。
  4. 人审:把设计开成 PR 给人看;EGM 不替代同事评审,尤其是产品优先级与长期一致性。
  5. 实现:让 Agent 按批准后的规格写代码;小错可点修,整段跑偏就改规格再试。实现阶段用什么风格/测试技能,EGM 不强制,可对照站内 编程 Agent 团队实践 写进自己的实现计划。
/egm-brainstorm Add webhook delivery to this project.
/egm-draft
/egm-review design_draft.md

上面是 README 的 webhook 投递示例:讨论失败重试、重复事件等取舍,先落 brief,再起草规格,再交给金鱼。路径以 Agent 返回的草稿路径为准。

技能清单与存量仓库

技能用来做什么
Brainstorm试想法,写概念 brief
Draft把 brief / 笔记写成设计文档
Resolve消化评审发现并达成修改共识
Bootstrap自底向上给已有代码树补 README,建立上下文
Review五阶段金鱼评审
Review loop按配置跑一组评审者
Drift report对比已入库文档与当前源码是否漂移

存量仓库可用 /egm-bootstrap:先给叶子目录写 README,再向上汇总,直到根目录有一份地图。人仍应审一遍。可选再做一个 <项目>-elephant 自定义技能,只告诉模型项目是什么、关键路径与设计文档在哪——不必复杂。文档建议把 /egm-drift-report 塞进大约每周一次的维护轮值:发现漂移就由人决定改文档还是改代码。

什么时候用,什么时候跳过

该用:新功能要拍接口边界、失败策略、幂等与一致性;跨模块改动,写完代码再补文档会晚;你想在实现前就把「未写明的假设」逼出来。

该跳过:报错栈明确、改动局部、不存在架构取舍的小修;你已经有人审过的规格,只缺实现;当前环境开不出 fresh 子 Agent,Review 根本跑不起来——这时先别假装「审过了」。

常见坑

完成标准

最后

EGM 把「带上下文写规格」和「零上下文挑刺」拆成两套技能,中间留给人拍板。适合功能设计、接口取舍、跨模块方案;不适合「一眼能修」的改动。从仓库装插件、跑一遍 webhook 示例,比空谈 Spec-Driven Development 更直观。代码与文档见 GitHub 与 egm.dev。

关注公众号「智涌AI速递」

每天的 AI 快讯、实用教程和 AI项目实测,也会同步发到微信公众号。在微信里搜索「智涌AI速递」就能关注;不用微信的话,可以用 RSS 订阅本站。