Перевірте перед застосуванням
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Поверніть невід’ємний НСД і коефіцієнти Безу для двох цілих чисел коротших за 101 десяткову цифру.
def bezout(a, b):
if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
raise ValueError("integer.range")
old_r, r = abs(a), abs(b)
old_s, s, old_t, t = 1, 0, 0, 1
while r:
q = old_r // r
old_r, r = r, old_r - q * r
old_s, s = s, old_s - q * s
old_t, t = t, old_t - q * t
return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
Перевірте від’ємні операнди й нульові випадки, підтверджуючи цілочисельну тотожність і відхиляючи логічні значення.
def bezout(a, b):
if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
raise ValueError("integer.range")
old_r, r = abs(a), abs(b)
old_s, s, old_t, t = 1, 0, 0, 1
while r:
q = old_r // r
old_r, r = r, old_r - q * r
old_s, s = s, old_s - q * s
old_t, t = t, old_t - q * t
return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)BezoutVale — програма для кодування у Windows для дослідження допоміжних функцій, результати яких мають відповідати точному контракту. Відкрийте проєкт і опишіть очікування коду виклику щодо кожного повернутого значення. Попросіть модель перевірити інтерфейс перед пропозицією рефакторингу, особливо коли кілька результатів окремо можуть виглядати правдоподібно.
Завдання на основі bezout.py може зосередитися на знакових даних і коефіцієнтах, повернутих зі спільним дільником. Додайте до розмови тест із від’ємними даними й задайте тотожність, яку має задовольняти результат. Потім перевірте використання кортежу кодом виклику, щоб переставлений результат або змінене правило знаків не залишилися непоміченими за начебто правильною арифметикою.
Оцінюйте пропозицію незалежними перевірками. Запустіть тести проєкту й дослідіть комбінації нульових даних, варіанти знаків і відхилення непідтримуваних операндів. Прив’язуйте докази до початкової вимоги. Пояснення моделі може спрямувати перевірку, але застосунок потребує результатів, які відповідають і математичному співвідношенню, і фактично викликаному інтерфейсу.
Оберіть модель через підтримувану кінцеву точку, сумісну з OpenAI, або Anthropic, надавши облікові дані за потреби. Сервіс може пропонувати модель ШІ без цензури з урахуванням обмежень постачальника. Підтримка інструментів і місткість контексту залежать від обраної моделі та сервера; обмежте обговорення кодом, який можна надійно дослідити в сеансі.
Не обов’язково. Встановіть, які властивості потрібні застосунку й чи залежить він від конкретного представлення. Перевірка рівності всього кортежу може бути суворішою за контракт. Перевірте код виклику перед зміною функції або її тестів.
Обробка знаків може зберігати правдоподібний дільник, але порушувати співвідношення з коефіцієнтами. Надайте знакові тести й незалежно перевірте визначальне співвідношення. Перевірте нормалізацію на межі введення, щоб повернуті значення досі стосувалися початкових операндів.
Визначте задуманий результат або політику відхилення й порівняйте з поточною реалізацією та кодом викликів. Не припускайте, що звичайні міркування для додатних даних вирішують нульовий випадок. Включіть його явно до перевірки, щоб подальший рефакторинг зберіг обраний контракт.
Так. Укажіть у запиті наявний порядок кортежу, допустимі типи й правила знаків, а потім попросіть обмежену зміну. Перевірте різницю на змінену валідацію чи переставлені результати й запустіть перевірки контракту перед прийняттям очищення в проєкт.
BezoutVale · Оновлено 2026-10-25