Bewährte Verfahren für den Produktivbetrieb
Was stimmen muss, bevor eine Integration echten Datenverkehr verarbeitet.
Zuverlässigkeit
- Wiederholen Sie Anfragen bei den richtigen Statuscodes.
429,500,502,503,529mit exponentiellem Backoff und Jitter. Wiederholen Sie niemals blind400,401,402oder403. - Legen Sie Zeitlimits fest. Eine lange Generierung kann durchaus Minuten dauern; ein hängender Socket sollte Ihren Worker nicht mit lahmlegen. 120 Sekunden sind eine sinnvolle Obergrenze für Aufrufe ohne Streaming.
- Begrenzen Sie die Parallelität mit einem Semaphor, statt alles gleichzeitig abzuschicken und abgewiesene Anfragen erneut zu senden.
- Halten Sie ein Ersatzmodell bereit. Wenn Ihr primäres Modell überlastet ist, ist der Wechsel zu einem kleineren Modell besser als eine Fehlermeldung.
Kosten
- Setzen Sie
max_tokensbei jedem Aufruf. Es ist eine Ausgabenobergrenze, kein Richtwert. - Leiten Sie Anfragen je nach Aufgabe weiter — siehe Kostenkontrolle.
- Aktivieren Sie Prompt-Caching für stabile Präfixe.
- Protokollieren Sie
usagepro Anfrage mit einer Aufgabenkennzeichnung, damit Sie die Ausgaben später zuordnen können.
Sicherheit
- Schlüssel gehören in Umgebungsvariablen oder einen Secret Manager — niemals ins Repository und niemals in ein Client-Bundle.
- Ein Schlüssel pro Dienst, damit sich der Zugriff gezielt widerrufen lässt.
- Erstellen Sie Prompts niemals, indem Sie nicht vertrauenswürdige Benutzereingaben per Zeichenkettenverkettung mit Anweisungen verbinden; belassen Sie Benutzerinhalte in einer
userNachricht und Anweisungen insystem. - Behandeln Sie Modellausgaben als nicht vertrauenswürdig. Verwenden Sie nicht
evaldarauf und führen Sie generiertes SQL nicht mit einer Rolle aus, die Schreibzugriff hat.
Beobachtbarkeit
- Protokollieren Sie Modell, Latenz,
usage,stop_reasonund Ihren eigenen Aufgabentyp bei jedem Aufruf. - Richten Sie einen Alarm für die
stop_reason: max_tokensRate ein — ein Anstieg bedeutet, dass Antworten abgeschnitten werden. - Erfassen Sie die Kosten pro Aufgabentyp, nicht nur die Gesamtkosten. Gesamtkosten verbergen, bei welcher Arbeitslast sich die Kosten verschlechtert haben.
Der wertvollste Alarm betrifft abgeschnittene Antworten, nicht Fehler. Eine abgeschnittene Antwort gibt HTTP 200 zurück und sieht für Ihr Monitoring unauffällig aus, obwohl sie für den Benutzer falsch ist.