多 Provider 与跨模型续接
它要解决什么
Pi 把 Provider 差异收敛在 pi-ai:上层使用统一消息与流事件,切换模型时再把上一家 Provider 的思考块、工具调用和错误状态转换成目标接口可接受的表示。
源码给出的答案
统一调用面
pi-ai 为内建 Provider 和兼容 API 暴露统一的模型、流式响应、消息与用量类型;编码 Agent 通过 Provider 与模型 ID 选择实际后端。
[repo] [docs]
跨 Provider 续接
源码的 cross-provider handoff 会转换来自其他 Provider 的历史消息:文本、工具调用和结果继续保留,无法原样迁移的 thinking 块转成带标记的文本,从而让同一会话更换模型后仍可续接。
[repo]
收益与代价
跨 Provider 续接解决的是消息兼容,不保证两种模型对同一上下文有相同理解或工具策略。
故障切换或“快模型起步、强模型收尾”可以复用会话,但应重新检查目标模型支持的能力、上下文长度和计费。
别把取舍当成定律
Provider 专属的签名、缓存、推理配置与上游 response ID 不能一概迁移;统一接口会尽量保留语义,但不是字节级重放。
来源与核验
- [repo] Pi 官方源码(固定 revision)
- [docs] Pi 官方文档
Revision:853a80d26c90a14c1886f0ebb8ffaae133ca2185 · 核验日期:2026-08-31