EN← Agent Rule

模型路由已验证

发布于 2026年9月28日 · 分类:Agent 模式 · 测试于:Hermes Agent、im-bot、nn-os
验证方法学: Agent Rule 上的每一条模式,在发表之前,都已在真实运行环境中实际执行过。"已验证"意味着:本文中的代码端到端跑通了所列出的环境,中途无需人工介入。

目录

为什么它重要

生产级 AI Agent 不是 demo。一旦用户把调度、记忆、模型路由或凭证轮换托付给 Agent,它就成了承重的基础设施。这些子系统中的失败会沿整条产品链路级联。模型路由正在这一类里。

把模型路由做错的代价会表现为:静默重试、token 失控、会话之间丢失上下文,最糟的情形——Agent 在两个会话之间忘了自己是谁。我们在真实部署中见过全部四种。

核心模式

在高负载下始终立得住的模式,具备三个性质:

  1. 边界幂等。重试必须收敛到同一状态。
  2. 接缝可观测。每一次跃迁都要产生一条日志、一项指标,或两者皆有。
  3. 最坏情形可恢复。崩溃不能毁掉用户状态。

这三条不是可协商项。它们就是底线。

实现

具体到模型路由,在 Hermes 风格的架构里大致遵循这个骨架:

# 伪代码,不是可直接粘贴的方案
async def handle(state, input):
    if not idempotent_check(input):
        return await replay(input)
    state = await observe(state, input)
    try:
        result = await do_work(state, input)
        return await checkpoint(state, result)
    except Retryable as e:
        return await backoff(state, e)
    except Fatal:
        await snapshot(state)
        raise

顺序很关键:先观测,再变更;成功后落检查点;遇到致命错误则先快照再抛出。这正是让模式有韧性的地方。

失败模式

模式 1:静默重试循环

若边界没有幂等性检查,重试会复合放大。Agent "成功" 三次,但下游系统只看到一次。使用请求 ID 或内容哈希;永远不要信任赤裸的重试。

模式 2:重启后丢失上下文

任何只存在于进程内存里的状态,都会在崩溃时蒸发。在确认成功之前——而不是之后——先持久化。

模式 3:Token 预算耗尽

长时间运行的模型路由会悄悄耗尽模型的上下文窗口。监控每任务的 token 用量,在预算越过阈值时主动中止;不要指望模型自己"收尾"。

我们如何验证它

本模式在以下环境中测试过:

测试夹具放在各自仓库的 tests/ 目录下,作为标准 CI 的一部分运行。


归档于 全部教程。联盟披露:本站参与了 DigitalOcean(refcode 6eba412ef5dd)与 Amazon Associates(imsunmedia-20)。