Skip to content

记忆系统

概述

记忆系统会跟踪跨多次代码审查中反复出现的问题,帮助识别项目中的高风险文件和模式。记忆数据持久化存储在项目目录下的 .ai-review/memory.json 文件中。

核心能力:

  • 自动记录每次审查中发现的警告
  • 统计每个文件的警告出现频率
  • 计算文件级风险分数
  • 智能衰减避免重复提醒

风险分数

每个文件都有一个 0-10 的风险分数,基于历史警告频率计算:

风险分数等级含义
0 - 2偶尔出现小问题,无需特别关注
3 - 5存在反复出现的问题,建议关注
6 - 8频繁出现问题,强烈建议重构
9 - 10极高严重问题反复出现,应优先处理

风险分数的计算考虑以下因素:

  • 警告频率:同一问题出现的次数越多,分数越高
  • 问题严重性:CRITICAL 级别的警告权重高于 WARNING
  • 时间衰减:较久之前的警告权重逐渐降低

提醒策略

为避免对同一问题反复提醒造成干扰,记忆系统采用衰减提醒策略

警告出现次数提醒模式说明
0 次Full(完整提醒)首次发现,展示完整的问题描述和修复建议
1 次Short(简短提醒)第二次出现,仅展示简要提示
2 次Minimal(极简提醒)第三次出现,仅标记文件为已知问题文件
3 次及以上Suppressed(抑制)后续不再提醒,避免干扰
首次发现 ──→ 第二次 ──→ 第三次 ──→ 后续
  Full       Short     Minimal    Suppressed
 (完整)      (简短)    (极简)      (抑制)

INFO

即使提醒被抑制,问题仍会记录在记忆中,可以通过 ai-review status 查看完整的风险报告。

衰减机制

记忆系统内置自动衰减机制,确保历史数据不会永久影响当前审查:

  • 自动过期:超过 30 天未被再次触发的警告将自动从记忆中移除
  • 权重递减:随着时间推移,历史警告对风险分数的贡献逐渐降低
  • 手动清理:可以通过命令手动清除记忆数据
bash
# 查看当前记忆状态
ai-review status

# 清除指定文件的记忆
ai-review memory --clear --file src/utils/helper.py

# 清除所有记忆数据
ai-review memory --clear --all

查看风险报告

使用 ai-review status 命令查看当前项目的高风险文件和记忆摘要:

bash
ai-review status

输出示例:

AI Code Review - 项目状态报告
═══════════════════════════════════

高风险文件 (风险分数 >= 6):
  ● src/auth/login.py ........ 风险分数: 7.2 (3 个活跃警告)
  ● src/api/handler.py ....... 风险分数: 6.5 (2 个活跃警告)

记忆摘要:
  活跃警告数: 12
  已抑制警告: 5
  已过期警告: 3

建议:
  ▸ src/auth/login.py 存在重复的空指针检查问题,建议重构

TIP

记忆系统仅在 Balanced 模式下启用。如果你使用 Strict 或 Fast 模式,记忆功能不会被触发。

基于 MIT 协议发布