Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Sprowadź od jednego do 16 pól Content-Length do 128 znaków do jednej zgodnej wartości od zera do 2147483647.
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
Sprawdź listy przecinkowe, początkowe zera, spacje i tabulatory, odrzucając puste elementy, znaki, nowe linie i rozbieżności bez pełnej walidacji ramkowania HTTP.
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Leniora to środowisko programowania z AI dla Windows do utrzymania kodu między przychodzącymi polami protokołu a decyzjami aplikacji. Otwórz odpowiedni folder źródeł i określ regułę akceptacji, którą projekt ma egzekwować. Poproś podłączony model o wspólne sprawdzenie parsera pól i kodu wywołującego przed zaproponowaniem złagodzenia reguł lub porządkowania.
Jedno z przykładowych zadań dotyczy content_length.py i powtórzonych wartości Content-Length. Dodaj do rozmowy zgodny i sprzeczny zestaw wartości dziesiętnych, z oczekiwaną reakcją dla każdego. Oceń proponowaną zmianę pod kątem białych znaków, składni liczbowej i granic, ponieważ pozornie drobne zmiany parsowania mogą rozszerzyć kontrakt akceptowanych danych.
Kontynuuj przegląd w kodzie korzystającym ze sparsowanego wyniku. Uruchom przypadki testowe projektu i sprawdź obsługę odrzucenia przed kontynuacją przetwarzania treści. Oddziel tę ograniczoną politykę od twierdzeń o pełnej implementacji HTTP: użyteczny rezultat to zmiana, którą możesz ocenić względem zachowania rzeczywiście potrzebnego aplikacji.
Wybierz obsługiwany punkt końcowy zgodny z OpenAI lub Anthropic do pomocy modelu, z danymi uwierzytelniającymi w razie potrzeby. Może tam być dostępny model AI bez cenzury, ale dostawca określa jego rzeczywiste ograniczenia. Dostępne narzędzia i pojemność kontekstu zależą od modelu i serwera; precyzyjne testy pomagają utrzymać rozmowę o kodzie w tych granicach.
Zależy to od polityki akceptacji wdrożonej w projekcie. Przykład wymaga zgodności podanych wartości dziesiętnych. Przed zmianą reguły sprawdź otaczającą obsługę protokołu i przygotuj na rozmowę o kodzie testy zgodnych oraz sprzecznych wartości z oczekiwanymi wynikami.
Najpierw sprawdź, jakie dodatkowe formy zaakceptuje, w tym znaki lub inną notację liczbową. Wygodna funkcja konwersji może rozszerzyć gramatykę. Poproś model o jawne porównanie akceptacji, zamiast traktować mniejszą liczbę wierszy parsera jako dowód równoważnej semantyki.
Prześledź wynik parsera w kodzie wywołującym i określ wymaganą reakcję na błąd. Sprawdź, czy obsługa treści nie może kontynuować z arbitralnie wybraną sprzeczną wartością. Uruchom tę ścieżkę w projekcie; sam pokazany wyjątek nie potwierdza otaczającego przepływu sterowania.
Podaj dokładne ciągi pól z opisem spacji i tabulatorów oraz oczekiwanym wynikiem akceptacji. Unikaj przykładów ukrywających omawiane znaki. Porównaj testy z deklarowaną regułą przycinania przed przyjęciem bardziej liberalnej normalizacji.
Leniora · Zaktualizowano 2026-10-25