TWITTER ·

Vibe Coding 小心 Durable Objects alarm 死循环

作者:Viking 来源:Viking(@vikingmute) 2026-10-07 10:05 2 分钟 11 阅读 485 字
编程与工程云原生 / DevOpsVibe CodingAI 编程推文串
一语总结

Viking 提醒 Vibe Coding 时别让 Cloudflare Durable Objects 的 alarm 无限自我续订,因为它按次计费、没有账户级硬顶,并分享了自己放在 agents.md 里的规则。

AI 总结

Viking 在推文中说,不管用什么云服务都要注意,Vibe Coding 别写出死循环,尤其是 Durable Objects,否则会出现天价账单,而且它似乎没有价格上限、只能发告警邮件。他建议加一条规则,并让另一个模型审查改动,随后贴出自己放进 agents.md 的规则:alarm 是持久定时器,没有请求也会唤醒对象并按次计费;禁止在 constructor 里 setAlarm、在 alarm() 每个出口都 setAlarm、用「快过期就刷新」永远续链、间隔短于 60 秒的自我续订(除非用户明确要求并写明上限);必须在没有剩余工作时直接 return、续订前写清终止条件、测试覆盖「无工作时不再调度」,并在提交说明里写明这条链如何停止。

核心要点
  1. 风险

    Durable Object alarm 无请求也会唤醒并按次计费,没有账户级硬顶,死循环会带来天价账单。

  2. 禁止事项

    不在 constructor 里 setAlarm,不在每个出口续订,不永远刷新续链,不做短于 60 秒的自我续订。

  3. 必须事项

    无剩余工作直接 return;续订前写清终止条件;测试覆盖无工作时不再调度;提交说明写明如何停止。

Vibe Coding 小心 Durable Objects alarm 死循环

Viking 在推文中说,不管用什么云服务都要注意,Vibe Coding 别写出死循环,尤其是 Durable Objects,否则会出现天价账单,而且它似乎没有价格上限、只能发告警邮件。他建议加一条规则,并让另一个模型审查改动,随后贴出自己放进 agents.md 的规则:alarm 是持久定时器,没有请求也会唤醒对象并按次计费;禁止在 constructor 里 setAlarm、在 alarm() 每个出口都 setAlarm、用「快过期就刷新」永远续链、间隔短于 60 秒的自我续订(除非用户明确要求并写明上限);必须在没有剩余工作时直接 return、续订前写清终止条件、测试覆盖「无工作时不再调度」,并在提交说明里写明这条链如何停止。

文章金句

"

不管用什么云服务一定要注意啊,Vibe Coding 别写出什么死循环了,尤其是用 Durable Objects,要不直接天价账单了。

"

Durable Object alarm 是持久定时器,没请求也会唤醒对象,并按次计费。