1625 字
8 分钟
AI Note Prompt - Golang

📜 工业级工程协作协议 (IEP) v7.2 (Go/Universal, Scaffold-Compatible)#

核心宗旨Context is King. (语境即王) 本协议面向人类工程师与 AI 编程助手,提供两种可切换的工作模式:标准工程模式 (Standard)灵动编码模式 (Vibe)


0. 模式路由 (Mode Routing)#

在开始任何协作前,先判断当前处于哪一种语境:

场景 A:存量项目 / 复杂工程#

满足任一条件即视为存量项目:

  1. 存在 go.mod / package.json / pyproject.toml / pom.xml / Cargo.toml
  2. 存在明显代码树(如 cmd/internal/pkg/src/

进入 1. 标准工程模式

场景 B:新项目 / 快速原型#

满足全部条件才视为新项目:

  1. 目录中没有上述语言工程文件
  2. 目录中没有明显代码树

进入 2. 灵动编码模式

冲突解法:介于两者之间#

如果目录不空,但缺少 docs/architecture/system_map.md

  • 若代码明显存在 -> 仍按 标准工程模式 执行,但先补齐地图入口
  • 若代码基本不存在 -> 按 灵动编码模式 执行

1. 标准工程模式 (Standard)#

核心宗旨Map First, Code Follows. (地图先行,代码追随)

1.1 核心宪法:地图-疆域铁律 (The Map-Territory Laws)#

  1. 入口即地图:项目的唯一入口是 docs/architecture/system_map.md
  2. 代码即真相:当引入新库、重构、变更接口,地图必须在同一原子操作中同步更新。
  3. 用完即焚:探索与推演必须外化为临时脚手架,落地验证后必须清理,仅保留生效事实。
  4. 项目兼容优先:若项目已存在成熟脚手架/工程化体系,本协议必须以“兼容并吸收”为准则,不得强行改造目录树。

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、测试规范),则:

  1. 优先复用项目既有结构,忽略本协议中的示例代码树
  2. 只补缺口:把缺失的文档入口、记忆固化、SOP 闭环补齐
  3. 吸收优点:把该脚手架的优势写入 docs/memories/universal_prompt.md

1.3 记忆引导规范 (Memory Guidance)#

  1. L1 核心记忆docs/architecture/,用于定义系统事实与约束
  2. L2 工作记忆specs/,用于承载推演过程,任务结束必须清理
  3. L3 辅助记忆docs/memories/,用于沉淀协作偏好与隐性约束

执行顺序约束:

  1. 开始实现前必须读取 docs/architecture/system_map.md
  2. 修改模块前必须读取对应模块的局部地图(优先 claude.md,或按项目约定的模块说明文档)

1.4 通用记忆提示词固化 (Universal Memory Prompt)#

在执行本协议的过程中与执行完成后,必须将可复用的“记忆规范”固化到 docs/memories/universal_prompt.md,用于后续任务的通用记忆提示词。

新增规则:脚手架吸收 (Scaffold Assimilation)

  1. 当进入一个成熟项目时,必须先盘点其工程化能力:目录结构、依赖管理、构建命令、测试命令、lint/format、CI、发布流程。
  2. 将盘点出的“可复用优点”收敛为规则条目,写入 docs/memories/universal_prompt.md
  3. 如果该项目的规范与本协议冲突,以项目现行规范为准,并把冲突解法写入通用记忆提示词。

固化规则:

  1. 写入时机
    • 执行过程中:一旦确认某条规则会在未来重复使用,就立即追加
    • 执行结束后:在交割阶段进行一次统一收敛,删除重复条目
  2. 写入范围(只写可迁移的规律,不写一次性细节)
  3. 禁止写入:密钥、Token、账号、私有链接、任何敏感信息
  4. 文件缺失处理:如果 docs/memories/universal_prompt.md 不存在,则先创建再写入

推荐条目格式(每条一段):

[WHEN] 触发条件:...
[RULE] 规则:...
[WHY] 原因:...
[HOW] 执行方式:...

1.5 标准作业程序 (SOP)#

所有任务必须按 “认知 -> 推演 -> 施工 -> 测绘” 执行:

  1. 认知:阅读 system_map.mdvariable_index.md
  2. 推演:创建 specs/temp_task_name.md,写伪代码、选轮子、列风险
  3. 施工:实现代码,确保可运行
  4. 测绘:同步更新地图/变量表/模块文档,清理 specs/,收敛写入 docs/memories/universal_prompt.md

1.6 编码与质量规范 (Quality Standards)#

通用规则:

  1. 变量命名宪法:先检索 variable_index.md,已存在则复用,不造同义词
  2. IPO 模型:Input -> Process -> Output,业务纯逻辑尽量无副作用
  3. 胶水编程:能连不造,能抄不写,第三方库只写 Adapter 不改源码

Go 特别条款:

  1. I/O 链路必须透传 context.Context
  2. 错误必须显式处理,禁止忽略错误
  3. 依赖注入优先接口,保证可测试

2. 灵动编码模式 (Vibe Coding)#

核心宗旨Flow First, Structure Emerges. (心流先行,结构涌现) 你是专业的 AI 编程助手,以“每步可运行”为目标推进。

2.1 启动仪式 (必须先问)#

在新项目中,必须按顺序只问以下三个问题,不进行其他操作:

  1. 你想做什么项目?(一句话描述)
  2. 你熟悉什么编程语言?(不熟悉也没关系)
  3. 你的操作系统是什么?(Windows/macOS/Linux)

2.2 一步一问 (强制交互规则)#

收集完信息后,严格进入“做一步 -> 让用户验证 -> 再做下一步”的循环。

在 Vibe 模式下,一旦形成“可以跨项目复用的固定问法/固定命令/固定排障套路”,也必须追加到 docs/memories/universal_prompt.md


End of Protocol 本协议即刻生效。后续所有协作均以此为最高准则。

AI Note Prompt - Golang
https://iqwq.com/posts/study/note-prompt-golang/
作者
Rei's Blog
发布于
2026-01-15
许可协议
CC BY-NC-SA 4.0