Проєкт
Перевірте циклічне перенесення й порожній ввід, відхиляйте інші типи та відділяйте некриптографічну перевірку від автентифікації.
Обчисліть 16-бітну інтернет-суму для 0–65535 байтів, доповнюючи останній непарний байт нулем.
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
Перевірте циклічне перенесення й порожній ввід, відхиляйте інші типи та відділяйте некриптографічну перевірку від автентифікації.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
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 — програма для розробки з ШІ у Windows для дослідження змін, правильність яких залежить від точного тлумачення байтів. Відкрийте проєкт і опишіть формат, який код має створювати або споживати. Попросіть модель дослідити реалізацію та місця виклику, зберігаючи в розмові незалежно відомі результати, щоб перевірка спиралася не лише на правдоподібне пояснення.
Процедура контрольної суми Internet — один із корисних прикладів запиту. Надайте короткі тестові дані парної й непарної довжини з очікуваними результатами, а потім запитайте, як код обробляє останній байт і циклічне додавання переносу. Конкретна перевірка може пов’язати ці деталі зі шляхом створення пакетів, не припускаючи правильності решти реалізації протоколу.
Перевірте запропоноване виправлення на зміни порядку байтів, доповнення та місця збереження контрольної суми. Запустіть тести проєкту й порівняйте з незалежним еталоном, придатним для формату. За розбіжностей збережіть вхідні байти та обидва результати, щоб наступне обговорення могло дослідити відтворюваний випадок.
Виберіть модель ШІ без цензури, якщо її пропонує підтримувана кінцева точка, сумісна з OpenAI, або Anthropic. Додайте потрібні облікові дані та перевірте доступні інструменти й місткість контексту. Обмеження все одно визначають вибрана модель і провайдер; ані назва, ані середовище не підтверджують коректності чи безпечності пакета.
Обчислення очікувань тією самою логікою може повторити ту саму помилку. Використайте придатний еталон або незалежно перевірений приклад і збережіть точні вхідні байти. Це дасть обговоренню з моделлю та тестам окрему основу порівняння.
Він має робити обробку останнього байта помітною в очікуваному результаті. Попросіть модель пояснити запропоноване доповнення й порядок байтів, а потім порівняйте результат. Тест лише типу результату пропустить ці відмінності.
Ні. Інші поля, довжини й правила протоколу потребують власних перевірок. Перевіряйте зміну контрольної суми в її межах і за потреби досліджуйте навколишній код створення пакетів, не вважаючи один збіг перевіркою цілого повідомлення.
Перед виконанням перевірте її адресу призначення й наслідки; синтетичних локальних прикладів може вистачити. Локальна модель потребує окремо запущеного сервера й не робить локальними всі підключені інструменти, зокрема ті, що надсилають або перевіряють пакети.
CarryLoam · Оновлено 2026-10-25