推理模型与测试时计算开发指南
设计原则
- 可观测:关键路径打点(延迟、错误码、队列长度);
- 可回放:输入、版本、随机种子可复现;
- 可降级:依赖不可用时的明确行为;
- 可评审:变更有对照实验,而不是「感觉更好」。
推荐模块划分
| 模块 | 职责 | 反模式 |
|---|---|---|
| 领域逻辑 | 算法与业务规则 | 把 UI 字符串塞进核心 |
| 适配器 | 对接 CoT 等外部系统 | 到处直接调用 SDK |
| 评测 | 指标与门槛 | 只在笔记本里目测 |
| 发布 | 配置、灰度、回滚 | 手工改生产无记录 |
关键栈触点
本课高频技术点:CoT, PRM, RLHF/RLAIF, GRPO, MCTS/Best-of-N, 自洽性。
实践建议:
- 先读官方「最小示例」,再读本课 Day 对应源码实验;
- 用「对照表」记录:官方默认 vs 你的改动 vs 指标变化;
- 对破坏性变更使用 feature flag。
配置与密钥
- 密钥进环境变量或密钥管理,不进 Git;
- 区分
dev/staging/prod配置; - 七天子站学习数据若仅浏览器本地,清理缓存会丢失——重要结论请外置备份。
测试金字塔(精简版)
| 层级 | 内容 | 频率 |
|---|---|---|
| 单元 | 纯函数、指标计算 | 每次提交 |
| 契约 | API schema、配置校验 | CI |
| 回归 | 黄金集样本 | 每日/发版前 |
| 探索 | 红队/压力/长尾 | 发版窗口 |
日志字段建议
{
"ts": "ISO-8601",
"run_id": "uuid",
"course": "reasoning-models",
"step": "baseline|optimize|verify",
"metrics": {"latency_ms": 12.3},
"git_sha": "abc123"
}
扩展练习
- 为 Day3 主题增加一个对照实验;
- 把指标导出为 CSV 并画趋势;
- 写一份一页纸的「发布检查表」。
下一步
延伸练习与检查表
- 把本页清单复制到团队 Wiki,按周打勾。
- 选一个开源仓库,映射到本文模块表。
- 写 5 条「如果失败会怎样」的演练题并实际跑一次。
- 将指标口径写成 ADR(架构决策记录)短文。
- 与相邻课程(推理/安全/部署)做一次联合对照实验。