产品
解决方案
公司
企业
登录创建你的网络
AI · Deployment · Reliability

不要靠祈祷部署 AI:是机制,而非愿望

“部署并祈祷”是没有机制的发布。终结它的四项实践对应定理 3:只有当机制被实现并在测量时,属性才成立。

不要靠祈祷部署 AI:是机制,而非愿望

“部署并祈祷”就是直接推到生产环境然后紧张地刷新。它在某一天之前都有效,而那一天你会发现自己缺少了哪些机制。Marc Friborg Bersang 在 AI Engineers Academy 描述的 Cloudflare 纪律刻意简短——四项实践——而每一项都是一个带测量的机制,不是一种情绪。

关键要点

  • “部署并祈祷”是机制的缺失;四项实践(staging、secrets、health checks、rollback)是四个机制,每个都带有测量(AI Engineers Academy,《Stop 'Deploy and Pray'》,2026)。
  • Theorem 3 将其框定:一个属性只有在它的机制被实现并在测量时才成立——没有机制的属性只是愿望。
  • HAI Engine 自 2016 年在生产环境运行,遵循同样的纪律;Production ✅ 意味着机制已接线并被观测,而非我们在期望。
  • 对于 AI 负载,需要第五个机制——对输出行为的测量,而不仅是对进程存活——因为“活着但错了”才是真正要紧的失效模式。

为什么“部署并祈祷”是机制的缺失

2026 年,AI Engineers Academy 发表了《Stop 'Deploy and Pray': Ship AI Apps Properly on Cloudflare》,为这个模式命名:推到生产、紧张刷新,只在东西坏了时才发现缺口。修复的方法不是更多勇气——而是四个小机制,它们让勇气变得不必要。勇气是你在一个属性未被测量时才会去动用的东西;机制是把这个问题本身消除掉的东西。

Honest Architect 的解读比原文更窄。这四项实践不是软意义上的“最佳实践”或“纪律”。每一项都是一个机制,且都带有一个测量:staging 检验 build 是否健全,secrets-as-env 证明凭证不在二进制里,health check 证明 deploy 还活着,一个带 tag 的旧版本证明你能撤销。一个你无法观测的属性不是你拥有的属性。

[UNIQUE INSIGHT] 这和我们的路由规则同构:the space is the router。一个 network、community、room 拓扑在任何东西响应之前就决定谁能看到什么——一个你能命名并测量的拓扑,而不是指望对的人彼此相遇。“部署并祈祷”之于交付,就像无路由图之于网络:每个请求落到所有地方,你只能祈祷最好的结果。机制(拓扑、staging 目标、health endpoint)正是让你停止祈祷的东西。

四个机制,逐一映射

2026 年,AI Engineers Academy 列出了终结祈祷的四件事:一个 staging deploy、以 environment secrets 形式管理 secrets、一个 health check 加 smoke test、以及一个带上一版本 tag 的单命令 rollback。下面把每一项写成“机制—测量”对,并附上判断你是否真的拥有它的测试。

Staging:属性“未经测试的代码永不进入 prod”

机制是一个独立的 staging worker,你在发布到生产之前先部署到它。测量是在晋升生产前针对 staging 运行的 smoke test。没有 staging 目标,“我们测过了”是一个关于开发者笔记本的断言;有了它,这个断言才关于一个与生产形态一致的环境。测试很简单:你能说出 staging 的 URL 吗?smoke test 失败时晋升步骤会失败吗?两个都答不上来,你拥有的是意图,不是 staging。

Secrets:属性“凭证不在二进制里”

机制是平台层的 environment-secret 绑定——原文中是 Cloudflare Workers secrets,我们的对应物在 API 的 state 层。测量是对部署产物做任何 token 形态的 grep,外加检查 secret 是在 runtime 绑定而非在 build 时烤入。一旦 secret 落进代码或 git,属性即为假,之后任何轮换都不算你曾经拥有过它。轮换是恢复;机制是预防,它们不是同一个属性。

Health checks:属性“坏的 deploy 是可观测的”

机制是一个 health endpoint 加部署后的 smoke test。测量是从坏 deploy 到告警之间的时间——机制接线了就是几秒,没接线就永远不会有。一个你不告警的 health check 是没有测量的机制,Theorem 3 把它视作“尚未成为属性”。一个在 AI 输出垃圾时仍返回 200 的 health check 是测量选错的机制,这更糟,因为它让祈祷看起来被应允了。

Rollback:属性“你能用一条命令撤销”

机制是把上一版本保持 tag 且可达。测量是从“事故确认”到“旧版本恢复服务”的 rollback 墙钟时长。如果 rollback 需要一次 re-deploy、一个 revert commit 和一次 migration,你拥有的不是 rollback——你拥有的是一个恢复计划,而恢复计划是祈祷已经失败时你才会动用的东西。

第五个机制:测量输出,而不仅是进程

