Zulassung mit Token-Bucket
Entscheide die Token-Bucket-Zulassung mit einem expliziten Zeitpunkt und liefere den Folgezustand.
from math import isfinite
def admit(tokens, last, now, capacity, rate, cost):
values = (tokens, last, now, capacity, rate, cost)
if not all(type(x) in (int, float) and isfinite(x) for x in values):
raise ValueError("finite numbers required")
if not (capacity > 0 and rate > 0 and 0 < cost <= capacity
and 0 <= tokens <= capacity and now >= last):
raise ValueError("invalid bucket state")
refill = min(capacity, tokens + (now - last) * rate)
allowed = refill >= cost
return (refill - cost if allowed else refill, now), allowed| Projekt | Prüfe genaue Leerung und gedeckeltes Auffüllen und lehne rückläufige Zeit, ungültige Kosten und nichtendliche Werte ab. |
|---|---|
| Vor dem Anwenden prüfen | Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen. |
| Modelle | Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen. |
from math import isfinite
def admit(tokens, last, now, capacity, rate, cost):
values = (tokens, last, now, capacity, rate, cost)
if not all(type(x) in (int, float) and isfinite(x) for x in values):
raise ValueError("finite numbers required")
if not (capacity > 0 and rate > 0 and 0 < cost <= capacity
and 0 <= tokens <= capacity and now >= last):
raise ValueError("invalid bucket state")
refill = min(capacity, tokens + (now - last) * rate)
allowed = refill >= cost
return (refill - cost if allowed else refill, now), allowedDen Zustandsübergang vor einer Regeländerung beschreiben
TokenCoppice ist eine Programmierumgebung für Windows zur Untersuchung zustandsabhängigen Anwendungscodes mit einem KI-Modell. Halten Sie zunächst den Zustand vor einer Operation und das danach erwartete Ergebnis fest. Das gibt dem Gespräch einen beobachtbaren Vertrag und macht sichtbar, ob eine Änderung die Regeln betrifft oder lediglich deren Arithmetik umstellt.
Eine Token-Bucket-Zulassungsfunktion liefert eine Beispielaufgabe. Bringen Sie Ihre aktuellen Regeln für Kapazität, Auffüllung und Anfragekosten ins Gespräch ein und lassen Sie den Assistenten den nach Annahme oder Ablehnung zurückgegebenen Zustand prüfen. Das Beispiel rahmt die Quelltextprüfung; der Betrieb eines Dienstes zur Ratenbegrenzung bleibt Aufgabe Ihrer Anwendung und Infrastruktur.
Prüfen Sie den vorgeschlagenen Übergang mit Blick auf Zeitannahmen und den für die nächste Anfrage gespeicherten Zustand. Testen Sie Grenzfälle wie ein Guthaben genau in Höhe der Kosten und eine Anfrage ohne verstrichene Zeit. Führen Sie diese Prüfungen im eigenen Projekt aus und prüfen Sie Aufrufer, bevor Sie annehmen, dass eine lokal korrekte Hilfsfunktion das Verhalten gleichzeitiger Anfragen festlegt.
Sie können als ungefiltert beschriebene Modelle über einen unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt wählen, der sie anbietet. Konfigurieren Sie erforderliche Zugangsdaten und prüfen Sie verfügbare Werkzeuge und Kontext. Modellverhalten und Grenzen des Endpunkts gelten weiterhin, während Ihre Akzeptanzkriterien auf den festgelegten Anwendungsregeln und Testergebnissen beruhen.
Fragen zu zustandsabhängigen Regeländerungen
Was sollte eine Anfrage zu Zulassungsregeln enthalten?
Geben Sie Anfangszustand, Anfragekosten, Zeitwerte und erwartete Entscheidung an. Legen Sie fest, welche aktualisierten Werte danach gespeichert werden müssen. So kann der Assistent über einen vollständigen Übergang nachdenken, statt Regeln aus einem einzelnen arithmetischen Ausdruck zu erraten.
Garantiert eine korrekte Hilfsfunktion gleichzeitige Ratenbegrenzung?
Nein. Prüfen Sie, wie Ihre Anwendung gemeinsamen Zustand liest und schreibt und welche Nebenläufigkeitsgarantien dieser Speicher bietet. Eine isoliert getestete Hilfsfunktion belegt nicht, dass gleichzeitige Anfragen nicht dasselbe verfügbare Guthaben verbrauchen können.
Wie sollen abgewiesene Anfragen den gespeicherten Zustand beeinflussen?
Definieren Sie dies ausdrücklich für Ihre Regeln, einschließlich zeitabhängiger Auffüllung und Zeitstempelaktualisierung. Lassen Sie das Modell seinen Übergang erklären und testen Sie aufeinanderfolgende Anfragen, da ein scheinbar harmloser abgewiesener Aufruf die nächste Entscheidung beeinflussen kann.
Kann ich experimentieren, ohne aktive Zulassungsregeln zu ändern?
Verwenden Sie Testfälle und eine Entwicklungsinstanz Ihrer Anwendung, um Übergänge vor einer Regeländerung zu vergleichen. TokenCoppice unterstützt das Programmiergespräch; Prüfung und betriebliche Einführung bleiben beim bestehenden Prozess Ihres Projekts.
TokenCoppice · Aktualisiert 2026-10-25