AI 简明手册
Pi 源码解读 · 模型与工具多 Provider 与跨模型续接

多 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 不能一概迁移;统一接口会尽量保留语义,但不是字节级重放。

来源与核验

  1. [repo] Pi 官方源码(固定 revision)
  2. [docs] Pi 官方文档

Revision:853a80d26c90a14c1886f0ebb8ffaae133ca2185 · 核验日期:2026-08-31