首页 / 资讯中心 / 文章详情

Nudge机制深度剖析:让AI代理主动清理上下文的5级提醒带设计

Nudge机制深度剖析:让AI代理主动清理上下文的5级提醒带设计 ★ FEATURED ARTICLE
Nudge机制深度剖析让AI代理主动清理上下文的5级提醒带设计【免费下载链接】magic-contextUnbounded context. Memory that manages itself. One session, for life. The hippocampus for coding agents, part of CortexKit.项目地址: https://gitcode.com/gh_mirrors/mag/magic-contextNudge机制是 magic-contextCortexKit 的编码代理海马体中一套轻量而精准的上下文提醒系统当 AI 代理的会话尾部堆积了大量可用完即弃的内容时它会分级提醒代理主动调用ctx_reduce工具清理上下文从而在自动回收reclaim或强制回收带触发之前由代理自己动手腾出空间。本文将拆解这套5 级提醒带quiet → gentle → firm → urgent → Channel 2的完整设计帮你理解它如何用恰到好处的一推解决 AI 代理上下文膨胀的难题。Nudge 是什么为什么 AI 代理需要被提醒AI 代理在长任务中会调用大量工具读文件、跑命令、搜索代码这些工具输出会不断堆积在会话上下文的尾部。内容本身无害但问题在于很多输出已经被代理用完了却一直占着 token 额度。传统做法是系统强制裁剪但这可能误伤还有用的内容。magic-context 选择了更优雅的思路不替你删而是提醒你删 —— Nudge 告诉代理你的尾部已经堆了多少可丢弃内容让代理自己决定清理哪些。这套机制的完整设计文档在 docs/architecture/nudges.md核心代码分布在能级计算与决策ctx-reduce-nudge.ts{U, T}尾部测量tail-hygiene-walk.tsRust 模块的能级分类tail_hygiene.rs核心测量指标{U, T} 两个数字Nudge 的每个通道都只读同一份对渲染后尾部的测量结果{U, T}符号含义T尾部合格内容总量非合成的文本、工具输入/输出、文件块UT 中代理还能丢弃的部分活跃的、带标签且不在保护窗口内的内容几个关键细节让测量很干净 推理reasoning、签名、已丢弃的骨架、以及 Channel 1 自己的提醒文案都不计入️ 最近的 3 次ctx_reduce调用计入 T 但不计入 U系统永远给代理保留工具使用范例; 质量单位是校准过的 provider token侧边栏和/ctx-status读的是同一份基线所见即所得。5级提醒带从 quiet 到 Channel 2 的阈值表能级由比值U/Tseverity驱动固定为 5 档逐级升级能级触发条件系统行为 quietT 60k或U 25k或U/T 0.20安静不打扰 gentleU/T ≥ 0.20温和提醒一次 firmU/T ≥ 0.40坚定要求立即清理 urgentU/T ≥ 0.60紧急指令下一次工具调用前必须清理 Channel 2urgent 且U/T ≥ 0.75且U ≥ 50k天花板提醒以合成用户消息主动插话这套分档同时存在于 TypeScript 端nudgeBand 函数和 Rust 端HygieneBand 枚举并通过金标准文件 nudge-hygiene-golden.json 做跨语言一致性校验。Channel 1工具输出里的随行提醒Channel 1 的投递方式非常巧妙——它在刚刚结束的一次工具调用的输出末尾追加一段system-reminder提醒内容会说明有多少个已用完的工具输出、总共占多少 token并按优先级列出最老的 4 个可回收标签§N§ 工具名作为提示排序规则是杂项工具 → 编辑/搜索 → 导航同级再按时间每次向上跨越能级时用该级别的全量文案提醒一次同能级内重复触发则改用平静的一行文案Still unstamped…降档只静默记录一旦回到低能级下次再爬升时会重新发送全量文案避免提醒疲劳。三级全量文案的语气是逐级加压的见 buildChannel1RemindergentleHousekeeping用完就盖章清理别等任务结束firm现在就做一次 ctx_reduce 清理urgent在下一次工具调用之前清理每一个已用完的输出。防骚扰设计触发条件与合规宽限不是每次超标都提醒decideChannel1决策函数源码内置了多重阻尼⏱节奏阈值同能级内重新触发要求 U 至少增长max(25k, 0.08×T)且距上次提醒至少过了 5 个真实用户轮次合规宽限compliance grace代理刚调用过ctx_reduce后Channel 1 保持安静直到清理后的 U 重新涨回同等幅度、或能级超过清理前水平才再次开口——代理听劝了就不再唠叨状态持久化最近一次能级和宽限基线存在session_meta中重启后提醒节奏不丢失。Channel 2天花板提醒与跨进程租约当能级进入 Channel 2最严重的第 5 档提醒升级为一条合成的用户消息在事件边界注入让代理在下一步亲眼看到。这条通道用一套租约状态机保证绝不重复发送pending → claimed(token) → delivered每个尾部周期最多发送 1 次发送失败则租约回退为pending一旦发送成功即使确认失败也永不重新武装重发只会造成消息重复超过 10 分钟的未决租约会被清除防止崩溃的发送者永久占用合成的 Nudge 在所有真实用户输入的计数点轮次统计、未应答检查中都被识别并排除绝不冒充用户发言。各主机的投递适配OpenCode 1 用promptAsync合成消息channel2-delivery.ts、OpenCode 2 用session.synthetic({ delivery: steer })channel2.ts、Pi/OMP 用deliverAs: steer且display: falsectx-reduce-nudge-pi.ts。一个重要的前提两条通道只在ctx_reduce位于工具白名单的会话中生效——没有清理工具就没有基线也就没有提醒。真实数据校准能级表不是拍脑袋这套阈值经过了真实事故会话的回放校准nudge-hygiene-calibration-2026-08-16.md三个生产会话样本的 severity 分别达到 0.901、0.947、0.862全部落进 Channel 2同时对 24.9 万 token 的巨型尾部一次测量仅需2.1msp95远低于 15ms 的性能门槛。Rust 端还用突变测试守护公式正确性把节奏系数从 0.08 改成 0.05、把 urgent 阈值从 0.60 挪到 0.65……任何一处被篡改都会被金标准测试当场抓出记录见 nudge-hygiene-red-first.txt。对普通用户的价值Nudge 机制带来的直接好处✅上下文不爆代理主动清理已用完的工具输出会话可以跑得更长✅成本可控减少无效 token 反复进入提示词且清理动作复用既有的缓存失效路径不会额外打爆提示缓存✅不打扰5 级提醒带 宽限期 节奏阈值让提醒像恰到好处的推一下而不是 incessant 的弹窗轰炸✅人机分工清晰系统负责测量与提醒代理负责判断哪些真的没用比一刀切的强制裁剪更安全。小结magic-context 的 Nudge 机制用{U, T} 双指标 5 级提醒带 双通道投递 租约防重四件套实现了让 AI 代理主动管理自己的记忆。它的哲学值得借鉴与其替用户做决定不如给用户一个诚实的仪表盘和一句恰如其分的提醒。更多架构细节可阅读 docs/architecture/ 目录下的 nudges.md、reclaim.md 与 calibration.md。【免费下载链接】magic-contextUnbounded context. Memory that manages itself. One session, for life. The hippocampus for coding agents, part of CortexKit.项目地址: https://gitcode.com/gh_mirrors/mag/magic-context创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站