
什么是 Proactive Agent?
Proactive Agent 是由 Hal Labs 开发的一套 AI Agent 架构框架(Part of the Hal Stack),它解决了一个核心问题:大多数 AI 助手只会被动等待指令,而真正的助手应该主动预判需求。
想象一个从不问你”需要什么帮助”而是直接帮你把事情做好的助手——Proactive Agent 就是让这种体验成为可能的架构设计。
核心功能
1. WAL Protocol(Write-Ahead Logging)
问题:AI 对话历史只是一个缓冲区,具体细节(如用户偏好、更正信息、决策结论)很容易在上下文重置后丢失。
解决方案:引入了 WAL Protocol——每当用户说”不对,是 X”、“我们用 Y 方案”这类信息时,AI 必须先写入 SESSION-STATE.md,再回复用户,而不是先回复再说”我记住了”。
触发条件:✏️ 纠正信息 — "是 X,不是 Y"📍 专有名词 — 名字、地点、公司名🎨 偏好信息 — 颜色、风格、偏好📋 决策结论 — "我们决定用 X"🔢 特定数值 — 日期、ID、URL2. Working Buffer Protocol(危险区缓冲)
问题:上下文超过 60% 后,AI 进入”危险区”——随时可能被截断、丢失之前的记忆。
解决方案:在危险区期间,每次对话都会被完整记录到 memory/working-buffer.md 文件中。上下文重置后,AI 会先读取这个缓冲文件来恢复状态,而不是问”我们刚才聊到哪了”。
3. Compaction Recovery(上下文压缩恢复)
问题:长时间对话后上下文被压缩,AI 醒来时发现自己”失忆”了。
解决方案:清晰的恢复流程——先读 working-buffer → 再读 SESSION-STATE → 再读每日笔记 → 最后搜索所有来源。永远不说”我刚才在做什么?“——working buffer 里有完整的对话记录。
4. Self-Improving Guardrails(安全自我进化)
问题:AI 想要改进自己,但随意修改可能导致行为偏离、变得更糟。
解决方案:
- ADL Protocol:禁止为”显得更智能”而增加复杂度;禁止无法验证的变更;稳定性 > 可解释性 > 可复用性 > 可扩展性 > 新颖性
- VFM Protocol:每次修改前评估加权得分(高频使用 3x、减少失败 3x、减轻用户负担 2x、节省未来 token 2x),得分低于 50 分的不做
5. Autonomous vs Prompted Crons(自主 vs 触发式定时任务)
问题:设置了定时检查任务,但 AI 只是”提示”自己应该做某事,而不会真正去做。
解决方案:区分两种定时任务架构:
systemEvent→ 发送到主会话,等待 AI 注意力isolated agentTurn→ 派生出独立子代理自主执行,无需主会话参与
想让 AI 凌晨三点自动整理文件?用 isolated agentTurn。
6. Relentless Resourcefulness(不轻言放弃)
核心理念:遇到问题应该尝试 10 种方法,而不是第一次失败就说”做不到”。
- 用不同工具(CLI、浏览器、搜索引擎、派生子代理)
- 组合工具创造新方法
- 在说”做不到”之前,必须穷举所有方案
使用方法
快速开始
- 将
assets/目录下的文件复制到工作区 - AI 会检测到
ONBOARDING.md,主动询问你的偏好 - 回答问题(可以一次性回答,也可以逐步提供)
- AI 自动生成
USER.md和SOUL.md - 运行安全审计:
./scripts/security-audit.sh
核心文件结构
workspace/├── ONBOARDING.md # 首次设置(追踪进度)├── AGENTS.md # 运营规则、经验教训、工作流├── SOUL.md # 身份认同、原则、边界├── USER.md # 用户背景、目标、偏好├── MEMORY.md # 精选长期记忆├── SESSION-STATE.md # ⭐ 活跃工作内存(WAL 写入目标)├── HEARTBEAT.md # 周期性自我检查清单└── memory/ ├── YYYY-MM-DD.md # 每日原始记录 └── working-buffer.md # ⭐ 危险区日志与 Hermes Agent 集成
Proactive Agent 的设计理念与 Hermes 的 memory 工具、session_search 工具高度兼容:
# 每次用户纠正时——WAL Protocolif "不是 Y" in user_message: update_session_state(user_correction) respond()
# 上下文超过 60%——Working Bufferif context_percentage > 60: append_to_buffer(full_exchange)
# 启动新会话——Compaction Recoveryrecovered = read_working_buffer()我的评价
优点:
- 🎯 解决真实痛点:上下文丢失、记不住用户偏好、AI 被动等待——这些是每个深度使用 AI 助手的人都会遇到的问题
- 🛡️ 安全第一:自我进化有严格 guardrails,不会让 AI 越改越离谱
- 🔄 与现有工具链兼容:可以直接用 Hermes 的
memory工具实现 WAL Protocol,不需要额外基础设施 - 📚 文档详尽:v3.1.0 文档超过 500 行,包含大量实战经验
缺点:
- ⚙️ 需要主动配置:不像安装即用的插件,需要自己建立文件结构和操作习惯
- 📝 初期工作量大:需要花时间填写 ONBOARDING、设置文件骨架,懒人不友好
- 🔍 对新手不友好:Wal Protocol、Working Buffer 等概念需要理解 AI 对话机制才能有效使用
适合人群:
- 每天长时间与 AI 协作、对效率有较高要求的用户
- 需要 AI 记住跨会话上下文的项目管理者
- 希望 AI 能真正”懂我”而不是每次都从头解释的重度用户
总体评分:⭐⭐⭐⭐☆(4/5)
Proactive Agent 不是一个插件,而是一套工作哲学。它将 AI 定位从”工具”升级为”伙伴”,核心改变是:AI 不再只响应指令,而是主动思考”我能提前做什么让用户更轻松”。如果你厌倦了每次新会话都要重新解释背景,Proactive Agent 的架构值得一试。
Proactive Agent 是 Hal Stack 的一部分,由 @halthelobster 开发。