ai_member_xiaokui/memory/2026-05-21.md
2026-05-22 08:10:01 +08:00

125 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-05-21 工作日志
## P0 实时检测与推送 [刘新玉需求]
### 背景
- 原有两个每分钟 crontab 任务已被注释5/11因为每次全量重跑浪费资源且 P0 会重复推送
- 刘新玉要求做真正的增量 P0 实时分发
### 完成事项
1. ✅ 新建 `scripts/detect_p0_realtime.py`~200行
- 复用 `sync_feishu_feedback.py` 的聚类逻辑 + `priority_classifier.py` 的优先级判定
- 查询最近 2 小时消息 → 聚类 → 判定 P0 → 去重(簇签名 MD5→ 推送
- 去重状态存在 `tmp/p0_dispatched_state.json`24 小时自动过期
- 每天 10:00-10:01 自动清空去重,配合全量分发
2. ✅ crontab 每分钟执行:`* * * * * python3 detect_p0_realtime.py`
3. ✅ 步骤 4-6 不做每分钟恢复(增量改造成本高,日汇总实时性需求弱)
### AI 归纳流程修复 [刘新玉需求]
### 背景
- 5/15 问题描述出现严重退化:问题一变成"可以在这里Po问题"(元指令文本),问题二变成"图片 (1/1)"
- 根因:(1) 关键词模式只能覆盖约 8 类症状,不匹配时退化到首条消息原文 (2) AI 归纳靠心跳触发5/15 当天漏执行
### 完成事项
1. ✅ 新建 `scripts/ai_summarize_feedback.py`
- 读取 `cluster_context_{date}.json`,调用 DeepSeek APIdeepseek-v4-pro生成精炼问题描述
- 保存 `ai_descriptions_{date}.json` → 调用 `--apply-ai` 回写到知识库
- 回写后自动清理 context 文件
2. ✅ crontab 每天 10:05 执行(在 10:00 全量同步之后)
3. ✅ HEARTBEAT.md 移除 AI 归纳任务(已由 crontab 接管)
4. ✅ 扩展 `generate_problem_description()` 关键词覆盖:
- 新增:语音识别/判分、内容/命名缺失、后台弹窗残留、网络/VPN、热更/打包/测试包
- 新增:后台加载场景识别
- 5/15 验证:问题一从"可以在这里Po问题"→"语音识别不准确(对话表达,只识别成错误内容)";问题二从"图片 (1/1)"→"后台加载提示/弹窗未自动消失,持续显示 需确认是否因 VPN/网络代理导致"
5. ✅ 未启用步骤 4-6 每分钟执行(理由同刘新玉确认)
### 调度总览(更新后)
```
每 5 分钟 → 群消息同步入 MySQL
每分钟 → P0 实时检测 + 增量推送
每分钟 → 反馈数据实时导出到表格
每天 10:00 → 全量七步处理 + 全量分发
每天 10:05 → AI 归纳DeepSeek 生成描述 → 回写文档)
```
# 2026-05-21 工作日志
## P0 实时检测与推送 [刘新玉需求]
### 背景
- 原有两个每分钟 crontab 任务已被注释5/11因为每次全量重跑浪费资源且 P0 会重复推送
- 刘新玉要求做真正的增量 P0 实时分发
### 完成事项
1. ✅ 新建 `scripts/detect_p0_realtime.py`~200行
- 复用 `sync_feishu_feedback.py` 的聚类逻辑 + `priority_classifier.py` 的优先级判定
- 查询最近 2 小时消息 → 聚类 → 判定 P0 → 去重(簇签名 MD5→ 推送
- 去重状态存在 `tmp/p0_dispatched_state.json`24 小时自动过期
- 每天 10:00-10:01 自动清空去重,配合全量分发
2. ✅ crontab 每分钟执行:`* * * * * python3 detect_p0_realtime.py`
3. ✅ 步骤 4-6 不做每分钟恢复(增量改造成本高,日汇总实时性需求弱)
### AI 归纳流程修复 [刘新玉需求]
### 背景
- 5/15 问题描述出现严重退化:问题一变成"可以在这里Po问题"(元指令文本),问题二变成"图片 (1/1)"
- 根因:(1) 关键词模式只能覆盖约 8 类症状,不匹配时退化到首条消息原文 (2) AI 归纳靠心跳触发5/15 当天漏执行
### 完成事项
1. ✅ 新建 `scripts/ai_summarize_feedback.py`
- 读取 `cluster_context_{date}.json`,调用 DeepSeek APIdeepseek-v4-pro生成精炼问题描述
- 保存 `ai_descriptions_{date}.json` → 调用 `--apply-ai` 回写到知识库
- 回写后自动清理 context 文件
2. ✅ crontab 每天 10:05 执行(在 10:00 全量同步之后)
3. ✅ HEARTBEAT.md 移除 AI 归纳任务(已由 crontab 接管)
4. ✅ 扩展 `generate_problem_description()` 关键词覆盖:
- 新增:语音识别/判分、内容/命名缺失、后台弹窗残留、网络/VPN、热更/打包/测试包
- 新增:后台加载场景识别
- 5/15 验证:问题一从"可以在这里Po问题"→"语音识别不准确(对话表达,只识别成错误内容)";问题二从"图片 (1/1)"→"后台加载提示/弹窗未自动消失,持续显示 需确认是否因 VPN/网络代理导致"
5. ✅ 未启用步骤 4-6 每分钟执行(理由同刘新玉确认)
### 调度总览(更新后)
```
每 5 分钟 → 群消息同步入 MySQL
每分钟 → P0 实时检测 + 增量推送
每分钟 → 反馈数据实时导出到表格
每天 10:00 → 全量七步处理 + 全量分发
每天 10:05 → AI 归纳DeepSeek 生成描述 → 回写文档)
```
---
## 历史数据回写2026-05-11 ~ 2026-05-19[刘新玉需求]
### 需求
- 刘新玉要求回写 5/11~5/19 共 9 天的"问题描述"为 AI 归纳版本,验证效果
### 工具
- 新建 `scripts/backfill_ai_descriptions.py`循环处理多天读MySQL→聚类→DeepSeek生成描述→覆盖写入知识库子文档
- 包含 AI 失败回退机制:空描述/无意义输出自动回退到关键词 `generate_problem_description`
### 结果
| 日期 | 问题数 | AI 归纳质量 |
|------|--------|------------|
| 5/11 | 2个(P1+P2) | ✅ Spine动画屏幕适配、U级别显示数字 |
| 5/12 | 3个(P0+P2) | ✅ Hotfix卡加载、关卡场景物丢失 |
| 5/13 | 2个(P2) | ✅ 单元名显示问号占位 |
| 5/14 | 1个(P2) | ✅ AI正确识别为无实质问题 |
| 5/15 | 2个(P2) | ✅ 语音识别"a bee"→"a b"、后台加载提示不消失 |
| 5/16-17 | 无消息 | 周末 |
| 5/18 | 1个(P0) | ✅ 热更后无法进入测试包 |
| 5/19 | 2个(P2) | ✅ 图片多选数量不匹配、配置URL报错 |
### 关键发现
- **5/15 对比**:关键词版吐出"可以在这里Po问题"AI版准确归纳为「"a bee"被语音识别成"a b"」和「后台加载提示持续显示无法消失」
- **5/14**AI正确识别当天无实质问题闲聊/确认类消息),未强行生成描述
- **AI 偶尔失败需 fallback**5/12有一个簇 AI 返回空成功回退到关键词生成「【频繁】移动端关卡4-28内应用无法打开疑似网络/VPN导致」
### 文件清单(本次新建/修改)
```
scripts/ai_summarize_feedback.py # 日常 AI 归纳脚本crontab 用)
scripts/backfill_ai_descriptions.py # 批量回写脚本
skills/feishu-feedback-sync/scripts/sync_feishu_feedback.py # 关键词覆盖扩展
HEARTBEAT.md # 移除 AI 归纳心跳任务
```