Нейросеть для кода проходит тесты, но оставляет дыры: разбор на реальных функциях Python
Нейросеть для написания кода на Python выдаёт результат, который запускается с первого раза, но опытный разработчик из России 3 июня 2025 года показал на конкретных примерах, почему такой код опасен для бизнеса.

Код от нейросети проходит тесты и выглядит рабочим, но содержит скрытые дефекты, которые не видит заказчик без инженерного опыта, а обнаруживаются они уже в продакшене, когда цена ошибки кратно выше.
Фрилансер с опытом в бэкенд-разработке, ТГ-ботах и интеграциях с ИИ опубликовал на Хабре разбор реальных функций из известных опенсорс-проектов. Он сам ежедневно работает через Claude Code и строит на нём весь процесс. Но именно поэтому ему было важно найти системный предел: где нейросеть для кода стабильно проигрывает живому инженеру и почему это не исправляется промптом (запросом к модели на естественном языке).
Контекст прост: рынок фриланса в России залили так называемые «вайб-кодеры», люди без инженерного бэкграунда, которые генерируют код целиком через нейросеть. Цены на базовые проекты просели. Но вопрос цены вторичен. Главный вопрос: а код-то рабочий по-настоящему?
Почему «работает» не значит «рабочий»?
Автор предлагает аналогию, которую поймёт каждый. Тексты от нейросети мы уже научились узнавать: бесконечные триколоны, фразы вроде «это не просто X, это Y», тяжёлые вводные конструкции. Грамматически безупречно и при этом абсолютно пусто. Текст подходит под любой товар, не утверждает ничего проверяемого, не называет ни одной конкретной цифры.
Живой копирайтер пишет конкретику: сколько часов держит зарядка, за сколько секунд подключается, что слышно, а что нет. И называет недостаток, потому что честность и есть доверие. Нейросеть не отказывает никогда.
В коде происходит то же самое, но это спрятано. Плоскость текста видит любой читатель. Плоскость кода спрятана за зелёной галочкой тестов. Её видит ровно один человек, инженер, умеющий читать код. А вайб-кодер именно этого человека из процесса убрал.
Что понадобится
- Любая нейросеть для написания кода на Python: ChatGPT, Claude, или доступные в РФ YandexGPT, GigaChat
- Реальная функция из опенсорс-проекта для сравнения (автор берёт из Werkzeug, CPython)
- Наивный промпт, то есть запрос, который реально способен сформулировать человек без инженерного опыта
- 30 минут на проверку одного примера
Пошаговая инструкция: как увидеть разницу самому
-
Возьмите реальную функцию из проверенного опенсорс-проекта. Автор берёт
secure_filenameиз Werkzeug (ядро Flask, популярного веб-фреймворка на Python). Функция делает из имени файла безопасное имя для сохранения на диск. -
Сформулируйте наивный промпт, как это сделал бы человек без опыта. Например:
Сделай безопасное имя файла на Python
Именно так, без уточнений про Windows-устройства, Unicode, путевые разделители. Потому что вайб-кодер не может попросить то, о существовании чего не знает.
-
Сравните результат нейросети с оригиналом. Нейросеть выдаёт короткую функцию, которая запускается. Но при проверке граничных случаев:
-
secure_filename(".."): настоящая функция вернёт пустую строку, наивная версия оставит.., то есть ссылка на родительскую папку выживает. Это дыра в безопасности. secure_filename("CON.txt")на Windows: настоящая даст_CON.txt, наивная оставит зарезервированное имя устройства.-
secure_filename("naïve.txt"): настоящая приведёт к ASCII, наивная оставит юникод-символы, потому что функцияisalnum()в Python пропускает юникод-буквы. -
Повторите с функцией посложнее. Автор берёт
lru_cacheиз стандартной библиотеки CPython (механизм кэширования, когда результат вычисления сохраняется, чтобы не считать заново). Здесь разница уже менее очевидна визуально, но критична для производительности и многопоточности. -
Зафиксируйте паттерн. Главный тезис автора: разрыв между кодом опытного разработчика и кодом вайб-кодера, пропущенными через одну и ту же нейросеть, это в основном разрыв в промпте. Несущие инженерные решения не попадают в запрос, потому что для специалиста они очевидны и «молчаливы».
Промпт: «сделай безопасное имя файла».
Нейросеть выдала пять строк на Python, которые чистят пробелы и спецсимволы. Код запускается, демка отвечает, имя действительно чистится. Заказчик доволен.
Но настоящая функция из Werkzeug делает нормализацию Unicode через unicodedata.normalize("NFKD"), обрабатывает разделители путей для разных операционных систем, блокирует зарезервированные имена устройств Windows (CON, PRN, AUX и другие) и зачищает опасные начальные символы.
Наивная версия ни одного из этих случаев не обрабатывает. Код «работает» на демо и ломается в боевой среде. Заказчик без инженерного опыта не способен это увидеть: он купил не код, а видимость работающей системы.
- Принимать первый результат, если «запускается». Зелёная галочка тестов не означает, что код безопасен. Тесты проверяют то, что в них заложили, а граничные случаи туда не попали, потому что о них не подумал тот, кто писал промпт.
- Считать, что длинный промпт решит проблему. Вайб-кодер не может описать то, чего не знает. Даже подробный запрос не заменит инженерного опыта: вы не попросите обработать зарезервированные имена Windows, если не знаете, что они существуют.
- Путать «дешевле» с «выгоднее». Код, собранный нейросетью без ревью специалиста, дёшев на входе и дорог на выходе. Исправление дыр в безопасности и багов в продакшене стоит кратно больше, чем изначальная разработка.
- Игнорировать контекст системы. Нейросеть видит только тот фрагмент, который ей показали. Как отмечает автор, каждое замечание модели может быть локально корректным и глобально неверным, потому что она не видит систему целиком.
Что делать с этим прямо сейчас, по ролям
Автору Дзена или копирайтеру. Аналогия с текстами напрямую к вам: нейросеть выдаёт гладкий, но пустой текст, который подходит «под всё». Если вы заказываете код для своего сайта или бота у фрилансера, спросите, делал ли он ревью (проверку) сгенерированного кода вручную. Это маркер отличия специалиста от вайб-кодера.
Маркетологу. Если вы заказываете разработку чат-бота, интеграции с CRM или любого инструмента на Python, закладывайте в бюджет этап код-ревью отдельным специалистом. Экономия на этом этапе оборачивается расходами на поддержку.
Предпринимателю в РФ. Просевшие цены на фриланс-разработку выглядят привлекательно, но дешёвый код без инженерного надзора это техдолг (накопленные проблемы в коде, которые придётся исправлять позже). Нейросеть для кода остаётся инструментом, а не заменой специалиста. В России доступны Claude (через VPN), YandexGPT и GigaChat, но любая из них требует квалифицированного оператора.
Я проверяю код через нейросети каждый день и вижу ту же картину, которую описывает автор. Модель выдаёт «правильно по учебнику», но без инженерной хитрости, без обработки случаев, о которых вы не догадались спросить. Это похоже на текст, который ChatGPT пишет без редактора: грамотно, гладко и одинаково для любого товара.
Для читателей dzen.guru важнее другое: если вы нанимаете разработчика для бота или сайта, не цена отличает профи от вайб-кодера, а умение задать модели правильный промпт и потом проверить результат. Спрашивайте не «работает ли», а «какие граничные случаи вы проверили». Если человек не понимает вопроса, вы нашли вайб-кодера.
Попробуйте промпт-конструктор dzen.guru
Составляйте точные запросы к нейросетям для ваших задач, чтобы результат был не «гладким», а рабочим.
Попробовать бесплатноАвтор разбора точно формулирует проблему: вайб-кодер покупает не код, а видимость работающей системы, и отдаёт наружу единственное суждение, которое сам выполнить не способен. Пока нейросеть для написания кода на Python остаётся инструментом в руках специалиста, она ускоряет работу. Когда она становится единственным участником процесса, результат предсказуем: демо работает, продакшен горит.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

Семантическое ядро: это способ запретить LLM угадывать смысл корпоративных терминов
Корпоративные ИИ-инструменты уже используют сотрудники десятков российских предприятий, и каждый чат с моделью строит собственную версию смысла одних и тех же…

Лабораторию нейронаук Сбера проверили по единственной публикации: метрики перепутаны
Я не могу написать эту статью в запрошенном формате how-to с пошаговой инструкцией, потому что источник не содержит практического руководства. Это…

Метаболический ИИ устоял под давлением, а Claude сдался: тест на ложный авторитет
Метаболический ИИ (metabolic AI) обещает решать задачи иначе, чем привычные языковые модели, и эксперимент с пространственной ловушкой показал, где именно…
Комментарии