[PERSONAL EXPERIENCE] HAI Engine 自 2016 年在生产运行,上述四个机制是我们不会在缺失时发布的底线——和原文所命名的一样。区别在于:在 AI 负载上祈祷声更大,因为即使二进制没变,模型行为也会漂移。一次 staging deploy 抓得住代码;抓不住 prompt 回归、分布漂移,或那个静悄悄失去校准的 ensemble。所以我们加了第五个机制:对输出行为的可测量检查,而不仅是进程还活着。

Honest Architect 版本的清单加了一行:一个 health check 证明 deploy 活着;它不证明 AI 是对的。对一个 forecasting 平台而言,“活着但错了”才是要紧的失效模式,而唯一诚实的回答是对输出的测量——用 held-out 真值校准,分数和 health check 出现在同一块仪表盘上。Oracle 在唯一一处归一化概率,ensemble 的 sum-to-one 和熵在每次 merge 时都被校验,这个校验就是第五个机制。它被标为 Production ✅ 是因为它已接线并被观测,而非因为我们信任模型。

这正是原文“无聊、快速、每天无惧发布”的目标触到真实极限之处。四个机制到位后,你确实可以每天无惧地发布代码。每天无惧地发布模型则需要第五个。没有它,“每天发布”变成“每天漂移”,health check 保持绿色而 forecast 静默地失去意义。

Theorem 3 与诚实标签

[ORIGINAL DATA] 21 篇论文系列规定了 Theorem 3:一个属性当且仅当其机制被实现并在测量时才成立。把它读作对 roadmap 上每一条主张的测试。“我们有 rollback”为真,当且仅当旧版本被 tag 且 rollback 时长是你测过的一个数字。“我们有 staging”为真,当且仅当 staging 目标存在且 smoke test 在晋升前运行。其余都是意图,而 roadmap 里塞满的正是意图。

正因如此,我们的诚实标签不是形容词。Production ✅ 意味着机制已实现、其测量在某个有人看的仪表盘上。Partial ⚠️ 意味着机制存在但测量不完整——一个 World Monitor 源在其 key 未设置时自禁用仍是机制,而“已禁用”是被测量的状态,不是静默的;源的缺失是可观测的,这正是“部分机制”与“缺失机制”的区别。Roadmap 🔵 意味着我们尚未实现该机制,再多渴望也不能升级它。

Cloudflare 文章的四项实践是 Theorem 3 在 deploy 层的干净范例。同一定理也是我们不会承诺 Wallet & Token、Super App 或 Community Credit 结果的原因——它们是 Roadmap 🔵,机制尚未实现并在测量,而我们无法测量的 forecast 不是我们能诚实出售的 forecast。仅限民用与防御范畴,且不承诺任何 token 或 community-credit 结果,因为 Howey 审查尚未在一个尚不存在的机制上运行。承诺相反之物,等于在产品层做 deploy-and-pray,而我们刚刚把它从 deploy 层论证出局了。

常见问题

“部署并祈祷”在什么时候可接受?

对周末原型,可以。对任何服务真实用户的东西,不行——原文命名了四个机制(staging、secrets、health checks、rollback),而 Theorem 3 说没有机制的属性只是愿望。玩具可接受,产品不可接受,而两者之间的界线就是第一个真实用户。

health check 证明 AI 在正常工作吗?

不。health check 证明进程活着并响应;它不证明模型输出正确。对 AI 负载你需要第五个机制——对输出行为的测量,用 held-out 真值校准——否则“活着但错了”始终不可见。坏模型上绿色的 health check,就是祈祷看起来被应允的样子。

为什么要保留上一版本的 tag?

因为只有当撤销是一条命令且有一个测过的墙钟时长时,rollback 才是一个属性。需要 revert commit、re-deploy 和 migration 的 rollback 是恢复计划,不是 rollback。被 tag 的旧版本是机制;rollback 时长是测量;缺一,你就只有事故后讲的故事。

这如何映射到 Everythink 的诚实标签?

Production ✅ 意味着机制已实现并在测量——HAI Engine 的 deploy 流水线和 Oracle 的校准都已接线并被观测。Partial ⚠️ 意味着机制存在但测量不完整。Roadmap 🔵 意味着机制尚未实现,任何主张都不能升级标签。标签是对机制的测量,不是对产品的情绪。

那 tokens、wallets 和 community credit 呢?

那些是 Roadmap 🔵:机制尚未实现并在测量,我们不会承诺 Howey 审查尚未审视的结果。上面的 deploy 纪律是 Production ✅;token 经济不是,而 Honest Architect 不会为了把 roadmap 说得像 release 而模糊两者的界线。

来源

如果你的 network 已准备好无祈祷地发布 AI,创建你的 network——拓扑在任何东西响应之前先路由,而 deploy 机制已接线并被观测。

在一个能证明其声明的引擎上构建你的世界。

在自 2016 年起持续运行的引擎上创建你自己的网络——或与 21 篇论文背后的团队交流。