Projekt
Sprawdź przeniesienie cykliczne i pusty przypadek, odrzuć inne typy i oddziel tę niekryptograficzną kontrolę od uwierzytelniania.
Oblicz 16-bitową sumę internetową dla zera do 65535 bajtów, dopełniając ostatni nieparzysty bajt zerem.
def internet_checksum(data):
if type(data) is not bytes or len(data) > 65535:
raise ValueError("checksum.bytes")
total = 0
for i in range(0, len(data), 2):
total += (data[i] << 8) | (data[i+1] if i+1 < len(data) else 0)
while total >> 16:
total = (total & 65535) + (total >> 16)
return (~total) & 65535
Sprawdź przeniesienie cykliczne i pusty przypadek, odrzuć inne typy i oddziel tę niekryptograficzną kontrolę od uwierzytelniania.
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.
def internet_checksum(data):
if type(data) is not bytes or len(data) > 65535:
raise ValueError("checksum.bytes")
total = 0
for i in range(0, len(data), 2):
total += (data[i] << 8) | (data[i+1] if i+1 < len(data) else 0)
while total >> 16:
total = (total & 65535) + (total >> 16)
return (~total) & 65535
CarryLoam to oprogramowanie do programowania z AI dla Windows, służące do badania zmian, których poprawność zależy od dokładnej interpretacji bajtów. Otwórz projekt i opisz format, który kod ma wytwarzać lub odczytywać. Poproś model o sprawdzenie odpowiedniej implementacji i kodu wywołującego, zachowując niezależnie znane wyniki w rozmowie, aby przegląd miał podstawę szerszą niż wiarygodnie brzmiące wyjaśnienie.
Procedura internetowej sumy kontrolnej jest przydatnym przykładem zadania. Podaj krótki przypadek parzystej długości i przypadek nieparzystej długości z oczekiwanymi wynikami, a następnie zapytaj, jak kod obsługuje ostatni bajt i składanie przeniesień. Ukierunkowany przegląd pozwala powiązać te szczegóły ze ścieżką budowania pakietów bez zakładania poprawności otaczającej implementacji protokołu.
Sprawdź proponowaną poprawkę pod kątem zmian kolejności bajtów, dopełnienia i miejsca zapisu sumy kontrolnej. Uruchom testy projektu i porównaj wynik z niezależnym wzorcem odpowiednim dla formatu. Jeśli pojawi się rozbieżność, zachowaj bajty wejściowe i oba wyniki, aby kolejna rozmowa mogła dotyczyć odtwarzalnego przypadku.
Wybierz model AI bez cenzury, jeśli jest oferowany przez obsługiwany punkt końcowy zgodny z OpenAI lub Anthropic. Dodaj wymagane dane uwierzytelniające i sprawdź dostępne narzędzia oraz pojemność kontekstu. Wybrany model i dostawca nadal określają ograniczenia; ani etykieta, ani środowisko nie potwierdzają poprawności czy bezpieczeństwa pakietu.
Obliczanie oczekiwań tą samą logiką może powielać ten sam błąd. Użyj odpowiedniego wzorca lub niezależnie zweryfikowanego przypadku testowego i zachowaj dokładne bajty wejściowe. Daje to rozmowie z modelem i testom osobną podstawę porównania.
Powinien uwidaczniać w oczekiwanym wyniku sposób traktowania ostatniego bajtu. Poproś model o wyjaśnienie proponowanego dopełnienia i kolejności bajtów, a następnie porównaj wynik. Test sprawdzający wyłącznie typ wyniku nie wykryje tych różnic.
Nie. Pozostałe pola, długości i reguły protokołu nadal wymagają własnych kontroli. Oceń zmianę sumy kontrolnej w jej zakresie i w razie potrzeby sprawdź otaczający kod budowania pakietów, nie traktując jednej zgodnej wartości jako walidacji całej wiadomości.
Przed wykonaniem sprawdź jego cel i skutki; sztuczne lokalne przypadki testowe mogą wystarczyć. Lokalny model wymaga oddzielnie działającego serwera i nie sprawia, że każde podłączone narzędzie jest lokalne, w tym narzędzia wysyłające lub sprawdzające pakiety.
CarryLoam · Zaktualizowano 2026-10-25