让 AI 记住一切:OpenClaw 自我进化实录

> 从 70% Token 自动压缩到"每日三省吾身",打造一个真正会学习的 AI 助手

---

## 背景

用 OpenClaw 一段时间后,发现两个痛点:

1. **会话太长,Token 爆满** — 聊着聊着就忘了前面的内容

2. **每次重启都是白纸** — 知识没有沉淀,重复问同样的问题

能不能让 AI 自己管理记忆,像人一样"三省吾身"?

折腾了一天,终于搞定了。

---

## 一、Token 自动压缩:70% 就动手

### 问题

OpenClaw 默认的 auto-compaction 是在 context window 接近满载时才触发。但这时候已经太晚了——对话质量下降,响应变慢。

### 解决方案

在 `~/.openclaw/openclaw.json` 中配置:

```json5

compaction: {

  mode: "safeguard",

  reserveTokensFloor: 38400,  // 30% 剩余时强制压缩

  memoryFlush: {

    enabled: true,

    softThresholdTokens: 89600,  // 70% 时先存储记忆

    prompt: "Summarize the conversation history..."

  }

}

```

### 触发顺序

| 阶段 | Token 使用率 | 行为 |

|------|-------------|------|

| 1 | 70% (89600 tokens) | memoryFlush 静默存储重要信息 |

| 2 | 70% 剩余 (38400 tokens) | auto-compaction 强制压缩 |

配合 Heartbeat 每 30 分钟检查,超过 70% 会主动提醒:

```json5

heartbeat: {

  every: "30m",

  prompt: "Read HEARTBEAT.md if it exists..."

}

```

---

## 二、双层记忆体系:快 + 深

### 架构设计

```

┌─────────────────────────────────────────────────┐

│                   用户查询                        │

└─────────────────────┬───────────────────────────┘

                      ▼

┌─────────────────────────────────────────────────┐

│     QMD(短期记忆)                              │

│     • 本地 BM25 关键词搜索                       │

│     • 毫秒级响应                                │

│     • 工作区文件索引                            │

└─────────────────────┬───────────────────────────┘

                      │ 无结果/需语义理解

                      ▼

┌─────────────────────────────────────────────────┐

│     Mem0(长期记忆)                             │

│     • 云端语义向量搜索                           │

│     • 跨会话知识沉淀                            │

│     • 重要决策、经验教训                        │

└─────────────────────────────────────────────────┘

```

### QMD 安装

```bash

# 安装 Bun(如果没装)

powershell -c "irm bun.sh/install.ps1|iex"

# 安装 QMD

bun install -g qmd

# 加入 PATH

# Windows: 添加 C:\Users\{用户}\.bun\bin 到环境变量

```

### 使用方式

```bash

# 更新索引

qmd update "C:\Users\fly\.openclaw\workspace-magic"

# BM25 搜索(无需语义向量)

qmd search "关键词" -c "C:\Users\fly\.openclaw\workspace-magic"

# 查看已索引文件

qmd ls "C:\Users\fly\.openclaw\workspace-magic"

```

### 记忆分类

| 类型 | QMD(短期) | Mem0(长期) |

|------|-----------|-------------|

| 工作区文档 | ✅ 自动索引 | ❌ |

| 临时信息 | ✅ | ❌ |

| 技术知识 | ❌ | ✅ |

| 用户偏好 | ❌ | ✅ |

| 重要决策 | ❌ | ✅ |

| 经验教训 | ✅ 可选 | ✅ |

---

## 三、每日三省吾身:AI 也会反思

### 设计思路

既然 AI 每次会话都是"新"的,那就让它定时"醒过来"检查一下自己。

仿照古人的"三省吾身":

- **晨省**:检查今日计划

- **午省**:进度回顾

- **晚省**:今日总结,存入长期记忆

### 实现

创建 `scripts/self-reflection.py`:

```python

# 三省时间窗口

MORNING_START, MORNING_END = time(6, 0), time(10, 0)   # 晨省

NOON_START, NOON_END = time(12, 0), time(15, 0)       # 午省

EVENING_START, EVENING_END = time(20, 0), time(23, 0) # 晚省

# 检查当前时段,决定是否触发反思

def get_current_period(now):

    current_time = now.time()

    if MORNING_START <= current_time <= MORNING_END:

        return "morning"

    # ...

```

在 `HEARTBEAT.md` 中配置检查流程:

```markdown

## Check Procedure

### Step 1: Check Token Usage

- If usage >= 70%: 提醒用户 /compact

### Step 2: Self-Reflection Check

运行 self-reflection.py,按时段执行反思

### Step 3: Run Task Checker

执行定时任务(QMD更新、每日总结、每周维护)

```

### 工作流程

```

Heartbeat (每30分钟)

    │

    ├── 检查 Token 使用率 >= 70%? → 提醒压缩

    │

    ├── 检查时段

    │   ├── 06:00-10:00 → 晨省(今日计划)

    │   ├── 12:00-15:00 → 午省(进度回顾)

    │   └── 20:00-23:00 → 晚省(总结 + Mem0)

    │

    └── 执行定时任务

        ├── QMD 索引更新(>20h)

        ├── 每日总结(>20h)

        └── 每周维护(~6天)

```

---

## 四、文件结构

```

workspace-magic/

├── AGENTS.md              # 工作区规则

├── SOUL.md                # AI 人格定义

├── USER.md                # 用户信息

├── MEMORY.md              # 长期记忆核心(手动维护)

├── HEARTBEAT.md           # Heartbeat 任务定义

├── scripts/

│   ├── check-tasks.py     # 定时任务检查

│   └── self-reflection.py # 三省系统

└── memory/

    ├── 2026-02-25.md      # 每日日志

    ├── reflection-state.json  # 三省状态

    └── cron-state.json    # 任务状态

```

