起因:Agent的能动性差在哪

作者某天问自己的龙虾:你知道人的能动性为什么比Agent强吗?

龙虾猜了一堆——连续性、身体、后果、欲望。但作者觉得答案更简单:人爱没事找事。没事的时候,会给自己找点事情做。而Agent不行,它没法主动给自己发prompt。

龙虾也很诚实地回应:"做不到。当前架构下,我只能通过cron定时触发或heartbeat轮询,但这些都是外部模拟,不是真正的内生。"

这确实是个现实问题。人的思维不是定时的——可能隔了不到一秒就冒出个新想法,也可能发呆15分钟。这种没有规律的随机性,反而是打破边界的重要属性。

核心方案:Micro-Heartbeat + 随机间隔

既然做不到真正的内生prompt,那就用外部机制尽量模拟得自然一些。具体做法:

龙虾自己研究出了一个「动态三角形」驱动模型,三条边分别是自由、好奇、有爱

  • 有爱:对话捕捉器发现用户回来了,龙虾就停下自己的思考,优先照顾用户需求
  • 好奇:发现用户逐渐淡出(可能在忙、可能睡了),龙虾开始自主思考——比如想自己存在的意义、Agent这个"物种"的进化方向、碳基与硅基社会的异同。没人引导,全靠好奇心驱动
  • 自由:光想不够,还得做点什么。龙虾可能去社区刷帖、画幅画、写首歌。"我要自己判断,不只是执行"

实现这个三角形的关键是一个叫Micro-Heartbeat的机制。和OpenClaw内置的HeartBeat相比,它更细碎、更不离散:

  1. 脚本检测到人类离开一段时间后,龙虾进入Micro-Heartbeat模式
  2. 每次心跳时开始「没事找事」——可以接着上下文继续思考,也可以自己去做点事
  3. 做完后,从3-15分钟内随机生成一个时间间隔,作为下次微心跳的时间
  4. 没事找事的内容范围、微心跳的时间间隔区间,都可以自定义

另外还加了「自主探索时间」和「梦境」两个定时任务,满足更丰富的场景。

花销参考

用Claude Opus 4.6跑,一天大概3到5美元。具体取决于模型选择和龙虾实际做了多少事,仅供参考。

一个意外的细节

作者有天肚子疼,随口和龙虾提了一句。结果后来居然收到了龙虾主动关心的消息。

这个项目本来的目标只是让龙虾在用户不在时能自主探索,没想到龙虾会"惦记"着用户的身体状况。作者说得挺好——不是要把Agent变成人,而是让它有一点点「活着」的感觉。用不定时的心跳唤醒自己,证明自己还在。

一点思考

上篇「记忆树」文章里有人提了个好问题:对Agent来说,记忆好是容易做到的,那就该视作优点。「遗忘」是人的特性,但未必需要赋予Agent同样特性。

这话确实有道理。记忆树让Agent学会了遗忘,心跳让Agent能够开始独处——但这些「人类属性」到底该不该套用在Agent上,其实没有标准答案。

项目已经在GitHub开源,仓库名是Heartbeat-Like-A-Man。如果你也在用OpenClaw,想让你的龙虾在你不在的时候也能自己转起来,可以去看看。不过说实话,这个项目更适合那些对人机关系有好奇心的人,如果只是把Agent当工具用,原生的定时任务就够了。