AGENTS.md@src/host/prompts · diff
git:20260922.cf8e5a9 to git:20260923.4575b13
10 added, 43 removed. Audit A to A.
# Prompts Module Rules
- ## 适用范围
-
- 适用于 `src/host/prompts/`。本文件定义提示词组装模块特有的治理边界与修改规则;**提示词文案、语言政策与文案写作规范以同目录 `README.md` 为准,本文件不重复**,通用规范遵循根 `AGENTS.md`。
-
- 本文件描述稳定治理原则,不是当前源码结构说明。除非模块边界或输出契约变化,否则不因文件移动、重命名或内部重构而修改。
+ ## 范围与职责
- ## 核心职责
+ 适用于 `src/host/prompts/`。**提示词编写规范以同目录 `README.md` 为准**,只在需要编写或修改提示词内容时读取 README.md。
- 作为全插件提示词组装的**唯一基线**:把编排事实(图、节点、连线、运行态、组织预算)与稳定模板结构组装成注入给模型的文本——父代理指令、子代理任务块、协作清单、规划提示词、运行期通知。
+ 作为全插件提示词组装的**唯一基线**:把编排事实与稳定模板结构组装成注入给模型的文本——父代理指令、子代理任务块、协作清单、规划提示词、运行期通知。
判断归属:该修改是否改变「注入给模型的文本如何由事实组装」?若是纯粹的 Agent 语义判断、工具 Schema / 可见性、或运行态事实(状态、锁、生命周期),应放到对应模块。
- ## 非职责
-
- - 不做模型语义判断与运行态决策(属 agent / orchestrator);
- - 不注册工具、不定义工具 Schema 与工具 description(属 tools);
- - 不读运行时状态、存储、设置、文件或时钟——构建器只接收调用方传入的事实与动态值;
- - 不依赖 orchestrator / agent / tools / storage / api / service / scheduler:本模块处于依赖链末端。
-
- ## 公共边界
-
- - 模块外只能从模块**公共入口**导入;内部文件之间使用相对路径,不得反向导入公共入口(避免 barrel 循环)。
- - 公共入口只公开外部真实消费的契约:构建器、段落锚点、约束常量、入参类型。仅供模块内部使用的措辞与渲染 helper 不得进入公共入口,也不得为「看起来完整」扩大导出面。
- - 新增对外可见的构建器或契约常量,必须在同一变更中进入公共入口。
-
- ## 输出契约
-
- - **提示词文本即模型输入契约**:改动模板正文或段落顺序属于行为变化,必须记录「旧行为 → 新行为 → 原因 → 影响范围 → 测试变化」。
- - 段落稳定与关键约束双位的口径见 `README.md`;因此结构治理必须能证明「输出逐字节不变」后才能提交,纯重构不得夹带文案变化。
- - 共享措辞、共享段落锚点、共享约束句必须有单一来源;禁止在某个构建器内复制另一个构建器的模板正文或约束句。
- - 不同画布形态 / 阶段的变体共享同一段落结构,差异只允许是身份措辞与已声明的差异条目,禁止为个别变体复制整份模板。
-
## 组装与依赖
- 构建器是纯计算:入参即全部输入,同入参必同输出;图推导、节点上下文、预算口径等事实由调用方或本模块的纯计算提供,构建器不自行读图、读盘、读设置。
- - 动态值只允许出现在末段;不得把不稳定内容(时间、id、随机值)注入稳定前缀。
+ - 动态值只允许出现在末段;不得把不稳定内容注入稳定前缀。
- ## 测试归属
+ ## 测试补充
- - 单模块测试归属本模块对应的测试位置;跨模块真实协作(编排器 + 提示词 + 运行态)的断言归 `tests/integration/`。
- 断言只引用导出的约束常量与段落锚点,不硬编码提示词正文文案:文案修订不应破坏基线测试。
- - 文案或结构变更必须同步更新基线测试;禁止通过放宽断言掩盖输出变化。
-
- ## 修改前确认
-
- 1. 这是模板结构 / 组装逻辑,还是文案润色?
- 2. 是否改变注入给模型的实际文本(行为变化)?
- 3. 是否同步了公共入口、调用方、测试与 `README.md`?
- 4. 是否引入了对外部运行时模块的依赖(本模块必须保持末端)?
+ - 结构变更必须同步更新基线测试;禁止通过放宽断言掩盖输出变化。
## 核心原则
1. 提示词基线单一来源;文案规范以 `README.md` 为准。
- 2. 公共边界显式:模块外只走公共入口,入口只公开真实契约。
- 3. 输出即契约:结构可重构,但字节必须可证不变。
- 4. 纯函数:无时钟、无随机、无 IO、无隐式全局状态。
- 5. 共享措辞与锚点单一源,变体之间不复制模板。
- 6. 处于依赖链末端,不反向依赖运行时模块。
+ 2. 输出即契约:结构可重构,但字节必须可证不变。
+ 3. 纯函数:无时钟、无随机、无 IO、无隐式全局状态。
+ 4. 共享措辞与锚点单一源,变体之间不复制模板。
+ 5. 处于依赖链末端,不反向依赖运行时模块。