我第一次认真看钩子模型,是因为它把产品的使用过程描述得过于顺滑。触发、行动、奖励、投入,四个词首尾相连,用户就会不断回来。可真正做过产品之后,我发现事情没有这么简单。
我开始意识到,钩子模型真正值得讨论的,不是怎样把用户带回产品,而是一次使用之后,产品究竟留下了什么。
四个环节,不是一张留存清单
钩子模型通常从触发开始。
触发可以是一个提醒、一条消息,也可以只是某个时刻的情绪。它不一定来自产品本身。人感到无聊、完成了一项工作、突然想起一件未完成的事,这些都可能成为触发。产品能做的,是让这种模糊的冲动有一个容易抵达的入口。
接下来是行动。行动不是“功能很多”,而是用户愿意做出一个足够小的动作。动作越清晰,阻力越低,用户越容易开始。但这里也有一个容易忽略的判断:如果一个动作本身没有意义,降低阻力只是在更快地消耗注意力。
奖励会让行动得到回应。奖励不只是一枚徽章或者一串数字,也可能是被理解、被逗笑、得到一个意外的答案。好的奖励有一点不可预测,让人愿意再试一次;但它不能只是随机刺激,否则用户最终记住的只有“我被推着点了几下”。
最后是投入。用户投入时间、内容、偏好,或者只是留下一个小小的痕迹。投入让下一次使用不再从零开始,也让产品逐渐变得更像“为我存在”。如果投入没有改变任何东西,它就只是额外的劳动。
所以这四个环节并不是一张检查表。它们更像一次来回:触发让人靠近,行动让事情发生,奖励回答这次行动,投入则决定下一次回来时是否还有必要。
我为什么做 VibeKarma
我做 VibeKarma 的起点很小。AI Coding 很高效,却常常只留下“任务完成”这一种反馈。写完代码的人可能已经很累了,但工具不会在意这件事,也不会给这段过程留下什么情绪上的回声。
我想试试,能不能把这段空白做成一个桌面上的小互动伙伴。它不替 Codex 工作,也不试图把生产力再提高一点;它只在任务告一段落时,提供一个可以回应的对象。
于是有了两种反差很大的玩法:鞭策和画饼奖励。前者允许用户把挫败感用一个具体动作释放出来,后者则把“这次做得不错”变成一场带有角色感的回应。动作、速度、轨迹和声音共同构成一次即时反馈,AI 再用第一人称补上几句回应。
这些设计听起来很完整,真正做起来却不断暴露问题。反馈太强,会像一段吵闹的特效;反馈太弱,又像一个没有反应的按钮。概率化的情绪强度需要有变化,但不能让用户觉得自己无法预测。失败重试、撤回和 Codex CLI 检测这些看似琐碎的功能,反而决定了互动会不会因为一次意外中断。
我后来加上了日记沉淀。最近几次互动会成为下一次回应的上下文,角色因此有了连续性。这里的“投入”不是为了收集更多数据,而是让用户留下的东西真的能在之后发挥作用:昨天发生过什么,今天的回应为什么和昨天不一样。
留存不是目的,关系也不是装饰
做完这个产品,我对“让用户回来”这件事变得谨慎了。
提醒可以制造一次打开,奖励可以制造一次重复,习惯可以让路径变得越来越短。但如果用户每次回来都没有得到新的东西,钩子只是在把同一个动作重复得更熟练。
我更愿意把留存看成一种承诺:用户上一次的使用,应该给下一次留下可以继续的理由。这个理由可以是内容变得更贴合,可以是角色记住了某些事,也可以只是用户确认了自己确实想继续做这件事。
VibeKarma 对我来说,最有价值的部分也不在于“AI 会说话”。真正重要的是,产品承认人的状态会变化,并且给这种变化留出一个位置。今天需要被催促,明天可能只想得到一句安静的回应。产品不是永远用同一种奖励把人推向前,而是能够根据关系的积累,做出一点不同的回答。
钩子应该有停止条件
钩子模型很容易被用成一套增长话术:找到触发,缩短行动,放大奖励,增加投入,然后不断优化回访率。可产品设计不只是在问“怎样让人继续”,也应该问“什么时候不该继续”。
如果一个用户已经完成了目标,产品还在想办法把他留下来,留下来的就不一定是价值,可能只是惯性。好的产品应该允许人离开,也应该让人离开时带走一些东西:一个完成的结果,一段被整理过的经历,或者一个下次仍然愿意回来寻找的入口。
这也是我现在重新理解钩子模型的地方。它不是让人上瘾的机关,而是产品和用户之间的一种往返关系。触发、行动、奖励、投入,最后都要回到一个很朴素的问题:这次使用,是否让下一次选择变得更值得?
如果答案是否定的,再漂亮的机制也只是把空洞包装得更顺滑。