Hi~大家好呀,我是清汤饺子。
先说个让我差点砸键盘的场景。
我打开一个新的 Claude Code session,准备继续前天没写完的功能。
Claude 热情地跟我打招呼:嗨!很高兴再次见到你,有什么我可以帮你?
我说:继续前天的任务。
Claude:好的!请问你想做什么?
我:就是那个功能模块啊,前天做到一半的那个。
Claude:好的!请问你想做什么功能?
我:......你刚才不是说了"再次见到我吗"?
Claude:哦,那只是客气话,我的记忆撑不过一个 session。
我:......行吧。
这个对话你是不是也似曾相识?
是不是也想问 AI:你礼貌吗?
一、我的痛点:AI 每次都是"新人"
Claude Code 的 memory 功能我深度用过------CLAUDE.md 配了、项目规范配了、技术栈配了。
但它只能记住"静态上下文",记不住"动态进度" :上次做到哪了、上次做了什么决定、上次遇到了什么问题。
更崩溃的是------有时候 Claude 会"选择性失忆"。明明配置了 memory,它偏偏没触发。有一次我让它帮我重构一个模块,它完全忽略了我们的代码规范,输出了一套我完全不认识的风格。
我开始认真想:有没有一套系统,能让 AI 的"记忆"真正 work?
然后我发现了 Everything Claude Code。
二、ECC 是什么
GitHub 110K+ stars,Anthropic Hackathon 冠军作品。
作者是 affaan-m,做了 10 个月每天高强度在真实项目里打磨出来的。定位不是"配置文件合集",而是:一套完整的 AI Agent 性能优化系统。
ECC 官方有一张对比表,说清了它的核心价值:
| Without ECC | With ECC |
|---|---|
| AI 不了解团队的代码模式 | AI 通过 rules 和 skills 学习团队规范 |
| 测试靠手动写,覆盖率不稳定 | TDD 流程内置,测试先行,覆盖率透明 |
| 安全漏洞靠人工 review | AgentShield 实时扫描,102 条规则自动拦截 |
| 团队没有统一的代码标准 | skills 和 agents 全团队共享 |
| 每个 session 从零开始 | Continuous Learning 跨 session 积累 |
这张表说清楚了 ECC 解决的问题。但光看表感受不深,我用了两个月,说说具体是什么体验。
三、GitHub App:把 commit 历史变成团队规范
这是 ecc.tools 最让我惊喜的功能。
ECC 提供一个 GitHub App(免费安装),它的工作方式是这样的:
- 在你的仓库安装 ECC Tools GitHub App
- 在任意 issue 下评论
/ecc-tools analyze - ECC 自动分析你的 commit 历史、代码模式、团队规范
- 自动生成一个 Pull Request,把这些历史转成 skills 和 defaults
翻译成人话:你的 git 提交记录里藏着团队多年的工程经验,ECC 自动把这些经验提取出来,变成 AI 可以复用的规范。
这个 PR 不是直接合并的------你审核、修改、确认之后才生效。完全可控。
我试了一下,第一次跑完它生成了大约 30 条 rules,覆盖了我们的 commit message 规范、分支命名规则、还有 API 错误处理的一些惯用模式。
最厉害的是:这个 PR 里的内容是专门针对你这个仓库的,不是通用模板。ECC 读的是你真实的 git 历史,提取的是你团队真实在用的规范。
四、Token 优化:让 AI 跑得更快
Context window 是有限的,AI 跑着跑着就开始"失忆"前面的内容。ECC 有几个实用的省 tokens 方法,都是踩坑踩出来的经验。
-
模型选择 :大多数日常任务用 Sonnet 4.5 就够了,复杂任务(跨 5+ 文件、架构决策、安全关键代码)升 Opus,重复性劳动降级到 Haiku 当 worker。类比一下:能用摩托车拉的不用卡车,卡车油耗高,还不好停。
-
工具替换 :Claude 默认用 grep 或 ripgrep 搜索代码,tokens 消耗大。换 mgrep,平均节省 50%------就像从手动档换成自动挡,不改变目的地,但脚不酸了。
-
后台进程:不需要 AI 实时处理输出的任务,用 tmux 丢后台,不占用 context。这就像让 AI 同时处理多项任务------实际上它是把不重要的任务先寄存起来。
-
模块化代码库:文件越小(几百行 vs 几千行),AI 消耗的 tokens 越少,出错率也越低。
五、Memory 持久化:AI 不再是"金鱼"
这是 ECC 最打动我的功能,也是它和"普通配置文件"的本质区别所在。
原生 Claude Code memory 只能存"静态模板"------项目规范、技术栈、代码风格。但它存不住"动态进度" :上次做到哪了、遇到了什么问题、做了什么决策。
ECC 的解法是把三个 Hook 串联起来,形成完整的记忆链条。
第一棒:SessionComplete Hook,session 结束时自动存档
Session 结束时,Claude 自动把当前状态写入 .tmp 文件------完成的任务、遇到的阻塞、关键决策、下次继续需要的信息,全都存下来。
第二棒:SessionStart Hook,新 session 开始时自动恢复
新 session 开始时,Claude 自动读取上次的 .tmp 文件。它会主动问:"检测到上次有未完成的任务,要继续吗?"
第三棒:PreCompact Hook,提前预警该整理了
在你积累了很多上下文的时候,提前提示你"该整理一下了",避免等到 AI 开始"失忆"才后悔。
三个 hook 串联起来,实现的是:跨 session 真正零手动干预的连续记忆。我第一次用这套组合的感觉是------Claude 终于不是"金鱼"了,甚至有点像一个记性比我还好的 senior。
六、Continuous Learning:让 AI 从错误中进化
核心问题:同一个错误,AI 犯一次两次三次,永远记不住。
解法:告诉 Claude "记住它",它把这个模式自动写入 skills,下次遇到类似场景自动调用。
触发方式有两种:
自动:session 结束时运行 /learn,自动提取这次 session 里发现的有效模式。
手动:中途解决了什么非平凡的问题,马上 /learn 即时提取。
我连续三次让 Claude 帮我写 API 接口,它第三次就自己学会了"我们项目里 API 文件放哪里、命名规范是什么、错误处理用什么模式"。
这感觉就像养成了一个会自动学习的好习惯------不用催,它自己就记住了。
七、验证与安全
AI 执行命令是有风险的。Prompt injection、未经授权的文件修改、"AI 误删整个 node_modules"这种事,社区里见过太多了。
解法:ECC 提供了 AgentShield------一个独立的安全扫描工具,102 条规则、1282 个测试用例、98% 覆盖率,采用 Red Team / Blue Team / Auditor 三层 Pipeline。
这阵容,比很多公司的安全团队都专业。
效果:扫描输出分级展示,critical 问题直接标红。
运行效果是这样的:
sql
$ npx ecc-agentshield scan ./CLAUDE.md
CRITICAL Unrestricted file system access via Bash tool
WARNING No rate limiting on external API calls
WARNING Missing secret detection guardrail
PASS Tool permissions properly scoped
PASS Destructive action confirmation required
PASS No prompt injection vectors detected
Security Score: 72/100 --- 1 critical, 2 warnings, 3 passed
Full report saved to ./agentshield-report.json
我之前差点让 Claude 把整个 node_modules 删了------它问都没问我直接动手。幸好当时没执行,不然一天白干。有 AgentShield,那种"先斩后奏"的命令直接被拦截,连求情的机会都不给。
八、技术原理
看完 GitHub 仓库,我发现 ECC 比"配置文件合集"要系统得多。它的核心不是某一个功能,而是一套层次化的 Agent 优化架构。
1. 五类组件:底层基础设施
ECC 的仓库由五类组件构成,每一类解决不同层次的问题:
-
Agents(智能体):30+ 专业子代理,负责特定领域的任务执行。比如 code-reviewer 专门做 code review,build-error-resolver 专门修编译错误,chief-of-staff 专门做任务规划和进度管理。每一个 agent 只做一件事,做得很专注。
-
Skills(技能):可复用的任务模式库,分两类------
- 语言生态:TypeScript、Python、Go、Rust、Java、PHP、Perl、Kotlin、C++ 等,每个语言有对应的 patterns 和 conventions
- 垂直领域:django、laravel、springboot、pytorch 等框架完整技能栈,覆盖从开发到部署的全流程
-
Commands (命令):斜杠命令是快速触发技能的入口,比如
/plan触发任务规划、/tdd启动 TDD 流程、/learn即时提取好模式。命令和技能联动,构成了 ECC 的交互层。 -
Rules (规则):始终遵循的约束,放置在
.claude/rules/目录下。AI 每个 session 都会读取,是最低层次的"铁律"。Rules 不同于 Skills------Skills 是告诉 AI"怎么做",Rules 是告诉 AI"绝对不能怎么做"。 -
Hooks(钩子):挂在 Session 生命周期上的自动化脚本,这是 ECC 最具特色的设计。每个 Hook 有明确的触发时机:
PreToolUse:工具执行前触发,比如拦截危险命令PostToolUse:工具执行后触发,比如自动格式化、自动运行 lintSessionComplete:session 结束时触发,自动存档SessionStart:session 开始时触发,自动恢复上下文PreCompact:上下文即将溢出前触发,提前预警
2. SKILL.md:技能自动发现的秘密
ECC 的 Skills 不是靠手动调用的,而是靠 description 字段自动触发。
每个 Skill 文件(Markdown 格式)顶部有一段 YAML metadata:
yaml
---
name: tdd-workflow
description: Use when the user wants to do test-driven development - sets up TDD flow with RED first
---
当 AI 判断当前任务符合 description 的条件时,自动激活对应 Skill,整个过程不需要你做任何事情。
这意味着 ECC 的 Skills 系统本质上是上下文感知的------AI 根据当前任务状态自动匹配最佳实践,而不是等你一步步指示。
3. SQLite 状态存储:持久化的秘密
ECC 用 SQLite 作为状态存储数据库,记录:
- 已安装的 Skills 列表和版本
- Session 历史摘要
- Continuous Learning 的演化记录
- 各平台(Claude Code / Codex / Cursor / OpenCode)的配置状态
这让 ECC 具备"状态记忆"------不是每次从零开始,而是知道"上次装了什么、上次做了什么、哪里出了问题"。支持增量更新,不用每次全量重装。
4. Continuous Learning 的技术实现
ECC 的 Continuous Learning 不是靠"更长的 context window",而是靠自动提取 + 写入 Skills 目录:
- AI 在 session 中发现一个有效的模式(比如"这个项目的 API 错误处理用 Result type")
- 自动把这个模式写入
~/.everything-claude-code/skills/ - 下次遇到类似场景,Skills 触发,模式复用
本质是把隐性知识显性化,把单次经验变成可复用资产。这解决了 AI "同类错误重复犯" 的根本问题。
5. AgentShield 的技术实现
AgentShield 不是简单的"危险命令黑名单",而是一套多层次安全扫描机制:
- Hook 层 :在命令执行前拦截,扫描
rm -rf、curl | bash、git push --force等危险模式 - CVE 数据库:集成了常见漏洞数据库,扫描依赖包是否有已知漏洞
- Sandbox 隔离:危险操作在隔离环境执行,不直接影响主项目
6. 安装架构:Manifest 驱动
ECC 的安装不是"一键全装",而是Manifest 驱动的选择性安装:
bash
./install.sh --profile full # 全量安装
./install.sh typescript # 只装 TypeScript 相关
./install.sh --target cursor python # 只给 Cursor 装 Python 生态
install-plan.js 和 install-apply.js 负责解析 Manifest,按需安装。SQLite 状态存储记录"装了什么",支持增量更新。ECC_HOOK_PROFILE 环境变量还可以控制 Hook 的严格程度(minimal / standard / strict)。
GitHub 仓库:github.com/affaan-m/ev...
九、和 Superpowers + OpenSpec 的关系
这三个工具解决的问题正好互补:
| 工具 | 解决的问题 |
|---|---|
| OpenSpec | 需求对齐------先签字再动手 |
| Superpowers | 工程纪律------TDD、task 分解、子 Agent 编排 |
| ECC | 性能和记忆------Token 优化、Memory 持久化、安全扫描 |
OpenSpec 在最上游------它管的是做什么。
Superpowers 在中游------它管的是怎么做。
ECC 在底层------它管的是怎么跑得更好。
三个一起用,才是完整的 AI 编程工作流。
写在最后
ECC 解决了一个根本问题:AI 不是"真的智能",它是"真的没有记忆" 。
110K+ stars 说明这套方法论经过了大量开发者的验证。我用了两个月,最大的感受是------AI 编程终于有点像"和一个靠谱的同事合作",而不是"和一个热情的实习生搏斗"------热情是热情,但每次都要我来收拾残局。
当然它不是银弹。配置成本不低,学习曲线陡峭,踩坑也需要时间。如果你每天用 AI 写代码,这点投入值得;如果只是偶尔用用,原生体验可能就够了------省下的配置时间够你手动写好几屏代码了。
你被 AI coding 的"失忆症"困扰过吗?有没有什么土办法?
欢迎评论区聊聊,看看大家都有什么奇葩经历,互相种草避坑。
如果觉得有帮助,点个赞收藏一下,我会更有动力更新下一期。
也欢迎关注我的公众号「清汤饺子」,获取更多技术干货!