问题不在日志数量
机器人团队很容易积累大量日志,但在故障发生时仍然无法回答三个基本问题:系统看到了什么、做出了什么判断、为什么执行了这个动作。
建立统一的事件语义
- 使用稳定的任务 ID 串联感知、规划和控制事件。
- 同步记录输入摘要、决策结果和关键置信度。
- 区分“系统异常”和“环境超出能力范围”。
- 为重要状态保存轻量快照,支持离线回放。
日志也需要预算
日志不是越多越好。高频传感器数据、结构化事件和人工可读文本应该采用不同的采样、保留和压缩策略。真正的目标是用可控成本保留足够证据。
cpp
if (planner_result.status != Status::OK) {
event.record(class="code-string">"planner_failed", planner_result.reason);
recovery.request(RecoveryMode::SAFE_STOP);
}
从一次复盘开始
选择最近的一次现场故障,列出定位过程中缺失的三条信息。它们通常就是下一版可观测性系统最值得补充的内容。