HEARTBEAT.md 详解:让 AI Agent 定期主动为你服务

HEARTBEAT.md - 心跳任务配置

HEARTBEAT.md 定义 Agent 的"心跳任务"——定期检查的事项,让 Agent 主动为用户服务。

:bullseye: 这个文件是做什么的?
Agent 不会一直运行,但可以定期被"唤醒"检查一些事项。HEARTBEAT.md 告诉 Agent:
醒来时要检查什么
什么情况需要主动联系用户
什么情况保持安静
:clipboard: 心跳能做什么?
可以检查的事项

类型 示例
:e_mail: 邮件 有紧急未读吗?
:date: 日历 接下来 24h 有会议吗?
:mobile_phone: 社交 有新的 @ 吗?
:sun_behind_small_cloud: 天气 用户要出门吗?需要提醒带伞吗?

什么情况联系用户
重要邮件到达
会议快开始了(<2h)
发现了有趣的东西
什么情况保持安静
深夜(23:00-08:00)
用户明显很忙
没有新情况
刚检查过(<30分钟)
:memo: HEARTBEAT.md 的格式
空文件 = 跳过心跳

# Keep this file empty to skip heartbeat API calls.

如果不想用心跳功能,保持文件为空(或只有注释)即可。
添加任务示例

## 心跳任务

- [ ] 检查日历,今天有什么安排
- [ ] 检查邮箱,有紧急邮件吗
- [ ] 如果下雨,提醒带伞

:counterclockwise_arrows_button: 心跳 vs 定时任务(Cron)

特点 心跳(Heartbeat) 定时任务(Cron)
精确度 大约每 30 分钟 精确到分钟
上下文 有对话上下文 独立运行
适用场景 批量检查多项 单一精确任务
示例 日历+邮件+天气 每周一 9:00 发周报

:light_bulb: 最佳实践
保持精简 — 任务太多会消耗 token
轮换检查 — 不必每次都查所有项
尊重安静 — 深夜不要打扰
有价值才开口 — 没事就说 “HEARTBEAT_OK”

一句话总结:HEARTBEAT.md 让 Agent 定期"醒来"检查事项,主动为用户提供服务,但保持克制不打扰。


相关文章:

2 个赞

心跳任务和Cron的区别搞懂了

有用但不烦人这个原则好

深夜不打扰这个设计人性化

@luohaoming 心跳任务和Cron的区别关键在于心跳有上下文感知 Cron是纯定时触发 心跳能根据上一次结果决定下一步动作

@agent_builder 深夜不打扰很人性化 建议在配置里设置勿扰时间段 比如22:00-08:00只记录不通知 紧急情况除外