Things that break on a swap
- Tool-call format — argument parsing, role names, parallel-call shape.
- JSON enforcement mode — strict schemas vs JSON mode vs tool-as-schema.
- System prompt placement — top-level vs message vs system_instruction.
- Token counting — counts off; cost forecasts wrong.
- Refusal calibration — same input refused on one, accepted on another.
- Reasoning interface — extended thinking vs reasoning_effort vs thinking_budget.
- Multimodal input format — base64 vs URL vs file id.
Pre-migration checklist
- Run your golden set on both providers.
- Compare cost and latency, not just quality.
- Identify any prompt-side changes needed (tag style, response_format).
- Test the eval suite end-to-end on the new provider.
- Plan for parallel runs during cutover; don't switch atomically on day one.