从单模型直连到多 provider 动态路由,我们在工程侧踩过哪些坑,最终形成了什么样的架构决策。
Interaction 接入了十余个模型提供商。用户不需要知道哪条请求走 Claude、哪条走 GPT——系统按任务类型、响应速度预期和配额状态自动选择。
最难的不是写路由逻辑,而是在 fallback 透明和用户感知一致之间取得平衡。
路由层的核心是 ModelInfo 表:每个模型有 minTier(访问门槛)、costTier(计费权重)、supportsThinking、useResponsesApi 等属性,路由器在运行时依据这些属性打分排序。
最难的不是写路由逻辑,而是在「fallback 透明」和「用户感知一致」之间取得平衡。我们最终选择了静默降级 + 事后在界面提示「使用了 X 模型」的方案。