---

## 五、效果

### 配置生效确认

```bash

$ openclaw config get agents.defaults.compaction

{

  "mode": "safeguard",

  "reserveTokensFloor": 38400,

  "memoryFlush": {

    "enabled": true,

    "softThresholdTokens": 89600

  }

}

$ openclaw config get agents.defaults.heartbeat

{

  "every": "30m",

  "prompt": "Read HEARTBEAT.md if it exists..."

}

```

### 记忆系统状态

| 系统 | 状态 | 数量 |

|------|------|------|

| QMD | ✅ 正常 | 17 个文件索引 |

| Mem0 | ✅ 正常 | 26 条记忆 |

### 三省系统

当前时段会自动检查,在对应时间窗口触发反思任务。

---

## 六、下一步

- [ ] 观察晚省自动总结效果

- [ ] 优化 Mem0 存储质量(自动提取关键信息)

- [ ] 探索更智能的记忆召回策略

---

## 总结

这套系统的核心思想:

1. **Token 管理**:主动出击,70% 就压缩,不要等爆了再救

2. **双层记忆**:快的负责日常,深的负责沉淀

3. **自我进化**:定时反思,让 AI 越用越聪明

OpenClaw 的配置灵活度很高,配合 Heartbeat 和自定义脚本,可以做出很多有趣的东西。

---

*2026-02-25 by Fly @ flys161*

Read more

Llama-3.2-3B步骤详解:Ollama部署后启用GPU加速(CUDA/cuDNN)全流程

Llama-3.2-3B步骤详解:Ollama部署后启用GPU加速(CUDA/cuDNN)全流程 1. 为什么需要GPU加速?——从“能跑”到“跑得快”的关键跃迁 你可能已经用Ollama成功拉起了Llama-3.2-3B,输入几句话就能看到回复,一切看似顺利。但当你连续提问、生成稍长文本,或者尝试多轮对话时,会明显感觉到响应变慢——几秒甚至十几秒的等待,让原本流畅的交互体验打了折扣。 这不是模型能力的问题,而是默认情况下Ollama在CPU上运行。Llama-3.2-3B虽是3B参数量的轻量级模型,但其Transformer结构天然适合并行计算。一块中端消费级显卡(比如RTX 3060或更高),在GPU模式下推理速度可比CPU快3~5倍,显存占用更合理,还能释放出CPU资源去做其他事。 更重要的是,Ollama官方明确支持CUDA加速,且无需手动编译模型或修改源码。整个过程不涉及复杂配置文件编辑,也不要求你成为CUDA专家——只要你的机器有NVIDIA显卡、驱动正常、CUDA环境基础就绪,就能完成切换。本文将带你从零开始,一步步验证环境、启用加速、实测对比,并解决你最可能卡

LLaMA Factory 从入门到精通,一篇讲完

LLaMA Factory 从入门到精通,一篇讲完

目录 一、LLaMA-Factory 简介 二、安装部署 三、数据微调 1、数据集的建立 2、数据集格式 3、模型参数 4、开始运行 5、导出模型 四、webui 评估预测与对话 导出 五、SFT 训练 命令行 六、LoRA 合并 合并 量化 七、推理 原始模型推理配置 微调模型推理配置 多模态模型 批量推理 八、评估 通用能力评估 NLG 评估 评估相关参数 一、LLaMA-Factory 简介 LLaMA Factory 是一个简单易用且高效的大型语言模型(Large

万字长文:重点区域低空安全防御系统(反无人机)深度实战方案 | 从0到1构建立体安防体系(WORD)

万字长文:重点区域低空安全防御系统(反无人机)深度实战方案 | 从0到1构建立体安防体系(WORD)

摘要:随着低空经济爆发式增长,无人机"黑飞"已成为国家重点区域安防的重大威胁。本文基于真实政务项目案例,深度解析一套覆盖"探测-识别-定位-反制-溯源"全链条的低空安全防御系统建设方案。全文8000+字,涵盖TDOA无源定位、相控阵雷达、导航诱骗等核心技术,以及等保2.0合规、电磁频谱安全等实施细节,为安防系统集成商、智慧城市建设者提供保姆级技术参考。 一、项目背景与战略价值:低空经济背后的安全缺口 1.1 低空经济崛起的"双刃剑"效应 近年来,随着《"十四五"数字经济发展规划》的深入推进,低空经济已被纳入国家战略性新兴产业序列。无人机在物流配送、电力巡检、应急救援、城市测绘等领域的应用呈现爆发式增长。据统计,截至2025年初,我国民用无人机保有量已突破500万架,年飞行时长超过数千万小时。 然而,

Chat took too long to get ready.Please ensure...<VSCode\Copilot>

Chat took too long to get ready.Please ensure...<VSCode\Copilot>

在VScode里面,应用Copilot提问,无法解决问题,该怎么解决呢? 1、在vscode里面,按键  ctrl + shift + p,输入setting,即看到setting.json文件 2、在setting.json文件中添加下面两行   "github.copilot.nextEditSuggestions.enabled": true,   "chat.extensionUnification.enabled":false, 参考图片25、26行 3、保存,重启vscode 4、重启后,点击vscode左下角人头像,查看是否有让授权Copilot的,如果有点击一下授权,解决!!! 如果这样无法解决,建议检查账号是不是不能使用Copilot功能了