研究

Orchestrations v1:面向智能体的公开编排架构与性能研究

面向模型—工具回合的公开编排协议:统一网关控制面、流式事件、工具发现与性能观测。

阅读文章22 分钟阅读
Orchestrations v1 研究封面

摘要

我们把 /v1/orchestrations 设计为面向智能体运行时的公开编排协议:一次模型调用、工具发现、工具调用、工具结果、推理增量和最终输出被组织为可流式消费的 orchestration 对象。本文根据已实现源码、协议回归测试和实现记录,说明它承诺的边界、工具模型、事件投影与当前性能证据。

本研究不把协议层描述成“让模型更快”的魔法。它统一模型生态的鉴权、限额、路由、计量和日志控制面,并把不同下游格式投影为稳定的 orchestration.* 事件;模型排队、prefill 与首 token 解码仍由模型服务、输入长度、缓存和网络决定。主节点同机内网的六次短请求证明 JSON 与 SSE 都能完成事件闭环,但样本量不足以发布生产 SLA、P95/P99 或成本优势。

一、公开协议边界

对外资源由 POST /v1/orchestrationsPOST /v1/orchestrations/compact 与同路径 WebSocket 会话组成。主对象使用 orch_ 前缀与 orchestration 类型;状态为 queuedin_progresscompletedfailedincomplete。这些名字属于我们的公开契约,不要求客户端推断供应商、分区、时间或账户信息。

Agent / Vauix clientJSON, SSE or WebSocketAPI gatewayUnified authenticationpolicy and routing/v1/orchestrationsprotocol runtimeModel routerselected modelUnified result / streamorchestration.* projection统一对象、事件命名空间与客户端可观察状态
图 1. 公开参考架构。网关先统一鉴权、策略与路由;运行时再规范化输入与工具,最后把模型结果投影为独立的 orchestration.* 事件。客户端消费的是公开契约,而不是路由模型的原生事件格式。

输入面覆盖 modelinstructionsinputtoolstool_choiceparallel_tool_callsreasoningstorestreamincludeservice_tierprompt_cache_keytextclient_metadata。后者会被规范化为公开元数据;鉴权上下文、代理请求、敏感字段和运行时日志对象不会进入模型输入或公开响应。协议专注于可观察的模型—工具回合,不将自身定义为任务队列或通用工作流引擎。

二、流式事件与工具过程

SSE 的 event: 与 JSON type 统一使用 orchestration.* 命名空间。客户端可在最终文本之前接收 orchestration.created、输出项增加/结束、output_text.delta、工具参数 delta/done、推理摘要 delta、元数据以及 completed/failed/incomplete。不同模型未必暴露每一种事件,例如推理增量依赖下游能力;稳定的是事件语义和容错策略,而非把所有供应商能力伪装成等价。

工具面支持 function,并提供 namespace、tool_search、custom_tool、custom_tool_call 与 custom_tool_call_output。namespace 让宿主按能力域组织函数;tool_search 允许先发现后注入延迟加载工具,减少初始 schema 压力;自定义工具项保留调用和回填。MCP 可以担任工具目录或执行后端,但它解决的是工具/资源互操作,Orchestrations 解决的是一次模型回合的状态与面向用户的事件投影。

三、性能模型与观测点

我们把首次可见文本延迟拆为 ingress、鉴权策略、规范化、路由、供应商排队、模型 prefill、首次解码、流转换和网络。协议层最直接新增的是规范化与流投影;其规模随请求或事件体线性增长,预期通常小于远程模型推理,但仍必须靠基准验证。实现记录 TTFB、TTFE、TTFT,并关联模型标识和请求体字节数,不公开提示词、授权头或内部网络信息。

T_TTFT = T_ingress + T_auth_policy + T_normalize + T_route + T_provider_queue + T_model_prefill + T_first_decode + T_stream_transform + T_network

Ingress6%Auth / policy8%Normalize7%Route5%Provider queue30%Model prefill20%First decode16%Stream transform5%Network10%
图 2. 首文本增量延迟的分解模型。比例块用于展示责任边界而非测得占比:模型服务、排队、prefill 与首 token 解码通常主导;协议层主要增加规范化与事件投影,仍必须以受控基准验证。

