上线前的软性检查
这份清单检查“是否准备好了”,不替代接入检查的硬验收。硬验收证明接口和边界按合同工作;软检查确认你把它们放进了真实业务,并且能解释结果从哪里来、失败时退到哪里。
每项都应留下证据:日志、评测结果、配置差异或一次真实调用。没有证据的项目不要标记为完成。
资料与权限
| 检查项 | 需要的证据 | 不通过时 |
|---|---|---|
| 资料目录可加载,空资料有明确状态 | 启动日志或自检结果 | 修加载路径,不把空资料当正常 |
| 文档、章节与块 id 唯一,revision 非空 | 校验输出 | 修数据,不跳过校验 |
| 权限过滤使用可信身份 | 代码路径与一次越权测试 | 在融合或读取前补过滤 |
| 删除与改版会同步清理索引和引用 | 一次删除或改版演练 | 补清理流程,不只改列表 |
配置与版本
| 检查项 | 需要的证据 | 不通过时 |
|---|---|---|
| 生效配置有版本标识并进入日志 | 一条请求日志 | 补标识,不使用“当前配置”这种模糊说法 |
| 资料源与运行副本一致,没有手改运行目录 | 生成或比对结果 | 回到源稿修改并重新生成 |
| 密钥来自环境或密钥服务 | 配置检查 | 移出仓库与资料文件 |
| 模型、embedding 与索引空间标识一致 | 启动自检 | 重建索引或修正配置 |
预算与能力
| 检查项 | 需要的证据 | 不通过时 |
|---|---|---|
| 正常请求不会偶发预算拒绝 | 真实样本的字符统计 | 留余量或分次读取 |
| 超限时明确报错,不静默截断 | 一次超限调用 | 改成拒绝并说明原因 |
| 重试有次数与总期限 | 失败注入结果 | 加边界与退避 |
| 取消后停止后续调用 | 一次取消测试 | 每层检查并传播 signal |
检索与引用
| 检查项 | 需要的证据 | 不通过时 |
|---|---|---|
| 真实问题上的来源命中达到预期 | 小样本评测结果 | 先改切块、词表或章节结构 |
| 没有资料时明确说不知道 | 无答案样本结果 | 修判定与提示边界 |
| 引用指向真实来源且与正文一致 | 抽查回答与来源 | 回源复核 revision 与可见性 |
| 检索失败与“没有资料”分开处理 | 降级日志 | 区分两种状态 |
| 索引更新不会返回已删除内容 | 删除后的一次查询 | 清理索引与缓存,复核可见性 |
失败路径
| 检查项 | 需要的证据 | 不通过时 |
|---|---|---|
| 模型限流、超时、鉴权失败有明确行为 | 失败注入记录 | 补分类与处理策略 |
| 写操作失败可按幂等键核对 | 一次超时演练 | 补幂等键与对账 |
| 依赖不可用时降级或明确失败 | 一次降级演练 | 去掉“假装成功”的兜底 |
| 降级不扩大权限 | 越权路径测试 | 移除绕过校验的分支 |
观测
| 检查项 | 需要的证据 | 不通过时 |
|---|---|---|
| 能定位失败阶段、工具或检索器 | 一条失败日志 | 补字段 |
| 能区分成功、降级、失败与取消 | 四类样本各一条 | 统一结果分类 |
| 日志不含密钥、完整提示词与未脱敏资料 | 抽查日志 | 脱敏或删除字段 |
| 降级与失败有独立统计 | 指标或报表 | 增加计数,而不是只看成功率 |
发布与回滚
| 检查项 | 需要的证据 | 不通过时 |
|---|---|---|
| 发布包含资料、配置与索引的一致版本 | 版本号与构建记录 | 固定版本,不混用 |
| 回滚路径明确且演练过 | 一次回滚步骤 | 补回滚说明与旧版本保留 |
| 新版本不会读取旧版本的不兼容索引 | 启动自检 | 校验 identity 与 indexRevision |
| 变更原因与观察结果有记录 | 变更记录 | 补记录后再发布 |
回归
| 检查项 | 需要的证据 | 不通过时 |
|---|---|---|
| 关键协议与工具选择有离线用例 | 测试结果 | 用 MockGPT 补用例 |
| 失败、取消与预算超限有覆盖 | 测试结果 | 补边界用例 |
| 真实模型效果另行验证 | 人工或在线评测记录 | 不用离线用例替代语义验收 |
结论怎么写
发布结论应包含:本次版本、覆盖的样本、观察到的结果、未验证的部分和剩余风险。不要把“没有发现问题”写成“没有风险”,也不要把离线用例通过写成“语义效果已验证”。
下一步
- 需要硬验收范围:接入检查。
- 需要失败注入方法:MockGPT 离线验证。
- 需要检索评测方法:检索质量评估。