📌 项目地址:google/elephant-goldfish-model | ⭐ 19,609 颗星 | 🔧 Python
Google 开源了一个接近两万 star 的项目 elephant-goldfish-model(下称 EGM),解决的是一个很实际的问题:AI 助手陪你聊了很久之后,写出来的设计文档没人挑毛病。因为它太清楚你们之前讨论过什么了,那些没说出口的假设,它自己也不会质疑。
EGM 的做法是把起草和评审拆开。Elephant(大象)负责带着完整项目上下文起草规格说明;Goldfish(金鱼)负责评审,但只能看到草稿和草稿引用的源码,看不到之前的对话。评审者对讨论历史一无所知,只能凭草稿本身判断,于是那些“讨论时大家默认了、但文档里没写”的东西就会暴露出来。最后的架构取舍和规格批准还是由你来做。
先别急着写文档,60 秒就能试
EGM 是插件,装在编码代理上用。支持 Claude Code、Codex CLI、Antigravity,以及 ChatGPT 和 Codex 桌面版。
装好之后有个低门槛的玩法:拿现有的设计文档、README 或者 PR 计划,直接让金鱼评审一遍。不用先写新规格。
以 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
装完记得新开一个会话才生效。
然后评审一份已有文档:
/egm:egm-review docs/designs/webhooks.md
把路径换成你自己的设计文档。评审者会检查四件事:设计本身、表达是否清晰、和现有代码合不合、实施计划可不可行。Codex 里没有这个前缀命令,从 skill picker 里选对应的 EGM skill 即可。
另一个我很喜欢的功能是漂移检查:
/egm:egm-drift-report docs/designs/
它会把这个文件夹下每份文档和当前源码对比,报告哪些地方已经对不上了。文档写完三个月,代码改了五轮,这种漂移几乎必然发生。查出来之后,改文档还是改代码,你自己判断。
写第一份设计
上手流程也不复杂:在编码代理里打开你的项目,挑一个需要做设计决策的功能。README 举的例子是 webhook 投递:投递失败怎么办?同一事件到了两次怎么处理?这类问题没有标准答案,需要权衡取舍,正是这套工作流的主场。
边界在哪
内置的评审流程面向软件规格。要评审其他类型的文档,得用 /egm-review-loop 自己指定评审者和标准。Bootstrap 和漂移报告也只针对软件代码库,别指望它评审产品需求文档。
ChatGPT 和 Codex 桌面版在应用内安装已发布的插件,仅限桌面端;Claude Cowork 和 ChatGPT Work 的配置要看仓库里的 docs/harnesses.md。
还有一点:EGM 不替你做决定。它做的事是把没说出口的假设摆到台面上,签字批准的永远是你。