项目问题与排查¶
这里整理 goagent 与 incense-capability 开发记录里的 21 个问题案例。大部分是真实事故,按"现象—排查—根因—修复—验证"记;也保留了几个评测数据、回放统计和方案讨论的案例,它们没有造成事故,正文会标明性质。涉及内部业务的细节已匿名化,请求标识、内部地址和配置不公开。
goagent¶
检索与证据:
| 案例 | 性质 |
|---|---|
| 向量检索静默失效:存量向量与查询向量不在同一空间 | 事故。分路评测暴露 recall@5 5.9%,重嵌对照证明存量向量等于随机噪声 |
| 向量查询在事务里静默失败,服务长期只返回词法结果 | 事故。参数设置语句不接受占位符,向量分支失效无报错 |
| 展示预览被当作回答证据:关键限制条件被截断 | 事故。220 字展示字段被注入最终提示,回答漏掉限制条件 |
模型、工具与错误处理:
| 案例 | 性质 |
|---|---|
| 规划输出被截断,半截内部协议直接显示给用户 | 事故(历史架构)。规划与正文共用一次短预算调用 |
| 路径输入错误被映射为内部故障,整轮任务终止 | 事故。可修正的输入错误被 HTTP 边界归成系统故障 |
| 后端拒绝被解包成未捕获异常,模型失去修正机会 | 探针评测发现,修复未闭合,按当时报告保留 |
| 健康检查通过,代理要调用的入口却不存在 | 联调事故。测试装配与默认应用不是同一套入口 |
持久化、界面与评测:
| 案例 | 性质 |
|---|---|
| 消息与完成标记分开提交,失败回合的消息进入下一轮历史 | 事故。两步写入没有原子边界 |
| 流式增量没被最终答案替换,界面停在中间 JSON | 界面事故。完成事件未更新展示 |
| 失败请求提前返回,评测报告漏记已经消耗的用量 | 评测缺陷。失败分支在读取快照前返回 |
incense-capability¶
任务状态与恢复:
| 案例 | 性质 |
|---|---|
| 等待补充状态前后端口径不一致,任务卡死 | 事故。两层各自合理的状态判断叠成死锁 |
| 追问取图依赖已发布报告,失败侧无法恢复图片 | 事故。恢复路径暗含"必有成功报告"的不成立前提 |
输出合同与错误传递:
| 案例 | 性质 |
|---|---|
| 生成结构、产品解析与模型协议不一致:追问三次发布才稳定 | 事故。同一追问在三层各失败一次,三版发布收工 |
| 供应商不支持请求的结构化输出模式,接入请求直接被拒 | 接入故障。实验变体与正式路径分阶段验证 |
| 两个候选都失败,最终错误只剩一个超时 | 事故。超时优先返回覆盖具体异常,降级日志无条件记录 |
| 视觉上游超时穿过两层服务后,变成不可重试的内部错误 | 事故。阶段与可重试语义在跨语言映射中丢失 |
运行环境与评测方法:
| 案例 | 性质 |
|---|---|
| 一次容量检查触发 OOM,网关开始返回 502 | 事故。观测命令本身的资源消耗杀死守护进程 |
| 评测集里的重复图片和混合标注,让视觉准确率失真 | 评测数据问题。样本污染比模型误差更隐蔽 |
| 审计里的 completed 不是业务成功:一次没有修复的排查 | 误判记录。字段语义误解制造出不存在的事故 |
| 多次回放子集不能拼成一次全量通过 | 统计口径。补丁式重跑不能计入通过率分母 |
| 压缩摘要把"已获准发布"扩展成了"可以改保护规则" | 诊断草稿。开发工具长会话的授权偏移,无修复验证 |
怎么读这些记录¶
"修复后通过"只指正文写明的验证范围:接口回归、真实模型请求、页面检查和发布后的运行验证各自证明不同的事,不能互相替代。证据不完整的部分,正文写明停在哪一步。探针发现、诊断草稿和方案讨论都标了性质,它们不等于线上事故,也不等于已交付的能力。
这里收录的是开发记录的一部分。完整的评测报告和审计材料留在本地,没有公开。