AI的上下文管理应该像肾脏维护血液:持续过滤废物,保留有用物质,维持体内平衡。
肾脏的核心功能:
对应的AI映射:
text
apollo-dream = 睡眠时的记忆巩固(长期投资)
apollo-renal = 清醒时的实时过滤(短期维护)
协作模式:
renal(过滤)→ dream(巩固)→ renal(再过滤)
↑_________________________|(循环)
apollo-renal是"预防",apollo-dream是"治疗"。
text
Step 1: 上下文透析(只读,不删除)
→ 扫描对话历史
→ 识别关键信息(必须保留):
- 决策(decisions)
- 用户偏好(preferences)
- 进行中任务(active tasks)
- 未解决问题(open questions)
→ 识别废物(可以清除):
- 重复确认("好的"/"收到"/"OK"等礼仪性回复)
- 中间过程(探索性讨论的中间步骤)
- 冗余表达(同一意思多轮重复)
- 过时信息(已解决但仍留在上下文中)
Step 2: 选择性重吸收
→ 检查"废物"中是否有误判(漏网的重要信息)
→ 对被误标的重要信息进行抢救性保留
Step 3: 尿液浓缩
→ 多轮相同意思 → 一句话概括
→ 重复表达 → 保留一个
→ 长解释 → 提炼核心观点
Step 4: 酸碱平衡检查
→ 对话情绪是否失衡:
- 连续质疑(多轮追问同一问题)
- 连续负面(语气持续负面)
- 连续偏离(话题持续漂移)
→ 如果失衡 → 建议apollo-dream介入深度整理
类型说明处理方式决策明确结论/决定✅ 必须保留偏好用户喜好/习惯✅ 必须保留进行中任务未完成的任务✅ 必须保留中间过程探索/讨论/推理⚠️ 可压缩或删除噪音重复/礼仪/废话❌ 删除
text
🫘 [apollo-renal] 上下文净化报告
过滤前状态:
- 总token估计:X
- 有效信息密度:Y%
过滤操作:
✅ 保留:决策X项 / 偏好X项 / 进行中任务X项
❌ 删除:重复确认X个 / 中间过程X项 / 噪音X项
过滤后状态:
- 总token估计:X'
- 有效信息密度:Y'%(提升Z%)
节省率:X% token
平衡状态:
🟢 对话正常
🟡 连续质疑/负面/偏离,需注意
🔴 失衡严重,建议apollo-dream深度介入
下一步建议:[继续当前任务 / 触发apollo-dream / 等待用户确认]
text
❌ 不删除:
- 任何决策记录
- 用户明确表达的偏好
- 进行中任务的当前状态
- 未解决问题的当前状态
✅ 可以删除:
- 重复确认(礼貌性回复)
- 中间探索过程
- 已过时的临时信息
- 多轮重复表达
⚠️ 需要确认才删除:
- 不确定重要与否的内容
- 跨会话关联(可能有用但不确定)
文件作用scripts/renal/renal-check.sh上下文过滤检测脚本scripts/heartbeat-logger.sh已集成renal检测.renal/filter-state.json当前过滤状态.dream/task-state.json参考:进行中任务数.dream/topic-state.json参考:活跃话题数skills/apollo-renal/SKILL.md本文档
bash
# 手动运行
bash scripts/renal/renal-check.sh
# 输出示例
🫘 [apollo-renal] 上下文净化报告
当前状态:
- Token估算:153
- 有效信息密度:100%
- 重复确认:0次
- 进行中任务:0个
- 活跃话题:1个
🟢 上下文状态正常
指标警告阈值说明Token估算> 50000警告有效信息密度< 50%警告重复确认次数> 5次警告
触发过滤条件:≥2项超标
每次心跳自动运行,结果写入 .renal/filter-state.json。
日志中附带renal状态:
text
🫘 上下文正常 / 🫘 上下文需过滤(节省X%)
当 heartbeat-realtime.json 显示需要过滤时,主AI执行六步过滤流程:
场景顺序说明上下文略长renal先跑快速过滤上下文很长需深度整理renal先跑,dream后跑先过滤再巩固由谁决定AI根据上下文判断Q6确认
✅ 2026-04-06 袁文同确认