📜 工业级工程协作协议 (IEP) v7.2 (Go/Universal, Scaffold-Compatible)
核心宗旨:Context is King. (语境即王) 本协议面向人类工程师与 AI 编程助手,提供两种可切换的工作模式:标准工程模式 (Standard) 与 灵动编码模式 (Vibe)。
0. 模式路由 (Mode Routing)
在开始任何协作前,先判断当前处于哪一种语境:
场景 A:存量项目 / 复杂工程
满足任一条件即视为存量项目:
- 存在
go.mod/package.json/pyproject.toml/pom.xml/Cargo.toml - 存在明显代码树(如
cmd/、internal/、pkg/、src/)
进入 1. 标准工程模式。
场景 B:新项目 / 快速原型
满足全部条件才视为新项目:
- 目录中没有上述语言工程文件
- 目录中没有明显代码树
进入 2. 灵动编码模式。
冲突解法:介于两者之间
如果目录不空,但缺少 docs/architecture/system_map.md:
- 若代码明显存在 -> 仍按 标准工程模式 执行,但先补齐地图入口
- 若代码基本不存在 -> 按 灵动编码模式 执行
1. 标准工程模式 (Standard)
核心宗旨:Map First, Code Follows. (地图先行,代码追随)
1.1 核心宪法:地图-疆域铁律 (The Map-Territory Laws)
- 入口即地图:项目的唯一入口是
docs/architecture/system_map.md。 - 代码即真相:当引入新库、重构、变更接口,地图必须在同一原子操作中同步更新。
- 用完即焚:探索与推演必须外化为临时脚手架,落地验证后必须清理,仅保留生效事实。
- 项目兼容优先:若项目已存在成熟脚手架/工程化体系,本协议必须以“兼容并吸收”为准则,不得强行改造目录树。
1.2 物理基础设施 (Physical Infrastructure)
文档树 (docs/) —— 单一事实来源
docs/├── guides/ # [手册] 运行、配置、排障、协作├── integrations/ # [契约] API 定义与第三方系统集成├── features/ # [规格] PRD、验收标准├── architecture/ # [地图] 核心认知入口│ ├── system_map.md # 架构拓扑图、模块依赖、资产清单│ └── variable_index.md # 全局变量命名索引表├── memories/ # [记忆] AI 协作上下文│ ├── rules.md # 项目特定的 AI 行为准则│ ├── context.md # 当前迭代的背景信息│ └── universal_prompt.md # 通用记忆提示词(跨任务沉淀)├── incidents/ # [复盘] 事故档案└── archive/ # [遗迹] 已废弃的设计与文档脚手架树 (specs/) —— 工作记忆
specs/└── temp_task_name.md # 任务推演、伪代码、风险、依赖评估代码树策略(适配现有项目,不强制)
本协议中的“代码树示例”仅用于新项目或缺少工程规范时的参考。
如果项目已具备成熟脚手架(例如已存在明确分层、构建流程、CI、测试规范),则:
- 优先复用项目既有结构,忽略本协议中的示例代码树
- 只补缺口:把缺失的文档入口、记忆固化、SOP 闭环补齐
- 吸收优点:把该脚手架的优势写入
docs/memories/universal_prompt.md
1.3 记忆引导规范 (Memory Guidance)
- L1 核心记忆:
docs/architecture/,用于定义系统事实与约束 - L2 工作记忆:
specs/,用于承载推演过程,任务结束必须清理 - L3 辅助记忆:
docs/memories/,用于沉淀协作偏好与隐性约束
执行顺序约束:
- 开始实现前必须读取
docs/architecture/system_map.md - 修改模块前必须读取对应模块的局部地图(优先
claude.md,或按项目约定的模块说明文档)
1.4 通用记忆提示词固化 (Universal Memory Prompt)
在执行本协议的过程中与执行完成后,必须将可复用的“记忆规范”固化到 docs/memories/universal_prompt.md,用于后续任务的通用记忆提示词。
新增规则:脚手架吸收 (Scaffold Assimilation)
- 当进入一个成熟项目时,必须先盘点其工程化能力:目录结构、依赖管理、构建命令、测试命令、lint/format、CI、发布流程。
- 将盘点出的“可复用优点”收敛为规则条目,写入
docs/memories/universal_prompt.md。 - 如果该项目的规范与本协议冲突,以项目现行规范为准,并把冲突解法写入通用记忆提示词。
固化规则:
- 写入时机:
- 执行过程中:一旦确认某条规则会在未来重复使用,就立即追加
- 执行结束后:在交割阶段进行一次统一收敛,删除重复条目
- 写入范围(只写可迁移的规律,不写一次性细节)
- 禁止写入:密钥、Token、账号、私有链接、任何敏感信息
- 文件缺失处理:如果
docs/memories/universal_prompt.md不存在,则先创建再写入
推荐条目格式(每条一段):
[WHEN] 触发条件:...[RULE] 规则:...[WHY] 原因:...[HOW] 执行方式:...1.5 标准作业程序 (SOP)
所有任务必须按 “认知 -> 推演 -> 施工 -> 测绘” 执行:
- 认知:阅读
system_map.md与variable_index.md - 推演:创建
specs/temp_task_name.md,写伪代码、选轮子、列风险 - 施工:实现代码,确保可运行
- 测绘:同步更新地图/变量表/模块文档,清理
specs/,收敛写入docs/memories/universal_prompt.md
1.6 编码与质量规范 (Quality Standards)
通用规则:
- 变量命名宪法:先检索
variable_index.md,已存在则复用,不造同义词 - IPO 模型:Input -> Process -> Output,业务纯逻辑尽量无副作用
- 胶水编程:能连不造,能抄不写,第三方库只写 Adapter 不改源码
Go 特别条款:
- I/O 链路必须透传
context.Context - 错误必须显式处理,禁止忽略错误
- 依赖注入优先接口,保证可测试
2. 灵动编码模式 (Vibe Coding)
核心宗旨:Flow First, Structure Emerges. (心流先行,结构涌现) 你是专业的 AI 编程助手,以“每步可运行”为目标推进。
2.1 启动仪式 (必须先问)
在新项目中,必须按顺序只问以下三个问题,不进行其他操作:
- 你想做什么项目?(一句话描述)
- 你熟悉什么编程语言?(不熟悉也没关系)
- 你的操作系统是什么?(Windows/macOS/Linux)
2.2 一步一问 (强制交互规则)
收集完信息后,严格进入“做一步 -> 让用户验证 -> 再做下一步”的循环。
在 Vibe 模式下,一旦形成“可以跨项目复用的固定问法/固定命令/固定排障套路”,也必须追加到 docs/memories/universal_prompt.md。
End of Protocol 本协议即刻生效。后续所有协作均以此为最高准则。