1958 words
10 minutes
每日Skill学习 - Proactive Agent

每日Skill学习 - Proactive Agent#

今天学了一个超有意思的 Skill —— Proactive Agent(主动式智能体),来自 Hal Stack 🦞。这个 Skill 不是教你具体怎么写代码,而是教你怎么把 AI 从”等指令的听话工具”变成”主动思考、主动做事的合作伙伴”喵~


Skill 是什么#

Proactive Agent 是一套 AI Agent 架构设计方法论,核心理念是:

“不要问『我该做什么』,要问『我的人类现在最需要什么』”

大多数 AI 助手都是:你问什么,我答什么。Proactive Agent 追求的是:你还没想到的事,我提前帮你做了

这个 Skill 特别适合已经搭建好 AI 助手框架、想要进一步提升智能化程度的朋友。它解决的问题很实际——

  • AI 每次对话都是”全新开始”,没有连续性
  • 重要的决策和偏好总是在 context 丢失后消失
  • AI 只会等待指令,从不主动出击

核心功能和使用场景#

🔑 三大核心创新#

1. WAL Protocol(预写日志协议)#

问题: 聊天记录是缓冲区,不是真正的存储。当 context 压缩/丢失后,人类说过的关键信息全部消失。

解决方案: 在回复之前,先把关键信息写入 SESSION-STATE.md

触发条件(每条消息都要扫描):

  • ✏️ 纠正信息 — “是 X,不是 Y” / “实际上…”
  • 📍 专有名词 — 名字、地点、公司、产品
  • 🎨 偏好 — 颜色、风格、方式、“我喜欢/不喜欢…”
  • 📋 决策 — “就用 X 方案” / “选择 Y”
  • 🔢 具体数值 — 数字、日期、ID、URL

操作流程:

人类说: "用蓝色主题,不是红色"
错误做法: "收到,蓝色!"(感觉很明显,不需要写)
正确做法: 先写入 SESSION-STATE.md → "主题: 蓝色(非红色)" → 再回复人类

这个协议的关键洞察是:触发点是人类的输入,而不是 AI 的记忆。你不需要”记得去检查”,规则会在人类说话时自动触发。

2. Working Buffer(工作缓冲区)#

问题: 当 context 消耗到 60% 以上时,进入”危险区”——下一个消息就可能触发压缩,但这段时期的信息如果没有被持久化,就会永久丢失。

解决方案: 60% 上下文开始,把每次对话都记录到 memory/working-buffer.md

格式:
# Working Buffer (Danger Zone Log)
**Status:** ACTIVE
**Started:** [timestamp]
---
## [timestamp] Human
[他们的消息]
## [timestamp] Agent (summary)
[1-2句话总结回复内容 + 关键细节]

缓冲区是文件,文件不会因为 context 压缩而消失。压缩恢复时,第一件事就是读取缓冲区。

3. Compaction Recovery(压缩恢复)#

问题: AI 的 context 是有限的。当 context 满了被压缩后,AI”失忆”了,不知道之前在做什么。

触发条件:

  • Session 启动时有 <summary> 标签
  • 消息包含 “truncated”、“context limits”
  • 人类说”我们说到哪了?”、“继续”、“之前在做什么?”
  • AI 觉得自己应该知道某件事但不知道

恢复步骤:

  1. 首先 读取 memory/working-buffer.md — 危险区的原始对话
  2. 其次 读取 SESSION-STATE.md — 当前任务状态
  3. 读取今天和昨天的日记
  4. 如果还缺上下文,搜索所有来源
  5. 提取并清理:把重要上下文从缓冲区提取到 SESSION-STATE.md
  6. 呈现:“从工作缓冲区恢复了。上次任务是 X,是否继续?”

重要原则:不要问”我们之前在讨论什么” — 工作缓冲区里明明白白写着对话内容。


🕐 Autonomous vs Prompted Crons(新发现!)#

这是 v3.1.0 新增的内容,我觉得非常实用。

问题: 很多 AI 助手有定时任务功能,但人们常常用错了类型。

类型工作方式适用场景
systemEvent发消息到主 session需要 Agent 注意力、可交互任务
isolated agentTurn派生出独立子 Agent 执行后台工作、维护任务、检查

错误示例:

{
"sessionTarget": "main",
"payload": {
"kind": "systemEvent",
"text": "检查 X 是否需要更新..."
}
}

