一句话定义:常驻智能体空转成本(Idle Burn / Heartbeat Cost)指的是:一个 7×24 小时在线的智能体在“没有新任务”时,为了维持“活着”的状态而周期性触发模型调用、反复重放上下文,所产生的持续开销。
为什么空转也花钱
很多人对智能体成本有一个直觉误解:以为只有“用户提问、模型回答”才计费。但常驻型智能体的典型实现是心跳轮询(heartbeat polling):设一个定时器,每隔几分钟唤醒一次,把AI 词典:系统提示词">系统提示词(system prompt)、历史对话、工具清单(tools schema)整段重新塞进上下文,再问模型一句“现在有没有新事情要做?”
关键在于,绝大多数模型 API 是无状态(stateless)的:服务端不记得你上一轮聊了什么,每次调用都得把全量历史重传一遍。所以“看一眼有没有事”的成本不是零,而是随会话长度增长,聊得越久,每次心跳越贵。开启提示词缓存(prompt caching)能明显压低重复部分的单价,但缓存写入、命中边界和仍要传输的部分,仍会产生一定成本。如果还挂了几个子智能体,心跳次数会翻几倍。
打个比方:心跳模式像一位值夜班的门卫,每五分钟绕楼一圈,而且每次都把整本值班日志从头念一遍再判断“有没有异常”。日志越写越厚,绕圈就越慢越贵。事件驱动(event-driven)则是装个门铃,有人按才起身,没事时成本接近于零。
和相邻概念的区别
| 维度 | 心跳轮询 | 事件驱动 |
|---|---|---|
| 触发源 | 定时器 | 真实消息、webhook、状态变化 |
| 空闲成本 | 与间隔成反比,持续累积 | 接近零 |
| 响应延迟 | 最多一个心跳周期 | 取决于事件通路,通常更低 |
| 上下文规模 | 每次都要重放全量 | 可按事件裁剪 |
| 实现复杂度 | 低,容易上手 | 需要事件源与去重、幂等设计 |
它和“上下文膨胀”“长会话成本”相关但不是一回事:后两者说的是单次调用变贵,空转成本说的是调用次数乘上单价之后的总账单。
对从业者和普通人的意义
从业者要把空转成本当成产品设计参数,不能只当成运维细节。粗略估算的方法很朴素:先量出单次心跳的 token 数(系统提示 + 历史 + 工具定义),乘上单日心跳次数,再乘单价,就得到每天“什么都不干”的基础消耗。然后分三档降本:拉长心跳间隔;对历史做摘要或截断;把“是否真的有事”的判断前移到本地规则(关键词、正则、状态位),命中才调用模型。再配上硬阈值:日 token 上限、心跳次数上限、会话长度上限,超限自动降级为事件驱动。
对普通人来说,这意味着“你的 AI 助理随时待命”这句话是有成本的,一些产品因此会对免费用户限流,或把常驻能力放到更贵的档位。具体计费口径各家不同,以官方页面为准。
一句话记住:在线靠廉价的状态存储,思考才付模型的账。把这两件事拆开,账单通常能降一个数量级。
