让Agent学会工程化:ECC——一个开源的Agent编排操作系统
你的AI Agent能写代码,但能"工程管理"吗?ECC把它变成一个会计划、会测试、会Review、会记忆的完整工程系统。
一句话价值
ECC(affaan-m/ECC)是 MIT 开源的 Agent 编排系统,23.5 万 stars、日涨 636,已覆盖 Claude Code、Codex、Cursor、Gemini、Zed 等 7 个主流开发助手。它提供67 个专业Agent、281 个可复用技能、AgentShield 安全扫描,让 AI 从"单轮对话"进化为"持续改进的工程团队"。
为什么需要 ECC
AI 编程助手现在几乎人手一个,但它们有一个共同问题:每次对话都从零开始。
你昨天让 Claude 修了一个 bug,今天又问它,它不知道;Codex 生成的代码从来没人 Review;Cursor 的改动在合并后才被同事发现风格不对。
这不是模型不够聪明的问题,而是缺少工程纪律。
ECC 的答案是:把人类团队的工程流程(计划 → 测试 → 实现 → Review → 验证 → 记忆 → 改进)固化成一个可复用的系统,让 AI 每次启动就自动遵守。
核心架构
ECC 不是又一个 prompt 模板库,它是一个完整的工程操作系统。
这个流程里最关键的设计:Review Agent 是独立的。它不是生成代码的 Agent 自己检查自己,而是一个全新的上下文启动的 Agent,专门挑毛病。这模仿了人类团队中的 Peer Review 机制。
快速上手
Claude Code 安装(推荐)
# 在 Claude Code 中直接运行:/plugin marketplaceaddhttps://github.com/affaan-m/ECC /plugininstallecc@ecc一行命令搞定,skills、agents、commands 全部安装完毕。
Codex 安装
gitclone https://github.com/affaan-m/ECC.gitcdECCnpminstallbashscripts/sync-ecc-to-codex.sh同步脚本会备份你的 Codex 配置,然后把 ECC 的 AGENTS.md、skills、prompts 合并进去。
其他 harness
ECC 支持 7+ 个平台,安装方式类似:
# Cursor./install.sh--profileminimal--targetcursor# Gemini CLI./install.sh--profileminimal--targetgemini# OpenClaw./install.sh--profileminimal--targetopenclaw核心能力详解
67 个专业 Agent
ECC 内置了 67 个 Agent,每个都有明确的职责边界:
| Agent 类型 | 职责 |
|---|---|
| Plan Agent | 任务分解、制定执行计划 |
| Implement Agent | 按计划编写代码 |
| Review Agent | 独立上下文,从"新视角"Review 代码 |
| Build Agent | 编译、修复构建错误 |
| Security Agent | 安全扫描、漏洞检测 |
| Architecture Agent | 架构评审、重构建议 |
| Domain Agent | 特定领域(前端/数据/ML等)的专业 Agent |
281 个可复用技能
技能(Skills)是 ECC 最有价值的资产。它们是可复用的工作流,比如:
- TDD:先写测试再写实现
- Security Review:自动检查安全漏洞
- Research:调研 + 文档生成
- Docs:自动生成技术文档
- Frontend / Data / ML / Operations:领域专用技能
每次执行成功后,成功的流程会被自动"记忆",下次遇到类似任务时效率更高。
AgentShield:安全内置
这是 ECC 的一个特色功能——Agent 安全扫描。它会检查:
- prompts 中是否包含敏感信息
- hooks 是否越权
- MCP 配置是否暴露密钥
- 文件权限是否合理
对于企业级使用,安全不是事后补丁,而是构建时检查。
技术深度:为什么这套方案有效
上下文隔离 = 真正的独立性
ECC 的 Review Agent 之所以比"让同一个 Agent 自检"更有效,核心在于上下文隔离。
普通做法:同一个对话里,Agent 写完代码后,你让它"检查一下自己"。问题是——它的上下文已经包含了"我是写代码的"这个身份,它会偏向"自我辩护"。
ECC 的做法:启动一个全新的 Agent 实例,给它"Review"身份,上下文从零开始,只看代码本身。这就是为什么 ECC 的 prompt 里大量使用"fresh context"这个词。
记忆系统的持续学习
每次成功的执行路径都会被记忆系统捕获,然后沉淀为可复用的技能。这意味着你的 ECC 系统会用得越久越聪明。
多 Harness 适配层
ECC 最难的技术挑战可能是跨平台适配。Claude Code 用插件机制,Codex 用 AGENTS.md,Cursor 用 .cursor/agents,Gemini 用 .gemini/config——每个平台的"规则加载方式"都不一样。
ECC 的解决方案是profile 系统:
# minimal:只装核心 skill 和 agent,不装 hooks./install.sh--profileminimal--targetcursor# full:完整安装,含 hooks、rules、memory./install.sh--profilefull--targetclaude这确保了在资源受限的平台(如 Cursor)上也能工作。
优缺点
优点
- 即装即用:一行命令搞定,不需要写任何 prompt
- 安全内置:AgentShield 是企业级刚需
- 持续学习:用得越多,系统越懂你的工作方式
- 多平台:一个代码库覆盖 7+ harness,迁移成本极低
缺点
- 学习曲线:281 个技能对于新用户来说太多,需要时间选择哪些对你有用
- Token 消耗:多 Agent 并行 + Review 流程会显著增加 token 使用量
- 单一维护者:目前是单人维护,虽然社区活跃,但长期稳定性值得关注
适用场景
- ✅ 团队开发,需要代码质量保障
- ✅ 安全敏感项目,需要 Agent 安全检查
- ✅ 跨平台协作,同时使用多个 AI 编程工具
- ❌ 偶尔用用 AI 写代码的个人开发者
- ❌ 只需要快速补 bug 不需要完整工程流程的场景
总结
ECC 代表了 AI 编程助手的一个重要方向:从工具到团队。
它不是让 AI 写更多代码,而是让 AI 写出更好的代码——通过计划、测试、Review、记忆这套工程纪律。如果你有团队在用 AI 编程助手,或者你对代码质量有严格要求,ECC 值得花一个下午研究一下。
23.5 万 stars、MIT 开源、每周更新——这不是一个实验性的 side project,而是一个正在被大量团队使用的工程系统。
一句话:如果你在用 Claude Code 或 Codex,ECC 应该在你的安装列表里。
