配套仓库不是完整生产系统,也不是某个模型的能力演示。它提供三个零外部依赖、离线可运行的参考实现,用确定性桩把本书的工程机制固定下来,方便读者复现、修改和写回归测试。
一、三个停靠点
表 F-1 配套仓库目录与章节映射
| 目录 | 对应形态 | 主要演示 | 关联章节 |
|---|---|---|---|
stops/stop_a/ |
单轮分类器 | 输出契约、失败出口、代码判分、strict k/k | 3、5、19 |
stops/stop_b/ |
有据可查的问答 | 检索、引用核验、无命中出口 | 7、20 |
stops/stop_c/ |
多轮业务闭环的确定性内核 | 证据、事件、归并、七态槽位、闸门、策略、不变量、执行账本、观测三态、验证与提交 | 9—18、24 |
三个目录是完整形态的最小参考,不是从低到高必须依次部署的产品等级。只需要单轮任务时,停在 A;需要有据问答时,停在 B;只有出现跨轮状态、业务许可或外部副作用时,才考虑 C。
二、运行环境
- Python 3.10 或更高版本;
- 无第三方运行时依赖;
- 默认使用确定性桩,不访问真实模型、真实客户数据或真实业务系统;
- 命令应在仓库根目录执行。
python3 stops/stop_a/run_eval.py
python3 stops/stop_b/run_qa.py
python3 stops/stop_c/demo.py
python3 stops/stop_c/demo.py unknown
python3 stops/stop_c/demo.py failure
python3 stops/stop_c/test_core.py
python3 stops/stop_a/test_grader.py
python3 stops/stop_b/test_enforcer.py
其中 stop_c/test_core.py 当前包含 20 条内核与不变量测试。成功、未知和失败三条演示路径分别验证:
SUCCESS 外部动作有成功回执,才允许完成语与阶段推进
UNKNOWN 副作用可能已发生,进入对账,不自动重试
FAILURE 明确失败,但没有独立重试授权时仍不得自动再试
三、建议阅读顺序
第一次读代码时,不要从 demo.py 一路跟到最后。按职责看更容易:
- 先看枚举与
State,确认槽位状态、流程阶段、控制模式、业务执行状态和执行尝试状态没有混用; - 再看
validate_events()与reduce(),确认“证据 → 事件 → 候选状态”的边界; - 看
submission_gate()与policy(),确认许可计算与动作选择分开; - 看
act_submit_request(),确认先记账、稳定幂等键和观测结果; - 最后看
validate()与commit(),确认完成语门槛、整条否决和版本冲突。
demo.py 把这些组件串成第 24 章的端到端路径;test_core.py 则按正文原则逐条锁住边界。
四、接入真实模型时改哪里
停靠点 C 的 extract() 是规则桩,只演示抽取契约的接口形状。接入真实模型时,替换这一层即可:
自然语言
↓
证据候选 + 事件候选
↓
事件引用与作用域校验
↓
确定性内核
模型输出仍然只是候选;证据引用、字段格式、作用域、闸门、权限、幂等、验证与提交继续由代码负责。不要把真实模型接入理解为“删除桩函数后让模型直接改状态或调用工具”。
五、参考实现的边界
FakeBusinessSystem只用于演示三态回执和幂等,不代表任何真实业务系统的接口语义;- 示例没有账号体系、网络安全、密钥管理、持久化数据库和分布式事务;
- 示例里的字段、阈值与动作是教学最小集,不能直接复制为生产规则;
- 规则桩不能代表任何真实模型的准确率;
- 代码通过不等于系统可上线,仍需完成第 19—23 章的评测、观测、迁移、治理与安全审查。
六、版本、勘误与许可
正式发布时,仓库标签、书稿版本和在线版应使用同一个版本号。勘误入口由书籍首页、在线版和仓库共同指向,不在每章维护不同地址。
配套仓库地址:
https://github.com/prompt2system/book
网站与统一勘误入口:
https://prompt2system.com
仓库把代码许可与内容许可分开:
- 代码采用 MIT License,以
LICENSE-CODE为准; - 书稿与附录采用 CC BY-NC-SA 4.0,以
LICENSE-CONTENT为准; - 引用信息以
CITATION.cff为准,作者署名为邓应来。
发布时仍需检查版本标签、书稿版本号、下载文件和在线版是否一致;这些信息不在不同页面分别维护。