Modelbeëindigingsrunbook voor AI API-gateways: inventariseren, testen, migreren en terugdraaien vóór het einde van de levensduur
Een praktisch runbook voor het behandelen van model-ID's als beheerde afhankelijkheden: inventarisgebruik, beëindigingen detecteren, vervangingen scoren, compatibiliteitstests uitvoeren, verkeer schaduwen, geleidelijk uitrollen en factureringsattributie behouden.
Hardgecodeerde model-ID's zijn stille productieafhankelijkheden. Ze werken totdat een provider een eindpunt een nieuwe naam geeft, een gedateerde momentopname intrekt, een alias wijzigt, een voorbeeldmodel verwijdert of een incompatibiliteit op API-niveau introduceert. De storing komt zelden voor als één schone uitval. Het komt tot uiting in schemafouten, hogere latentie, onverwachte weigeringen, verschillende argumenten voor het aanroepen van tools, gewijzigde kosten of klanttickets van tenants wier werklasten zich anders gedroegen na een overhaaste migratie.
De praktische oplossing is om model-ID's te behandelen als beheerde afhankelijkheden, en niet als statische tekenreeksen in applicatiecode. In een AI API-gateway betekent dit het bouwen van een herhaalbaar modelbeëindigingsrunbook: inventariseren, detecteren, impact beoordelen, vervangingen testen, verkeer schaduwen, geleidelijk uitrollen en snel terugdraaien als de compatibiliteit kapot gaat.
Feiten, aanbevelingen en voorspellingen
Feiten: Grote modelaanbieders publiceren modelcatalogi, versiebeheerrichtlijnen, beëindigingskennisgevingen en migratierichtlijnen. Deze bronnen laten zien dat de beschikbaarheid van modellen niet statisch is. Sommige providers maken onderscheid tussen gemaksaliassen en specifieke model-ID's, en sommige migraties kunnen verschillen op APIniveau bevatten die bestaande integraties verbreken.
Aanbevelingen: Plaats de levenscycluscontrole van modellen in de gateway. Stel logische modelnamen beschikbaar aan applicatieteams, houd het gebruik van providermodellen centraal bij, controleer bronnen van beëindiging en voer compatibiliteitstests uit voordat u overstapt op productieverkeer.
Voorspellingen: Levenscyclusbewerkingen van modellen zullen een normaal onderdeel worden van de AI-platformtechniek. Teams die systemen van meerdere providers gebruiken, zullen steeds vaker afhankelijke controles nodig hebben voor modellen: versie-inventarisatie, wijzigingsperioden, regressiecontroles, terugdraaiplannen en klantmeldingen.
De foutmodus: providermodel-ID's verspreid over applicatiecode
Een algemene implementatie begint eenvoudig:
{
"model": "provider-model-preview-2025-06",
"messages": [
{"role": "user", "content": "Extract the invoice fields as JSON."}
]
}
Dit is gemakkelijk voor een prototype en riskant voor de productie. De modelreeks kan worden gedupliceerd in backend-services, scripts, low-code-workflows, interne tools, klantintegraties en partnerproducten. Wanneer het model het einde van zijn levensduur nadert, kan geen enkele eigenaar de basisvragen beantwoorden:
- Welke API sleutels sturen er nog steeds verkeer naartoe?
- Welke tenants zijn afhankelijk van JSON schema, toolaanroepen, streaming, visie, audio of lange context?
- Wat is de dagelijkse blootstelling aan uitgaven en inkomsten?
- Welke productietaken kunnen een goedkoper model tolereren en welke vereisen een kwaliteitsbeoordeling?
- Kan het team een back-up maken zonder elke applicatie opnieuw te implementeren?
Een gateway is de logische plek om dit op te lossen, omdat deze al verzoeken, sleutels, tenants, providers, kosten, latentie en fouten ziet.
Stap 1: Maak een modelinventaristabel
Begin met een duurzame inventaris. Vertrouw niet alleen op providerdashboards, want u heeft uw eigen tenant-, sleutel-, facturerings- en workflowcontext nodig.
Een praktische model_inventory tabel kan het volgende bevatten:
logical_model_name support-fast
provider provider_a
provider_model_id model-x-preview-2025-06
endpoint_type chat_completions
alias_status pinned_snapshot | provider_alias | internal_alias
status active | deprecated | blocked | retired
replacement_candidates ["support-fast-v2", "support-balanced"]
first_seen_at timestamp
last_seen_at timestamp
deprecation_announced_at timestamp
shutdown_at timestamp
admin_override text
owner_team support-platform
Voeg dit dan toe met gebruiksgegevens. Voor elk providermodel en logisch model volgt u:
- Ingeschakelde tenants en API sleutels
- Verzoeken per dag en tokens per dag
- Uitgaven, marge of interne kostentoewijzing
- Latentiepercentielen, niet alleen gemiddelden
- 5xx-percentage, providerfoutenpercentage, time-outpercentage en percentage nieuwe pogingen
- Gebruik van gestructureerde uitvoer en percentage mislukte schema's
- Bijwerkingen van het gebruik van tools en het uitvoeren van tools
- Streamgebruik
- Modaliteiten zoals tekst-, beeld-, audio- en bestandsinvoer
- Contextlengteverdeling
Deze inventaris verandert een beëindigingsaankondiging van een paniek in een vraag.
Stap 2: Route door logische modelnamen
Het zou niet nodig moeten zijn dat applicatieteams de levenscyclusregels van elke provider kennen. Geef ze stabiele logische namen die de intentie van de werklast vertegenwoordigen:
support-fastsupport-qualitycoding-premiuminvoice-extractor-v2content-moderation-default
De gateway wijst deze namen toe aan providermodel-ID's:
{
"logical_model": "invoice-extractor-v2",
"routing_policy": {
"primary": {
"provider": "provider_a",
"model": "model-x-stable-2025-09"
},
"constraints": {
"requires_json_schema": true,
"max_input_tokens": 64000,
"region": "eu"
}
}
}
Dit betekent niet dat alle providergegevens verborgen moeten blijven. Het betekent dat providerspecifieke mogelijkheden in gateway-metagegevens worden geplaatst in plaats van deze via productcode te verspreiden. Een goede abstractie zegt zowel wat de applicatie wil als wat de provider daadwerkelijk kan doen.
Stap 3: Beëindigingen controleren als geplande bewerkingen
Een beëindigingsmonitor moet volgens een schema worden uitgevoerd en handmatige overschrijvingen ondersteunen. Het moet de catalogi van providermodellen, beëindigingspagina's, changelogs, release-opmerkingen en interne beheerdersvermeldingen controleren. Niet elk levenscyclussignaal zal beschikbaar zijn via een schoon, machinaal leesbaar API, dus laat een operator datums toevoegen of corrigeren.
Wanneer de monitor een levenscyclusgebeurtenis detecteert, maak dan een intern record:
provider_model_id: model-x-preview-2025-06
status: deprecated
shutdown_at: 2026-02-15
recommended_replacements:
- model-x-stable-2025-09
- model-y-mini-2025-10
source_type: provider_deprecation_page
confidence: confirmed
Activeer vervolgens automatisch de impactanalyse. Een beëindigingsmelding mag niet in een chatkanaal verschijnen totdat iemand eraan denkt om deze te onderzoeken.
Stap 4: Genereer een impactrapport
Het impactrapport moet specifiek genoeg zijn voor engineering-, financiële, ondersteunings- en partnerteams. Inclusief:
- Verouderd providermodel en betrokken logische namen
- Sluitingsdatum en aanbevolen beslissingsdeadline
- Betrokken tenants, teams en API sleutels
- Dagelijks verzoekvolume en tokenvolume
- Dagelijkse kosten, blootstelling aan klantenfacturering en marge-impact, indien van toepassing
- Belangrijkste eindpunten of producten die het model gebruiken
- Promptcategorieën of opgeslagen promptsjablonen
- Gebruik van JSON schema's, functie- of toolaanroepen, streaming, afbeeldingen, audio, bestanden of lange context
- Huidige latentiepercentielen en foutpercentages
- Bekende beperkingen op het gebied van contractuele gegevens of gegevenslocatie
Gebruikers van Partner API: stel een gefilterde versie van deze metadata beschikbaar, zodat bureaus, wederverkopers en bouwers van ingebedde AI-producten hun eigen klanten kunnen waarschuwen voordat het sluiten van een provider downstream-services beïnvloedt.
Stap 5: Stel een shortlist voor vervanging samen op basis van capaciteit
Kies geen vervanging op basis van alleen de merknaam. Geef kandidaten een score op basis van de werkdruk.
| Criterium | Te beantwoorden vraag |
|---|---|
| Contextvenster | Kan het de huidige p95-invoerlengte plus de verwachte groei aan? |
| Gestructureerde uitvoer | Ondersteunt het het schemagedrag dat de workflow vereist? |
| Tooloproepen | Zijn toolnamen, argumentvormen en oproepvolgorde compatibel? |
| Modaliteiten | Ondersteunt het de vereiste invoer van tekst, afbeeldingen, audio, bestanden of streaming? |
| Latentie | Kan deze voldoen aan het time-outbudget van de route op p95 of p99? |
| Kosten | Wat zijn de verwachte kosten voor invoer, uitvoer en nieuwe pogingen? |
| Veiligheidsgedrag | Zullen weigeringspatronen legitieme workflows verstoren? |
| Regio en retentie | Voldoet het aan tenantspecifieke nalevingsbeperkingen? |
Het nieuwste vlaggenschipmodel is niet altijd de beste vervanging. Een kleiner, nieuwer model kan de latentie en kosten behouden voor workloads met een hoog volume. Voor complexe codeer-, extractie- of redeneerworkflows kan een capabeler model nodig zijn. Het runbook zou dit expliciet moeten maken in plaats van elke beëindiging standaard in een upgrade om te zetten.
Stap 6: Voer een compatibiliteitsevaluatiepakket uit
Voordat u de productieroutering wijzigt, voert u een evaluatiepakket uit dat het werkelijke werklastrisico weerspiegelt.
Minimale evaluatieset
- Gouden aanwijzingen: stabiele voorbeelden met verwachte kenmerken, niet noodzakelijkerwijs één exact antwoord.
- Schemageldigheidstests: JSON parseersucces, vereiste velden, opsommingswaarden, lengtelimieten en controles van geneste objecten.
- Tool-call-tests: correcte toolselectie, geldige argumenten, geen onveilige dubbele bijwerkingen.
- Veiligheids- en weigeringscontroles: bevestigen dat legitieme zakelijke verzoeken nog steeds worden verwerkt.
- Kostenvergelijking: invoertokens, uitvoertokens, nieuwe pogingen en eventuele dubbele aanroepen.
- Latentievergelijking: p50, p95, p99, time-outsnelheid en latentie van de eerste token van streaming, indien relevant.
- Menselijke beoordeling: vereist voor hoogwaardige of dubbelzinnige workflows waarbij geautomatiseerde controles onvoldoende zijn.
Voor gestructureerde workflows is een enkele kwaliteitsscore in natuurlijke taal niet voldoende. De vervanging moet uitvoer opleveren die de downstream-code kan parseren en vertrouwen.
Stap 7: Volg productieverkeer veilig
Schaduwtesten betekent het dupliceren van een steekproef van productieverzoeken naar het kandidaatmodel, terwijl alleen het antwoord van het huidige model naar de gebruiker wordt geretourneerd. Bewaar het antwoord van de kandidaat afzonderlijk ter vergelijking.
if route.shadow_enabled and request.is_safe_to_shadow:
primary_response = call(current_model, request)
enqueue_shadow_call(candidate_model, request, trace_id)
return primary_response
Beschaduw niet alles. Vermijd het dupliceren van verzoeken die neveneffectieve toolaanroepen bevatten, tenzij de tooluitvoeringslaag is uitgeschakeld of bespot. Wees voorzichtig met gevoelige gegevens, bewaarregels en huurderscontracten. Schaduwtesten verhogen de tijdelijke tokenuitgaven, maar leveren bewijs op basis van echte aanwijzingen in plaats van alleen zorgvuldig geselecteerde testgevallen.
Vergelijk schaduwresultaten op:
- Schemageldigheid
- Compatibiliteit met toolaanroepen
- Uitvoerlengte
- Kosten per succesvol verzoek
- Latentieverdeling
- Weigering- en foutpatronen
- Taakspecifieke beoordelingsresultaten
Stap 8: Uitrollen met op percentages gebaseerde routing
Als de kandidaat slaagt voor de evaluatie, rol het dan geleidelijk uit. Geef de voorkeur aan routeringsbeheer bij de gateway per tenant, sleutel of logisch model in plaats van elke applicatie opnieuw te implementeren.
Een conservatieve reeks:
- Alleen interne huurders
- 1% van het in aanmerking komende productieverkeer
- 5%
- 25%
- 50%
- 100%
Definieer drempelwaarden voor terugdraaien voordat de uitrol begint:
rollback_if:
schema_failure_rate_increase: "> 1.0 percentage point"
provider_5xx_rate: "> 2x baseline"
p95_latency_increase: "> 30%"
cost_per_successful_request: "> 25% over approved budget"
tool_argument_validation_failures: "> 0.5%"
tenant_blocklist_hit: "any critical tenant"
Drempels moeten worden afgestemd op de werklast. Een chatbot kan vaak meer variatie in de formulering tolereren dan een pijplijn voor het extraheren van facturen. Een taak voor het samenvatten op de achtergrond kan een hogere latentie tolereren dan een interactieve ondersteuningsassistent.
Stap 9: Factureringsattributie behouden tijdens migratie
Modelmigratie kan de gebruiksanalyses verstoren als de gateway alleen providermodel-ID's registreert. Behoud zowel de logische als de fysieke modeldimensies:
tenant_id
api_key_id
logical_model_name
provider
provider_model_id
migration_id
input_tokens
output_tokens
provider_cost
customer_charge
latency_ms
status
schema_valid
De migration_id is belangrijk. Hiermee kunnen financiën en ondersteuning oud en nieuw gedrag vergelijken tijdens de uitrolperiode. Als een vervangingsmodel duurder is, kan het bedrijf beslissen of het het verschil wil absorberen, de prijzen wil aanpassen, sommige huurders naar een kleiner model wil verhuizen of goedkeuring van de klant nodig heeft.
Stap 10: Houd een auditlogboek en een terugdraaiplan bij
Elke migratie moet een record achterlaten:
- Verouderd model en vervangend model
- Logische modelnamen beïnvloed
- Besluiteigenaar en goedkeurders
- Link naar impactrapport
- Evaluatieresultaten
- Samenvatting van schaduwverkeer
- Tijdstempels van de implementatie
- Drempels voor terugdraaien
- Klant- of partnermeldingen
- Eindstatus en geleerde lessen
Een terugdraaiplan moet operationeel zijn en niet ambitieus. Als het oude providermodel binnenkort wordt stopgezet, kan het terugdraaien betekenen dat u naar een tweede vervangende kandidaat moet routeren, een functie moet uitschakelen, een strengere prompt moet gebruiken of het aantal getroffen tenants tijdelijk moet beperken. Documenteer de beschikbare opties vóór de overgang.
Te beheren afwegingen
- Vastgezette model-ID's verbeteren de reproduceerbaarheid maar verhogen het risico op het einde van de levensduur wanneer momentopnamen worden stopgezet.
- Provider-aliassen verminderen het onderhoud maar kunnen het gedrag onder een applicatie veranderen, waardoor ze regressiemonitoring nodig hebben.
- Abstractie op gatewayniveau vereenvoudigt de migratie maar kan providerspecifieke mogelijkheden verbergen, tenzij de metagegevens van de mogelijkheden expliciet zijn.
- Schaduwtesten verbeteren het vertrouwen maar verhogen de tijdelijke tokenuitgaven omdat verzoeken dubbel zijn.
- Automatische migratie vermindert het risico op uitval maar kan semantische regressies veroorzaken als vervangingen alleen worden geselecteerd op basis van prijs of generieke benchmarkscores.
- Overschrijvingen per tenant beschermen belangrijke klanten maar verhogen de operationele complexiteit en ondersteuningslast.
- Strikte compatibiliteitspoorten beschermen gestructureerde workflows maar kunnen de acceptatie van betere modellen vertragen die prompt- of schemawijzigingen vereisen.
Implementatiechecklist
- Maak een centrale inventaris van providermodellen en logische modelnamen.
- Blokkeer waar mogelijk directe providermodel-ID's van applicatieteams.
- Voeg monitoring van de levenscyclus van de provider en handmatige beheerdersoverschrijvingen toe.
- Genereer impactrapporten voor elke beëindigingsgebeurtenis.
- Beoordeel vervangingen op basis van mogelijkheden, kosten, latentie, compliance en compatibiliteit.
- Voer gouden aanwijzingen, schemacontroles, tool-call-controles, veiligheidscontroles en kostenvergelijkingen uit.
- Schaduwveilig productieverkeer voordat de vervanging wordt blootgelegd.
- Uitrol per tenant, sleutel of percentage met vooraf gedefinieerde drempelwaarden voor terugdraaien.
- Volg het logische model, het providermodel en de migratie-ID in gebruiksanalyses.
- Maak metadata over de beëindiging openbaar via partnergerichte API's wanneer downstream-klanten hierdoor worden getroffen.
Conclusie waar actie op ondernomen kan worden
Het veiligste moment om een modelbeëindigingsproces te ontwerpen is vóór de volgende afsluitingsmelding. Begin met één regel: toepassingen vragen om logische modelnamen en de gateway is eigenaar van de providertoewijzing. Voeg vervolgens de operationele laag rond die regel toe: inventarisatie, monitoring, impactrapporten, evaluaties, schaduwverkeer, gefaseerde implementatie, terugdraaien en auditlogboeken.
Dit verandert de modelmigratie van een last-minute tekenreeksvervanging in een beheerde afhankelijkheidsworkflow. Het doel is niet om modelgedrag voor altijd te bevriezen. Het doel is om modellen doelbewust te wijzigen met behoud van kwaliteit, kosten, latentie, gestructureerd uitvoergedrag en factureringsattributie.