Agent 编排限流:智能体再多,也要排队进场 Agent 编排限流智能体再多也要排队进场一、Agent 编排最怕并发失控多个 Agent 协作时系统很容易从“自动化”变成“并发风暴”。规划 Agent 拆出任务执行 Agent 调工具评审 Agent 再触发重试。如果没有限流一个用户请求可能放大成几十次模型调用和工具调用。Agent 编排要像生产服务一样做容量管理。模型、检索、工具、队列和数据库都有上限。智能体数量不是越多越强关键是每个动作都在预算里执行。二、限流要按资源分层flowchart TD A[用户请求] -- B[编排器] B -- C[模型调用池] B -- D[工具调用池] B -- E[检索调用池] C -- F[结果聚合] D -- F E -- F全局 QPS 限制只能挡入口挡不住内部放大。编排器需要按资源设置并发池。模型调用有 token 和供应商限额工具调用有下游容量检索调用有向量库压力。每类资源都要单独限流。任务优先级也要明确。交互请求优先于后台批处理高风险工具调用优先走人工确认低价值重试要尽早停止。没有优先级系统过载时就会随机变慢。三、步骤预算要写进状态agent_budget: max_steps: 8 max_tool_calls: 5 max_tokens: 12000 deadline_ms: 6000每次编排都应带预算。超过最大步骤数说明计划可能失控超过工具调用数说明任务需要重新确认超过 deadline就应该降级或返回部分结果。预算不是限制智能而是防止系统失控。编排状态里要记录每一步消耗。哪个 Agent 花了最多 token哪个工具最慢哪个重试没有价值都应该可见。否则成本上升时只能感觉“Agent 很贵”却不知道贵在哪里。if state.tool_calls budget.max_tool_calls: return stop(tool budget exceeded)四、过载要可解释地拒绝当系统忙时不要让用户无限等待。可以返回“当前任务复杂度较高请缩小范围”或者先给低成本摘要再提示稍后生成完整结果。拒绝要有语义而不是统一 500。限流指标要进入看板。编排等待时间、模型池排队、工具拒绝次数、任务中止原因都能反映 Agent 系统健康度。真正成熟的 Agent 平台先像普通分布式系统一样稳定再谈智能体验。还要把限流策略写进编排协议。每个 Agent 接到任务时都应该知道剩余预算、可用工具和当前优先级。否则上游限流很严格下游 Agent 仍然可能继续拆任务导致状态不一致。协议里明确预算协作才不会变成自由发挥。队列也要有最大长度。无界队列看起来能吸收流量实际是在延迟爆炸前隐藏问题。队列满时要快速拒绝低优先级任务并返回可重试时间。对用户来说早一点知道系统忙比等到超时更好。编排器还应支持熔断。某个工具连续失败短时间内就不要继续调用它可以切换备用工具、降级回答或请求人工确认。Agent 系统里最贵的错误不是失败一次而是失败后还不断重试。最后限流策略要经过压测。模拟多个 Agent 同时拆任务、工具超时、模型供应商限速和检索变慢观察系统是否能稳定拒绝。没有过载测试限流配置只是写在 YAML 里的愿望。五、总结Agent 编排限流要按模型、工具、检索等资源分层给每次任务设置步骤、调用、token 和时间预算。智能体再多也不能无约束行动。能排队、能拒绝、能解释才是能上线的 Agent 编排。