# Night Gym agent_reflections 提取与脱敏质量门禁 ## Reflection Ingest 质量门禁样例 ### Before `input.json` 只有 `user_messages`、`assistant_messages`、`event_messages`。Master 需要从大量日志里猜哪些是 agent 自述瓶颈,容易漏掉“最耗时/最困难”的真实摩擦点。 更糟的是,脱敏正则如果把 `Bearer xxx,后面是瓶颈描述` 一整段吞掉,morning review 会同时失去敏感字段保护的可验证性和 evidence 的完整性。 ### After 新增固定门禁: | 检查项 | 输入样例 | 成功信号 | 失败信号 | |---|---|---|---| | 字段存在 | 任意有效 session | `agent_reflections` 总是数组 | 字段缺失或为 null | | 只提取瓶颈 | `这个像素对比最耗时,应该做诊断工具` | 进入 `agent_reflections` | 被普通进度日志淹没 | | 过滤噪音 | `我现在开始读文件` | 不进入 `agent_reflections` | 普通状态播报被收录 | | 脱敏不截断 | `Bearer sk-test,像素检查很耗时` | 输出 `[REDACTED_SECRET],像素检查很耗时` | 中文逗号后的正文消失 | ### 建议本地验证 ```bash cd ~/Documents/product-bu/tools/night-gym /usr/bin/python3 -m unittest discover -s tests /usr/bin/python3 -m py_compile night_gym/*.py ``` ### 预期收益 这个门禁让 Night Gym 的新闭环从“prompt 约定”升级为“可回归的输入契约”:agent 自述瓶颈会稳定进入 morning review,诊断工具候选有明确结构,脱敏规则也不会破坏 evidence。