Begrenzte Lauflängendekodierung
Expandiere Byte-Wiederholungen erst nach Prüfung der gesamten Ausgabegrenze.
def expand_runs(runs, limit):
if type(limit) is not int or limit < 0:
raise ValueError("limit.invalid")
total = 0
for value, count in runs:
if type(value) is not int or not 0 <= value <= 255:
raise ValueError("byte.invalid")
if type(count) is not int or count <= 0:
raise ValueError("count.invalid")
total += count
if total > limit:
raise ValueError("output.limit")
return bytes(value for value, count in runs for _ in range(count))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.
Projekt
Weise null oder negative Anzahlen, ungültige Bytewerte und übergroße Summen zurück, ohne die Ursprungsliste zu ändern.
def expand_runs(runs, limit):
if type(limit) is not int or limit < 0:
raise ValueError("limit.invalid")
total = 0
for value, count in runs:
if type(value) is not int or not 0 <= value <= 255:
raise ValueError("byte.invalid")
if type(count) is not int or count <= 0:
raise ValueError("count.invalid")
total += count
if total > limit:
raise ValueError("output.limit")
return bytes(value for value, count in runs for _ in range(count))Grenzen der Datenexpansion bei der Codeprüfung sichtbar machen
OctetWeave ist KI-Programmiersoftware zur Bearbeitung von Änderungen an Parsern und Datenumwandlungen in einem bestehenden Projekt. Die Windows-Arbeitsumgebung hält Projektordner und Modellgespräch nahe am zu prüfenden Code. Beschreiben Sie zunächst zulässige Eingaben, erwartete Ausgaben und den Punkt, an dem übergroße Daten abgelehnt werden sollen. Diese Details helfen, einen vorgeschlagenen Patch an einer echten Anwendungsanforderung auszurichten.
Die begrenzte Lauflängenexpansion in runs.py liefert ein Beispiel. Sie könnten den Assistenten prüfen lassen, ob die expandierte Länge vor der Ausgabeerzeugung kontrolliert wird, und anschließend untersuchen, wie eine ungültige Anzahl den Aufrufer erreicht. Dies ist eine beispielhafte Programmieraufgabe, keine in OctetWeave enthaltene Dekompressionsfunktion. Das nützliche Ergebnis ist eine Änderung, deren Validierungs- und Speicherreservierungsverhalten Sie zusammen mit dem umgebenden Parser prüfen können.
Ergänzen Sie die Prüfung durch Projekttests für normale Läufe, fehlerhafte Anzahlen und Daten an der vereinbarten Grenze. Prüfen Sie, wie der Verbraucher mit einer Ablehnung umgeht, da eine neue Validierungsregel mehr als die Umwandlung selbst verändern kann. Verbinden Sie ein ungefiltertes Modell nur, wenn es über einen unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt verfügbar ist, und geben Sie bei Bedarf Zugangsdaten an. Modellrichtlinien, Serverwerkzeuge und Kontextkapazität bestimmen weiterhin diese Verbindung. Ihre Wahl begründet keine Ressourcengarantien für den vorgeschlagenen Code.
Eine Parseränderung mit Begrenzung vorbereiten
- Woher sollte ein Ausgabelimit stammen?
Leiten Sie es aus Ihren Anwendungsanforderungen und Betriebsgrenzen ab, statt einen willkürlichen Modellvorschlag zu übernehmen. Bestimmen Sie, wer das Limit vorgibt und wie eine Ablehnung gemeldet wird. Prüfen Sie diese Entscheidung anschließend sowohl im Parser als auch bei seinem Aufrufer.
- Was sollten Grenztests enthalten?
Nutzen Sie eine normale Eingabe, eine Eingabe genau am zulässigen Limit und eine darüber. Ergänzen Sie zum Format passende fehlerhafte Werte. Prüfen Sie das erwartete Fehlerverhalten ebenso wie die erfolgreiche Ausgabe.
- Kann OctetWeave einen Parser gegen Ressourcenerschöpfung zertifizieren?
Eine solche Zertifizierung wird nicht beansprucht. Sie können vorgeschlagenen Code prüfen und Tests in der Arbeitsumgebung besprechen. Die Bewertung des Ressourcenverbrauchs erfordert jedoch Prüfungen der tatsächlichen Implementierung und Laufzeit unter für Ihre Anwendung relevanten Bedingungen.
- Warum nach zusätzlicher Validierung den Aufrufer prüfen?
Der Aufrufer erwartet möglicherweise für jede Eingabe Daten und verarbeitet eine neue Ablehnung falsch. Prüfen Sie Fehlerweitergabe und sichtbares Benutzerverhalten, damit die Grenze den Anwendungsvertrag verbessert, ohne ungültige Eingaben in einen unerklärten Fehler zu verwandeln.
OctetWeave · Aktualisiert 2026-10-25