Buu 如何给 AxonHub 的上游 providers / groups 排序
Decision(决策)
Buu 给 AxonHub 里的上游 providers / groups 排序时,采用的是综合权衡,不按成功率单一排序。
Context(背景)
Buu 同时会使用很多文本、图片、视频模型渠道。
这些渠道的现实差异并不只体现在“能不能成功”,还包括:
- 价格高低
- 是否有免费额度或补贴空间
- 稳定性波动
- 是否适合当前任务类型
因此,fallback 链路的顺序本身就是一种成本—稳定性折中,而不是单纯的可用率排名。
Criteria(判断标准)
当前排序至少会综合考虑:
- 真实成本,而不是表面标价
- 免费额度、赠送额度、活动补贴等实际可利用空间
- 稳定性与失败概率
- 对当前任务的适配度
- 是否值得放在前面承担主流量
- 是否更适合放在后面承担兜底流量
Facts(事实)
- Buu 明确说明,自己不是按“谁成功更多就排前面”的思路排序。
- Buu 会把更便宜、或有免费额度的 providers / groups 放得更靠前。
- Buu 会把更稳但更贵的 providers / groups 放得更靠后,作为 fallback。
- 这种判断不是只针对文本模型,而是会横跨文本、图像、视频模型。
- AxonHub 的多上游逻辑模型名 + fallback 机制,正好允许这种现实排序落地。
Interpretation(解释)
这意味着 fallback 链路顺序不能被简单理解成“质量梯队”或“成功率梯队”。
它更接近一种现实运营顺序:
- 前面承接更便宜、更有额度优势、但可能不够稳的流量
- 后面承接更稳、更贵、但成本更高的兜底流量
所以,当某个后置 provider 最近更成功,并不自动意味着它应该被移到最前面。
Current Rule(当前规则)
- 排序时先看综合成本与额度条件,再结合稳定性做平衡。
- 成功率只是一个维度,不是唯一维度。
- 便宜 / 免费额度更好的 providers / groups 可以故意放前面。
- 更稳但更贵的 providers / groups 可以故意放后面做 fallback。
- 分析当前链路时,不应擅自把“后置 provider 最近成功”解释成“排序错了”。
Exceptions(例外)
- 如果某个 provider / group 已经差到几乎无法承接任何有效请求,即使它便宜,也不应继续放在前面。
- 如果某条业务对稳定性要求远高于成本,排序可以临时向“更稳优先”倾斜。
- 如果某个免费额度已经耗尽,相关排序判断需要立刻重算。
Review Trigger(复查触发条件)
出现以下情况时,应重新审视排序:
- 价格、倍率、充值汇率、免费额度发生变化
- 某个 group 的稳定性显著恶化或显著改善
- 某类任务的优先目标发生变化,例如从省钱转向稳产出
- 当前排序导致整体成功率或实际成本明显偏离预期