第 1 章:ECC 到底是什么
一句话定义
ECC 是一个面向 AI coding harness 的“工程操作系统”:它不负责训练模型,也不是单一 Agent runtime,而是把角色、工作流、规则、运行时自动化、安装治理和记忆反馈装进同一个可移植仓库。
“操作系统”这个比喻来自它的组织方式:
agents/像可调度的进程角色,解决“谁来做这类事”。skills/像按需装载的能力包,解决“这类事应该怎么做”。rules/像始终生效的内核约束,解决“什么不能越过”。hooks/像系统调用拦截器,在工具调用前后插入校验、提醒和持久化。scripts/像系统服务,承载安装、状态、会话、记忆和审计。.claude-plugin/、.codex-plugin/、.cursor/等像设备驱动,让同一套能力适配不同宿主。
解决的不是“模型不聪明”
ECC 关注的是 Agent 工程中反复出现的四类失败:
- 上下文不稳定:每次都靠 prompt 临时解释测试、review、安全要求。
- 动作不可控:Agent 能执行工具,但没有统一的质量门、推送提醒、配置保护和安全扫描。
- 能力难复用:个人经验沉淀在对话里,换项目、换模型、换 harness 就丢失。
- 安装难治理:把一整个仓库复制进用户目录会产生重复、漂移、无法修复和跨平台路径问题。
ECC 的答案不是加一个更长的系统提示词,而是把这些问题分配给不同层:内容层解决复用,hook 层解决时机,installer 解决投影,memory 层解决反馈。
关键产品主张与源码证据
README 把 ECC 的主线写成:
plan → test → implement → review → verify → remember → improve
这不是装饰性 slogan。它在源码中分别对应:
| 主线环节 | 主要实现面 |
|---|---|
| plan | commands/plan.md、skills/plan-canvas、agents/planner.md |
| test | skills/tdd-workflow、agents/tdd-guide.md、语言测试 skill |
| implement | 目标 harness 的工具调用与通用工程 skill |
| review | agents/code-reviewer.md、agents/security-reviewer.md、语言 reviewer |
| verify | skills/verification-loop、commands/quality-gate.md、Stop hooks |
| remember | scripts/memory.js、skills/continuous-learning-v2、session hooks |
| improve | instinct evolve/promote、skill-create、持续维护的 catalog |
ECC 与 Agent SDK 的区别
Pi-Agent 这类项目的中心是模型调用、Agent Loop、消息和工具;ECC 的中心是让已有 harness 按稳定工程流程工作。它通常不重新实现模型循环,而是通过原生插件接口、规则文件、hooks 和适配器影响 loop 周边:
模型 → harness loop → 工具调用
↑ ↓
ECC 内容 ECC hooks
↑ ↓
安装器/适配器 ← 状态/记忆
因此阅读 ECC 时,不要寻找一个“最大的 Agent 类”。应该寻找:能力从哪来、何时被加载、如何被阻断或放行、如何记录状态、如何跨宿主迁移。