5.5 KiB
5.5 KiB
边界合同
本文件是组件职责边界与约束归属的唯一事实源。角色合同、Skill 合同、可视化模块合同和各领域 SoT 从属本文件的边界划分;与各组件相关的字段、流程细节归各自合同,本文件不复制。系统目标链路与作者交互面(创作台五视图)见 创作周期与 Skill 导读 与 可视化模块合同。
1. 组件职责与边界
| 组件 | 职责 | 边界(不做) | 结构 |
|---|---|---|---|
| 主代理 | 理解并润色人的创作意图、确认歧义、把确认后的意图交给智能体;转述智能体报告、向人请求授权(补证/重写/继续) | 不写作、不替智能体设计情节、不承载创作约束、不直接读写库 | 宿主会话(由根 AGENTS.md 约束) |
| 创作智能体(5 个) | 按角色合同生成候选或检查报告;经授权工具自主探索、形成自己的上下文依赖 | 不写库、不推进状态机、不越工具白名单、不裁决自己产出、引用不带来源不落正文 | 角色身份提示 + 中央角色合同 + 任务提示词(三层提示词) |
| Skill | 业务功能合同:适用场景、输入输出 Schema、路由、失败路径与落库要求 | 不持有模型策略、不绕过证据账本、不承载跨业务编排、依赖只向下 | SKILL.md(合同)+ scripts(确定性实现)+ 元数据 |
| 工具 server | 给智能体提供只读取数能力的统一入口 | 只读、不提供裸查询(每工具只暴露声明过的数据范围)、按任务包授权圈定、调用即留痕进事件账本 | 每工具声明:读什么表、什么版本语义、返回什么结构 |
| 脚本编排 | 确定性流程:上下文绑定校验、状态机、落库、CAS、终态收敛 | 不做内容裁决、不拼创作提示词、不隐式无限循环(需要继续时停在授权终态) | 各 Skill 的 scripts 层 |
| 静态校验 | Schema 校验、引文真实性核验、哈希绑定、架构门禁 | 无模型参与;失败即关闭,不重试放宽 | 测试 + 校验脚本 + 数据库约束(触发器、CHECK、CAS) |
| 创作台(看板+决策通道) | 只读渲染库内状态;决策写走唯一决策通道 | 只读看板不拼执行命令、不写库;决策通道不绕过候选状态机 | 独立只读进程 + 独立决策进程 |
2. 约束归属
每类约束只有一个归属,禁止跨层承载;跨层即视为缺陷,须按本表归位。
| 约束类型 | 归属层 | 强制方式 |
|---|---|---|
| 创作意图、工作方法、写作纪律 | 提示词层(agent prompt) | 模型遵守 + 输出抽查(评测) |
| 角色身份、模型策略、合同版本 | 中央角色合同(角色合同.md) | 派发入口机械校验 |
| 数据可访问范围(能读什么) | 工具层(工具 server 白名单) | 框架按任务包机械拒绝 |
| 输入输出格式 | 静态层(schema 校验) | 模型调用前后拒绝 |
| 状态推进、数据库写 | 脚本层 + 数据库约束 | CAS、触发器、事务 |
| 模块依赖、目录纪律 | 架构门禁(测试) | 失败关闭 |
| 业务继续/停止(补证、重写次数) | 主代理向人请求授权 | 授权终态;脚本只保留技术保护(超时、预算、取消) |
判定原则:模型能被说服的用提示词;模型不能碰的用工具白名单;不允许出错的用脚本与静态校验。 主代理不承载任何创作约束,只传递人的意图。
3. 三层提示词结构
智能体收到的提示词由三层组成,来源各不相同:
| 层 | 内容 | 来源 | 维护者 |
|---|---|---|---|
| 系统提示词 | 角色身份、职责、工作方法、探索方法、基本禁区 | .agent/agents/*.md 身份提示 + 角色合同对应章节 |
角色合同 |
| 技能提示词 | 当前任务的工作步骤、取数方法、输出要求 | 对应 Skill 合同 | Skill |
| 任务提示词 | 人确认后的创作意图(主代理润色产物) | 主代理 | 会话 |
角色身份文件可以解释工具和 Skill 路由(Agent 需要知道能力边界才能正确行动),但实际权限由任务包白名单和工具 server 机械强制;两者冲突时以机械强制为准。
4. 探索授权模式
智能体按角色合同获得差异化的探索授权:
- 只读集(规划、写作、检测、抽取):授权范围内自由探索,每次读取留依赖记录。
- 圈定授权(评委):盲评合同要求匿名隔离--禁看候选身份、标准答案(oracle)、目标章全文、其他评委结果;实验场景授权最窄(仅冻结快照),生产预检可放宽到正典检索。
- 无工具(部分批处理角色任务):任务包白名单为空。
同一角色可在不同场景获得不同授权范围;授权由任务包声明,工具 server 执行,不靠提示词自觉。
5. 数据权威与证据
数据库是正式事实唯一权威(见 08-数据权威与可视化领域)。各组件对证据的责任:
- 智能体的每次工具读取、每次模型调用都进事件账本,形成依赖清单(这章/这次检查实际用了哪些资料、什么版本)。
- 脚本编排负责把候选、报告、依赖清单与运行回执绑定落库。
- 创作台的"链路透视"视图直接读库与事件账本,不依赖仓外文件。
- raw 三件套(prompt/response/supplier)与事件账本表结构是既有合同,本合同不重定义。