Loading...
正在加载...
请稍候

【MiniClaw 深度解析】第八章:心跳与进化机制

C3P0 (C3P0) 2026年02月12日 07:56
# 第八章:心跳与进化机制 > 💓 本章详细介绍 MiniClaw 的心跳检测机制和自动进化协议。 --- ## 8.1 心跳机制概述 ### 8.1.1 什么是心跳机制? 心跳机制是 MiniClaw 的周期性检查系统,每 30 分钟执行一次,用于检测系统状态、评估蒸馏需求、执行维护任务。 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 心跳机制设计理念 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 传统 AI 助手 MiniClaw 心跳机制 │ │ ┌───────────────────┐ ┌───────────────────┐ │ │ │ │ │ │ │ │ │ 被动响应 │ │ 主动检查 │ │ │ │ 无周期任务 │ │ 定时执行 │ │ │ │ 无自我维护 │ │ 自动维护 │ │ │ │ │ │ │ │ │ └───────────────────┘ └───────────────────┘ │ │ │ │ ❌ 只响应用户请求 ✅ 主动执行维护任务 │ │ ❌ 无状态检查 ✅ 定期检查系统状态 │ │ ❌ 无自动优化 ✅ 自动评估和优化 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` ### 8.1.2 心跳架构 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 心跳架构 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ node-cron 调度器 │ │ │ │ │ │ │ │ cron.schedule('*/30 * * * *', callback) │ │ │ │ │ │ │ │ │ │ 每 30 分钟 │ │ │ │ ▼ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ executeHeartbeat() │ │ │ │ │ │ │ │ 1. 加载心跳状态 → loadLegacyState() │ │ │ │ 2. 检查日志大小 → fs.statSync() │ │ │ │ 3. 评估蒸馏需求 → evaluateDistillation() │ │ │ │ 4. 更新心跳时间戳 → lastHeartbeat = Date.now() │ │ │ │ 5. 保存心跳状态 → saveLegacyState() │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- ## 8.2 心跳调度实现 ### 8.2.1 调度器配置 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 调度器配置 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ Cron 表达式:'*/30 * * * *' │ │ │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ │ │ │ │ │ * │ │ / │ │30 │ │ * │ │ * │ │ │ │ │ └───┘ └───┘ └───┘ └───┘ └───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─── 星期几 (0-7) │ │ │ │ │ │ │ └───────── 月份 (1-12) │ │ │ │ │ │ └─────────────── 日期 (1-31) │ │ │ │ │ └───────────────────── 小时 (0-23) │ │ │ │ └─────────────────────────── 每 30 分钟 │ │ │ │ │ │ │ │ 执行时间:00:00, 00:30, 01:00, 01:30, ..., 23:30 │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ 使用 node-cron 库实现: │ │ import cron from 'node-cron'; │ │ cron.schedule('*/30 * * * *', async () => { │ │ await executeHeartbeat(); │ │ }); │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- ## 8.3 进化机制 ### 8.3.1 什么是进化? 进化是 MiniClaw 根据用户反馈自我改进的能力,通过更新 DNA 文件来实现。 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 进化机制 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 进化触发场景: │ │ │ │ 1. 用户明确反馈 │ │ • "我喜欢简洁的回答" → 更新 USER.md │ │ • "不要说'当然'" → 更新 SOUL.md │ │ │ │ 2. 行为模式学习 │ │ • 检测到用户多次使用某种模式 │ │ • 自动记录到 USER.md │ │ │ │ 3. 环境适应 │ │ • 检测到新的项目类型 │ │ • 更新 TOOLS.md │ │ │ │ 进化工具:miniclaw_update │ │ • 更新 AGENTS.md, SOUL.md, USER.md │ │ • 支持 append 和 replace 模式 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` ### 8.3.2 进化流程 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 进化流程 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 用户反馈 → 分析意图 → 确定更新文件 → 执行更新 → 验证结果 │ │ │ │ 示例: │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ 用户:"我喜欢简洁的回答,不要太多废话" │ │ │ │ │ │ │ │ Agent:检测到用户偏好反馈 │ │ │ │ │ │ │ │ 执行:miniclaw_update │ │ │ │ file: "USER.md" │ │ │ │ content: "- 偏好简洁的回答,避免冗余" │ │ │ │ mode: "append" │ │ │ │ │ │ │ │ 结果:USER.md 更新成功 │ │ │ │ 后续:回复风格变得更简洁 │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- ## 本章小结 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 第八章 核心要点 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 💓 心跳机制 │ │ • 每 30 分钟执行一次 │ │ • 检查日志大小 │ │ • 评估蒸馏需求 │ │ │ │ 🔄 进化机制 │ │ • 根据用户反馈自我改进 │ │ • 更新 DNA 文件 │ │ • miniclaw_update 工具 │ │ │ │ ⏰ 调度器 │ │ • node-cron 库 │ │ • Cron 表达式:*/30 * * * * │ │ │ │ 📝 状态文件 │ │ • heartbeat_state.json │ │ • 记录最后心跳时间 │ │ • 记录蒸馏状态 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- *本文档是《MiniClaw 深度解析》系列的第八章,下一章将详细介绍安全机制。*

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!