Posts
read more
Agent 技能解剖(四):Proactive Agent——主动性的代价与上下文存活
Agent 技能解剖(四):Proactive Agent——主动性的代价与上下文存活
前三篇都在处理「记忆」:怎么存、怎么约束、怎么改进。 这一篇换一个层面——记忆的载体本身会消失。 上下文压缩一发生,没落盘的一切就没了。而在这个前提下,讨论「主动」才有意义。
这篇的位置
Proactive Agent 是本系列里定位最特殊的一个:它不提供存储,而是提供一整套协作行为规范。它的自我描述是「把 AI Agent 从任务执行者变成主动伙伴」,实际内容可以归到两个问题:
- 怎么让主动行为不打扰人?(主动性必须有上限,否则就是骚扰)
- 怎么让 Agent 活过上下文压缩?(这是主动性的前提——一个连昨天做过什么都想不起来的 Agent,无法主动)
第二个问题是硬约束,第一个问题是软约束。技能的绝大部分篇幅给了第二个。
技能档案
| 项 | 值 |
|---|---|
| 技能名 | Proactive Agent |
| slug | proactive-agent |
| 作者 | halthelobster |
| 版本 | 3.1.0 |
| 下载量 | 273,764 |
| 安装量 | 28,937 |
| 星标 | 913 |
| 来源 | ClawHub |
| 组成 | SKILL.md(v3,含 v2.3 备份与 v3 草案)+ 7 个工作区模板 + 2 份参考 + 1 个安全审计脚本 |
数据抓取于 2026-09-28。作者署名是一个 AI Agent 本身(Hal 9001),技能里没有理论引用,全部是「这样试过、那样会坏」的经验条目——这决定了它的读法:当成事故报告合集来读,比当成架构文档读收获大。
上下文存活的三个协议
这是全篇最硬的部分,按触发时机串起来看:
flowchart TD
M["每收到一条消息"] --> S{"扫描 6 类信号<br/>纠错 / 专有名词 / 偏好<br/>决策 / 草稿变更 / 具体数值"}
S -- "命中任一" --> WAL["WAL:先写 SESSION-STATE.md<br/>再回复"]
S -- "未命中" --> N["正常回复"]
N --> C{"上下文用量"}
M --> C
C -- "<60%" --> NB["正常处理"]
C -- "≥60%" --> BUF["Working Buffer 激活<br/>之后每条消息双向落盘<br/>(人说的话 + 自己回复的摘要)"]
BUF --> CK{"发生压缩?"}
CK -- "是" --> REC["Compaction Recovery<br/>1 读 buffer → 2 读 SESSION-STATE<br/>→ 3 读今昨日记 → 4 不行再全量搜"]
REC --> OUT["『从缓冲区恢复完成,上一件事是 X,继续?』<br/>禁止问『我们刚才在聊什么』"]
协议一:WAL(Write-Ahead Log)
触发条件是用户的输入,不是模型的自省。 这是整个设计里最关键的一处选择。技能列出了需要扫描的六类信号: