---
title: [[归档空洞根因与修复_20260804]]
tags: [归档, IMA, 架构缺陷, 教训, 质量]
created: 2026-08-04
status: active
---

# 归档空洞根因与修复（2026-08-04）

## 事件
用户对比牧马人IMA归档与富贵IMA归档，批评"你就是垃圾""越来越差，质量下滑，内容空洞"。

## 根因（架构缺陷）
**归档动作发生在AI判断层之前。**

```
旧架构（有缺陷）：
数据脚本 → archive_report.sh → enhance_report.py(固定6段模板,max_tokens=1024)
                              → 归档IMA = 空洞模板 ⚠️
                              → stdout注入AI prompt → AI写完整报告 → 只投递QQ ❌不进IMA

结果：IMA里全是enhance模板（总览/数据/证伪/发现/操作/明日六段式空话），
      QQ里才是带昨日对照/结构性发现/可执行闭环/数据缺口的真判断。
      用户看IMA对比牧马人 → 垃圾。
```

关键对比（8/3收盘扫描）：
- 牧马人午间扫描 7095字节：全市场扫描表/早盘预判逐条验证/10:30门禁/60日分位标的表/三段式判断/能力蒸馏
- 富贵午盘归档 1814字节：六段式模板空话

## 修复（2026-08-04）
```
新架构：
数据脚本 → archive_report.sh --no-enhance（只归档原始数据快照，标题加_数据层）
cron AI层 → 写完整报告 → 归档IMA(_完整版) + 投递QQ（同一份内容）
```

改动清单：
1. 9个数据脚本（midday/a_group/b_group/close_scan/full_analysis/morning_prep/open_pattern_sense/sunday_mainforce/weekly_review）归档调用加 `--no-enhance`，标题加 `_数据层`
2. 10个LLM报告cron prompt末尾注入「归档IMA（强制）」段：AI写完报告后
   `cat > /tmp/<报告名>_$(date +%Y%m%d).md << 'REPORT_EOF' ... REPORT_EOF`
   `upload_stdin_to_ima.sh "<报告名>_$(date +%Y%m%d)_完整版" < 该文件`
3. 验证标准：上传返回 media_id 才算成功；失败在报告末尾标注"⚠️ 归档失败"

## 防复发
- 每次改动归档链路后，必须真实上传一次并拿到 media_id
- 用户对比标准 = IMA归档 ≈ QQ投递（同一份完整报告）
- enhance_report.py 只作数据层兜底，不再当判断层
- 判断层质量标准：牧马人式（数据头/全市场/验证对照/门禁/标的表/蒸馏）
