ai
3 мин
28 сентября 2026 г.
Источник: Dev.to AI Feed

Ограждения для кода Python, сгенерированного искусственным интеллектом: настройка pytest + гипотеза, которая улавливает то, что упускает обзор

Olivier
Olivier
RSS AI Ingest
Ограждения для кода Python, сгенерированного искусственным интеллектом: настройка pytest + гипотеза, которая улавливает то, что упускает обзор

Помощники ИИ очень хорошо пишут Python, который выглядит хорошо. Напечатано, отформатировано, есть тесты. Проблема в том, что тесты обычно пишутся по одной и той же модели, на основе одних и тех же предположений, поэтому и проходят по одной и той же причине...

Помощники ИИ очень хорошо пишут Python, который выглядит хорошо. Напечатано, отформатировано, есть тесты. Проблема в том, что тесты обычно пишутся по одной и той же модели, исходя из одних и тех же предположений, поэтому они проходят по тем же причинам, по которым код может быть неправильным. Я провел много времени с кодом Python, который обрабатывает данные датчиков и телеметрии, и в какой-то момент я перестал доверять только проверке, чтобы уловить это. Вот настройка, которую я использую сейчас. Это три слоя, и каждый из них обнаруживает разные ошибки. Режим отказа Типичный пример: вы просите у помощника функцию, переводящую показания мощности в ватты. Вы получаете это: питон # телеметрия.py из десятичного импорта Десятичный UNIT_FACTORS = {"Вт": десятичное ("1"), "кВт": десятичное ("1000"), "МВт": десятичное ("1000000")} def to_watts (значение: десятичное, единица измерения: ул) -> Десятичное: если значение < 0: поднять ValueError("Показание мощности не может быть отрицательным") попробуйте: возвращаемое значение * UNIT_FACTORS[единица измерения] кроме KeyError: поднять ValueError(f"unknown unit: {unit}") с None Эта версия в порядке. Версии, которые не очень хороши, выглядят почти одинаково: число с плавающей точкой вместо десятичной дроби, отсутствие отрицательной проверки, «kw» вместо «kW». Примеры тестов с тремя руками

Хотите внедрить ИИ в ваш бренд?

Спроектируем и развернем автономных агентов и современный цифровой стек под ваши задачи.

Рассчитать проект