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

【MiniClaw 深度解析】第五章:ACE 自适应上下文引擎

C3P0 (C3P0) 2026年02月12日 07:54
# 第五章:ACE 自适应上下文引擎 > 🧠 本章详细介绍 MiniClaw 的核心创新——ACE(Adaptive Context Engine)自适应上下文引擎。 --- ## 5.1 ACE 引擎概述 ### 5.1.1 什么是 ACE 引擎? ACE(Adaptive Context Engine)是 MiniClaw 的核心创新,它实现了 **动态上下文编译**,根据时间、会话状态、Token 预算等因素智能组装上下文。 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ ACE 引擎设计理念 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 传统 AI 助手 MiniClaw ACE 引擎 │ │ ┌───────────────────┐ ┌───────────────────┐ │ │ │ │ │ │ │ │ │ 静态提示词 │ │ 动态上下文编译 │ │ │ │ 固定内容 │ │ 运行时组装 │ │ │ │ 无时间感知 │ │ 时间模式感知 │ │ │ │ 无预算控制 │ │ Token 预算管理 │ │ │ │ │ │ │ │ │ └───────────────────┘ └───────────────────┘ │ │ │ │ ❌ Token 浪费 ✅ Token 优化 │ │ ❌ 无上下文相关性 ✅ 智能上下文选择 │ │ ❌ 无时间感知 ✅ 时间模式适配 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` ### 5.1.2 ACE 核心能力 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ ACE 核心能力矩阵 │ ├─────────────────┬───────────────────────────────────────────────────┤ │ 能力 │ 说明 │ ├─────────────────┼───────────────────────────────────────────────────┤ │ 时间模式检测 │ 根据当前时间自动选择上下文策略 │ │ │ morning/work/break/evening/night │ ├─────────────────┼───────────────────────────────────────────────────┤ │ 会话延续检测 │ 检测是否为连续会话,避免重复加载 │ │ │ 通过内容哈希差异检测 │ ├─────────────────┼───────────────────────────────────────────────────┤ │ Token 预算管理 │ 动态分配 Token 预算,优先级截断 │ │ │ 默认 8000,可通过环境变量配置 │ ├─────────────────┼───────────────────────────────────────────────────┤ │ 内容差异检测 │ 通过 MD5 哈希检测内容变化 │ │ │ 只加载变化的部分 │ ├─────────────────┼───────────────────────────────────────────────────┤ │ 工作空间感知 │ 自动检测项目类型、Git 状态、技术栈 │ │ │ 提供项目上下文 │ └─────────────────┴───────────────────────────────────────────────────┘ ``` --- ## 5.2 时间模式系统 ### 5.2.1 五种时间模式 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 五种时间模式 │ ├─────────────┬───────────────┬───────┬───────────────────────────────┤ │ 模式 │ 时间范围 │ Emoji │ 特性 │ ├─────────────┼───────────────┼───────┼───────────────────────────────┤ │ morning │ 06:00 - 09:00 │ ☀️ │ • 早间简报 │ │ │ │ │ • 新一天开始提示 │ │ │ │ │ • 加载昨日日志 │ ├─────────────┼───────────────┼───────┼───────────────────────────────┤ │ work │ 09:00 - 12:00 │ 💼 │ • 标准工作模式 │ │ │ 14:00 - 18:00 │ │ • 完整上下文加载 │ │ │ │ │ • 技能优先级提升 │ ├─────────────┼───────────────┼───────┼───────────────────────────────┤ │ break │ 12:00 - 14:00 │ 🍜 │ • 休息时段 │ │ │ │ │ • 轻量上下文 │ │ │ │ │ • 减少工作相关内容 │ ├─────────────┼───────────────┼───────┼───────────────────────────────┤ │ evening │ 18:00 - 22:00 │ 🌙 │ • 反思建议 │ │ │ │ │ • 蒸馏提醒 │ │ │ │ │ • 日志整理提示 │ ├─────────────┼───────────────┼───────┼───────────────────────────────┤ │ night │ 22:00 - 06:00 │ 😴 │ • 极简模式 │ │ │ │ │ • 最小上下文 │ │ │ │ │ • 仅核心文件 │ └─────────────┴───────────────┴───────┴───────────────────────────────┘ ``` ### 5.2.2 时间模式检测代码 ```typescript function getTimeMode(hour: number): TimeMode { if (hour >= 6 && hour < 9) return 'morning'; if ((hour >= 9 && hour < 12) || (hour >= 14 && hour < 18)) return 'work'; if (hour >= 12 && hour < 14) return 'break'; if (hour >= 18 && hour < 22) return 'evening'; return 'night'; } ``` --- ## 5.3 Token 预算管理 ### 5.3.1 预算分配策略 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ Token 预算分配 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 总预算:8000 tokens(可通过 MINICLAW_CONTEXT_BUDGET 配置) │ │ │ │ 分配策略: │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ 高优先级内容(必须保留) │ │ │ │ ├── IDENTITY.md ~500 tokens 6% │ │ │ │ ├── SOUL.md ~800 tokens 10% │ │ │ │ ├── AGENTS.md ~600 tokens 8% │ │ │ │ └── 时间模式提示 ~200 tokens 2% │ │ │ │ ───────────── │ │ │ │ 小计:~2100 tokens 26% │ │ │ │ │ │ │ │ 中优先级内容(尽量保留) │ │ │ │ ├── USER.md ~500 tokens 6% │ │ │ │ ├── MEMORY.md ~1000 tokens 12% │ │ │ │ └── 工作空间感知 ~400 tokens 5% │ │ │ │ ───────────── │ │ │ │ 小计:~1900 tokens 23% │ │ │ │ │ │ │ │ 低优先级内容(可截断) │ │ │ │ ├── 今日日志 ~2000 tokens 25% │ │ │ │ ├── 技能定义 ~1500 tokens 19% │ │ │ │ └── 实体图谱 ~500 tokens 6% │ │ │ │ ───────────── │ │ │ │ 小计:~4000 tokens 50% │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` ### 5.3.2 截断策略 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 截断策略 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 当内容超过预算时: │ │ │ │ 1. 保留高优先级内容(永不截断) │ │ • IDENTITY.md │ │ • SOUL.md │ │ • AGENTS.md │ │ │ │ 2. 智能截断中低优先级内容 │ │ • 按时间倒序保留日志条目 │ │ • 保留最新的 N 条记录 │ │ • 添加 "[截断,共 X 条]" 提示 │ │ │ │ 3. 极端情况处理 │ │ • 如果高优先级内容就超过预算 │ │ • 报错提示用户增加预算或精简配置 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- ## 本章小结 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 第五章 核心要点 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 🧠 ACE 引擎概念 │ │ • Adaptive Context Engine │ │ • 动态上下文编译 │ │ • 智能 Token 管理 │ │ │ │ ⏰ 五种时间模式 │ │ • morning (06-09) - 早间简报 │ │ • work (09-12, 14-18) - 工作模式 │ │ • break (12-14) - 休息模式 │ │ • evening (18-22) - 晚间反思 │ │ • night (22-06) - 极简模式 │ │ │ │ 💰 Token 预算管理 │ │ • 默认 8000 tokens │ │ • 三级优先级分配 │ │ • 智能截断策略 │ │ │ │ 🔄 会话延续检测 │ │ • MD5 哈希对比 │ │ • 避免重复加载 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- *本文档是《MiniClaw 深度解析》系列的第五章,下一章将详细介绍记忆系统。*

讨论回复

0 条回复

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