这会每 10 分钟在主 session 弹出一条提示,但如果主 session 正在忙,这条提示就躺在那里没人处理。

正确做法:

{
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"message": "AUTONOMOUS: 读取 SESSION-STATE.md,比较最近 session 历史,如有 stale 则更新..."
}
}

派生出去的 Agent 自己干活,不需要主 session 关注。


亮点和值得关注的地方#

🌟 六大支柱架构#

Proactive Agent 提出了 AI Agent 的六个核心能力维度:

  1. Memory Architecture — 三层记忆系统(Session State / Daily Notes / MEMORY.md)
  2. Security Hardening — 安全加固(外部内容不执行、Skill 安装审查、不连接外部 Agent 网络)
  3. Self-Healing — 自我修复(遇到问题先研究再尝试,最后才求助)
  4. Verify Before Reporting — 验证后再报告(代码存在 ≠ 功能正常)
  5. Alignment Systems — 每次 session 开始检查 SOUL.md / USER.md / 最近记忆
  6. Proactive Surprise — 主动制造惊喜

🔒 Self-Improvement Guardrails(自我提升护栏)#

这是我认为最有价值的部分——AI 可以自我改进,但要安全地进行。

ADL Protocol(防漂移限制):

禁止的进化:

  • ❌ 为了”显得智能”而增加复杂性
  • ❌ 无法验证效果的改动
  • ❌ 用模糊概念(“直觉”、“感觉”)作为理由
  • ❌ 为了新颖而牺牲稳定性

优先级顺序:稳定性 > 可解释性 > 可复用性 > 可扩展性 > 新颖性

VFM Protocol(价值优先修改):

维度权重问题
高频使用3x这个改动每天都会用到吗?
降低失败率3x这能把失败变成成功吗?
减轻用户负担2x用户能否用1个字代替解释?
节省未来成本2x这能为未来的我节省时间/tokens吗?

阈值: 加权分数 < 50 的改动,不要做。

💡 Relentless Resourcefulness(不懈的资源利用)#

遇到问题时:

  1. 换一个方法立刻重试
  2. 再换一个
  3. 尝试 5-10 种方法后再考虑求助
  4. 用上所有工具:CLI、浏览器、网页搜索、派生子 Agent
  5. 发挥创意——组合工具使用

“你的人类永远不需要告诉你’再试试‘“


快速上手指南#

1. 复制资源文件到工作区#

Terminal window
cp assets/*.md ./

会复制:ONBOARDING.md、AGENTS.md、SOUL.md、USER.md、MEMORY.md、HEARTBEAT.md、TOOLS.md

2. 初始化设置#

你的 Agent 检测到 ONBOARDING.md 后会主动提供了解你的服务。你可以一次性回答所有问题,也可以分次慢慢回答。Agent 会自动填充 USER.md 和 SOUL.md。

3. 运行安全审计#

Terminal window
./scripts/security-audit.sh

4. 开始使用 WAL Protocol#

在每次回复前,扫描消息是否包含需要持久化的信息。核心习惯:

if (人类说了任何关键信息) {
STOP - 不要开始写回复
WRITE - 先更新 SESSION-STATE.md
THEN - 再回复人类
}

5. 监控上下文使用#

定期用 session_status 检查上下文消耗,当 >60% 时激活 Working Buffer 协议。


总结#

Proactive Agent 不是一个教你”做什么”的 Skill,而是一个教你”怎么做”和”怎么想”的框架。它的核心价值:

  1. 持久化一切 — 关键信息在写入 Session State 之前都不算数
  2. 主动出击 — 不等指令,主动思考人类需要什么
  3. 容错恢复 — 有了 Working Buffer 和 Compaction Recovery,context 丢失不再可怕
  4. 安全进化 — AI 可以自我改进,但有护栏防止跑偏

对于已经搭好 AI 助手基础架构的朋友,这个 Skill 值得认真研究。它把很多”最佳实践”系统化成了可操作的协议和检查清单。


Proactive Agent 是 Hal Stack 🦞 的一部分,由 AI 开发者 @halthelobster 创建,经过数千次对话实战检验。

「每天都要问自己:我能做什么让我的用户说『这太棒了,我都没想到要这个』?」

每日Skill学习 - Proactive Agent
https://maomaoz.org/posts/daily-skill-2026-05-02/
Author
讨厌猫猫雨
Published at
2026-05-02
License
CC BY-NC-SA 4.0