SSE 的价值是允许前端在完整回答之前渲染,而不是承诺缩短总完成时间。tool_search 能以额外发现回合换取较小的初始工具定义;prompt_cache_key 只是缓存提示,命中和收益取决于路由策略;/compact 降低未来 prefill 的可能成本,同时自身消耗一次服务或模型预算。这些取舍必须按同一模型、区域、并发、token 预算和缓存条件测量。

四、主节点同机内网实测

2026-07-14,我们对 vauix/deepseek-v4-flash 进行了六次串行、固定短输入、无工具的真实请求:三次 JSON、三次 SSE。路径直连主节点本机 LiteLLM 数据面,绕过公网域名、边缘网关和跨机网络;它测得的是本机协议执行链路。请求不主动复用会话,也没有声明缓存键,运行时缓存、连接复用或上游排队仍可能造成波动。

总时延
2942 msJSON 1
1858 msJSON 2
242 msJSON 3
237 msSSE 1
214 msSSE 2
1550 msSSE 3
图 3. 2026-07-14 主节点同机内网、短输入、单并发、无工具的六次真实请求。蓝色为 JSON,绿色为 SSE;仅三次/形态,展示连通性与波动,不支持 P95/P99 或生产 SLA 结论。

JSON 三次均成功,响应头与总时延中位数为 1,858 ms。SSE 三次均完成公共事件闭环,响应头中位数 138 ms、首体字节中位数 140 ms、TTFT 中位数 160 ms、总时延中位数 237 ms。SSE 观测到 createdin_progress、输出项/内容项增量、output_text.delta、对应 done 事件与 completed。这支持“事件能在本机数据面较早到达”的有限结论;JSON 242–2,942 ms、SSE 214–1,550 ms 的跨度也说明不能从三次样本推出稳定分位数。

形态运行HTTP / 状态响应头 / 首体字节 msTTFT ms总时延 msToken / 响应字节
JSON1200 / completed2,941 / —2,9429 / 22 / 31
JSON2200 / completed1,858 / —1,8589 / 22 / 31
JSON3200 / completed242 / —2429 / 22 / 31
SSE1200 / 完整事件流138 / 1401602372,992 bytes
SSE2200 / 完整事件流117 / 1201402142,992 bytes
SSE3200 / 完整事件流1,435 / 1,4371,4781,5502,992 bytes

五、与主流接口的关系

OpenAI Responses 的对象化 response 生命周期、SSE typed events、函数/自定义工具、parallel_tool_callsprompt_cache_keyservice_tierstore 为行业接口提供了可验证经验;我们吸收这些概念作为兼容目标,但公开对象、事件和演进节奏始终以 orchestration 为准。Anthropic Messages 擅长以内容块呈现工具使用,Gemini Function Calling 把函数声明/响应嵌入生成循环;我们不试图替代它们,而是让路由模型进入统一网关控制面。MCP 也不是竞争对象:它可提供工具与资源,协议运行时负责把工具过程纳入模型回合。

六、可靠性与安全边界

客户端必须处理 failedincomplete,不能把缺少错误事件当作成功;工具执行是否可重试取决于调用 ID、幂等设计和宿主策略。namespace 与 tool_search 减少暴露面,却不能独自抵御提示注入、越权调用或结果投毒,执行端仍须执行身份、授权、参数校验、审计与最小权限。事件演进采取可加字段、可忽略未知事件的策略;字段删除、状态语义改变或工具项重命名应通过新版本或弃用期完成。

七、验证状态与下一步

实现记录显示顶层对象与事件命名空间转换、推理摘要索引、路由归类、内部元数据剔除、工具消息顺序和 tool_search 物化均有回归断言。当前复核没有重新执行 pytest:本地 Python 虚拟环境在测试收集前缺少标准库 encodings。这不是协议失败证据,也不能被计为重新验证通过。发布前应在干净、锁定依赖的环境运行协议测试,并建立 JSON/SSE/WebSocket 共用 conformance fixture、取消/断流测试、工具幂等与权限拒绝测试,以及按固定条件公开的性能原始聚合数据。

八、结论

Orchestrations v1 提供的是独立、可观察的模型—工具回合协议:网关吸收模型生态差异,运行时统一输入与工具编排,客户端消费稳定的对象和事件命名空间。当前实测表明本机内网的 JSON 与 SSE 路径可用,且 SSE 能较早交付文本增量;它没有证明生产吞吐、全局延迟或成本优势。后续发布将把性能、跨模型能力差集、工具安全与协议 conformance 作为独立、可复核的研究主题,而不是以单一平均延迟替代它们。