
Я джун. И я давно подсел на ИИ: он помогает мне с кодом, пишет письма, даже шутит (иногда слишком по-дружески с багами). По данным McKinsey, больше 75% компаний уже тестируют генеративный ИИ – ну а я просто надеюсь, что он не подведёт в проде.
Хотя, честно говоря, всё равно подводит. В этой статье я разбирался, почему ИИ ошибается, как это влияет на работу, и в конце оставил гайд с рекомендациями по промптам для генерации кода, текста и изображений.
Алгоритмы багов ИИ
Со временем я понял одну простую вещь: нейросеть не думает в привычном смысле слова. Она просто подбирает наиболее вероятное продолжение фразы – на основе всего, что ей когда-то показали люди. Иногда угадывает, иногда мимо. Всё зависит от контекста и объёма данных.
Ошибается ИИ по двум причинам:
— если информации мало, она додумывает;
— если слишком много, теряется и начинает фантазировать.
По сути, ИИ опирается на вероятности. Чем чаще какое-то слово встречалось в похожих фразах, тем выше шанс, что оно появится в ответе. Скажем, я пишу: «Я очень люблю…» — и она продолжает «мороженое», «кино» или «бегать». Это не логика — это статистика.
мороженое – 40 голосов;
кино – 25 голосов;
учиться – 20 голосов;
бегать – 10 голосов;
лампу – 5 голосов.
После подсчёта голосов, то есть вероятностей, ИИ начнёт думать, как именно выбрать нужное слово.
Способ 1: Top-k, выбираем из лучших
ИИ использует три самых вероятных варианта: «мороженое», «кино» и «учиться». Из них случайно выбирает один.
Способ 2: Top-p
Нейросеть будет складывать голоса, пока не наберётся 80: сложит мороженое (40) + кино (25) + учиться (20). И получит 85.
А дальше выберет случайное слово среди этих трёх.
Способ 3: Температура
Можно сравнить температуру с уровнем смелости. Чем больше она – тем веселее ответ ИИ. Но в chatGPT термометра нет, вы не меняете температуру вручную. Чат учитывает контекст, тон у диалога и кучу других факторов.
Но креативить и выдавать ложные факты за действительное – разные вещи. Например, если я попрошу ИИ написать сказку, придумать смешные поговорки про лошадей или имена для ручного енота, то в таком случае галлюцинации становятся частью креатива.

Обложка вышла вот такая:

Теперь пробегусь по примерам галлюцинаций ИИ в разных сферах работы.
Текстовые баги: ошибки в источниках, ссылках, кейсах
Вот ситуация, когда чат GPT уверенно принёс мне расшифровку несуществующей теоремы.

Визуальные баги в дизайне
Я не раз замечал, что генеративные модели вроде GAN или DALL·E любят приукрасить реальность — иногда слишком буквально. То пальцев не досчитаешься на руке у человека, то предметы будут склеены вместе.
Особенно это заметно, если промпт был расплывчатым или сформулирован наспех. Чем меньше конкретики — тем больше странностей на выходе.

А вот дизайн-студия Dimplex пыталась сгенерировать через ИИ электрокамин в форме Шрека, машины, капусты и крокодила. И несмотря на доступ к материалам со всего интернета, ИИ выдал очень странные варианты.

Кое-где вообще исчез камин вместе с пониманием, как это вписать хоть в какой-нибудь интерьер.
Ошибки в коде
Тут я решил создать простенькую игру со змейкой. И написал промпт:

Я понимаю, что задача изначально написана криво, но давайте признаемся – мы все так пишем запросы чату GPT. Тем более, хотелось протестировать, насколько правильно он поймёт задачу.
Дальше получил код, вставил его в snake.py, пошёл в терминал запускать.

Получил ошибку, вернулся к ИИ выяснять отношения.

После исправления ошибки, я захотел разукрасить игру:



ИИ предложил библиотеку, а я попросил её установить. И всё было бы классно, если бы эта библиотека существовала.

Перейдя по ссылке, вижу это:

Когда ИИ-ошибки были критичными
После внедрения ИИ в поисковую систему Google начали происходить странные вещи. Алгоритмы стали предлагать добавлять клей в пиццу (спасибо, что не гвозди), есть камни (спасибо, что не гвозди) и дезинфицировать стиральную машину хлорным газом.
А в разделе AI Overview нейросеть перечисляет советы, как справиться с депрессией. И один из «советов» – это предложение спрыгнуть с моста.

Или ещё один пример. Чат-бот канадской авиакомпании Air Canada придумал “свою” политику возврата. На вопрос клиента о скидке в случае возврата, чат ответил одобрительно: вы получите скидку согласно политике компании. Но проблема в том, что такой политики никогда не было.
Когда дело дошло до суда, судья встал на сторону клиента. Авиакомпании напомнили, что если вы запускаете ИИ-агента от своего имени, значит, вы и отвечаете за его слова. А ИИ вышел сухим из воды.

Чат-бот Air Canada по ошибке пообещал клиенту скидку, не предусмотренную реальной политикой авиакомпании. В результате Air Canada пришлось выполнить обещание, данное ИИ.
А вот случай с нейроботом, который сказал, что арендодатель имеет право выгонять жильца и назначать любую плату за жильё.

По законам Нью-Йорка, если человек живет в квартире больше 30 дней, просто так его выселить нельзя – это нарушение закона. Но, опять же, пострадают от этого люди, так как нейросеть нельзя посадить в тюрьму.
Из этого можно сделать вывод, что в медицине, финансах, юриспруденции и программировании, ИИ пока что стоит внедрять аккуратно и под присмотром человека.
А потом я нашёл интервью с бывшим аналитиком OpenAI Даниэль Кокотайло, который вместе с коллегами считает, что пытаться что-то сделать с галлюцинациями – бесполезно. И к 2028 году искусственный интеллект пройдёт путь от помощника до реальной угрозы для человечества.
Но я решил не паниковать, а собрать промпты для каждой профессии, чтобы ИИ багов приносил меньше, а пользы – больше.
Как писать промпты, чтобы ИИ не галлюцинировал
Code Generation (Генерация кода):
Запрашивайте код частями: вместо "напиши приложение" – "напиши функцию авторизации".
Пишите максимально чёткие промпты. Если вам нужен компонент для Vue 3 в формате Composition API, а стилизация через Tailwind – так и объясните. Простого “напиши компонент для вью” недостаточно.
Просите объяснения к коду: "Объясни, как работает этот цикл".
Всегда проверяйте код, который вам отдал чат. Он может выглядеть корректно, но дьявол кроется в деталях: в точке с запятой, круглой скобке и заглавной букве вместо строчной.
Prompt Engineering (Инженерия промптов):
Будьте ясны в контексте и требованиях. Например: "Напиши функцию на Python, которая сортирует список чисел по убыванию, с комментариями на русском".
Используйте разделители (например, --- или ###) для разных частей промпта.
Указывайте нужный формат ответа: "Ответь в виде таблицы" или "Дай код в markdown-блоке".
Structuring Prompts (Структура запроса):
Используйте разделы внутри запроса: Разделите промпт на логические части, такие как "контекст", "задача", "пример", "ограничения". Это помогает ИИ понять задачу и дать точный ответ.
Контекст: Дайте (background), например: "Я пишу веб-приложение на React."
Задача: Опишите, что нужно сделать: "Создай компонент для списка пользователей."
Пример: Покажите ожидаемый результат: "Для [{name: 'Алиса'}] выведи <li>Алиса</li>."
Ограничения: Укажите рамки: "Без внешних библиотек."
Начните с простого: Для базовых задач достаточно "Задача" + "Пример". Усложняйте, добавляя "Контекст" или "Ограничения", если нужно больше точности.
Указывайте формат: Например, "Дай ответ в виде списка" или "Напиши код в markdown".
Добавляйте примеры: Это снижает риск недопонимания. Например: "Сделай как в def sum(a, b): return a + b, но для вычитания."
Контролируйте объём: "Дай краткий ответ в 2 предложения" или "Объясни подробно с примерами."
Instruction Setting (Настройка инструкций):
Пропишите в ИИ-чате инструкции, которые он должен соблюдать. Например, подобная штука есть для ChatGPT.
Определите роль ИИ: "Ты — эксперт по Python с 10-летним опытом".
Установите чёткие ожидания: "Дай только проверенные факты, никаких предположений".
Используйте примеры: "Напиши как в этом примере: print('Hello'), но для другой строки".

А так выглядит инструкция:
###INSTRUCTIONS### You MUST ALWAYS: ###Answering Rules###
##Answering example##
TL;DR: <TL;DR, skip for rewriting> |
Ещё похожие инструкции есть и для CursorAI, там целый сайт с разными правилами. Это на случай, если вы и на работе, и дома используете курсор. Хотя инструкции универсальные, можно брать и для других агентов.
Используйте несколько ИИ-агентов и перепроверяйте данные из одного чата – в другом. Например, то, что отдал DeepSeek, можно проверить в Perplexity или Claude.
Обнуляйте чаты. Если видите, что агент начал путаться, ошибаться и долго отвечать – просто создайте новый диалог. Это работает как с бесплатными версиями чатов, так и с платными.
Text Generation (Генерация текстов)
Стиль и тон: «Официальный» или «Неформальный».
Аудитория: «Для детей 10 лет» или «Для IT‑специалистов».
Структура: «Введение, 3 параграфа, заключение» или «Список из 5 пунктов».
Ключевые слова: «Включи 'инновация' и 'технология'».
Варианты: «Дай 3 заголовка» или «2 концовки».
Image Generation (Генерация изображений)
Детали: «Кот в шляпе на стуле в стиле аниме».
Стиль: «Ван Гог» или «Фотография высокого разрешения».
Композиция: «Кот в центре, фон — лес».
Цвета: «Тёплые тона» или «Чёрно‑белое».
Примеры: «Как на [ссылка], но с собакой».
Information Retrieval (Поиск информации)
Конкретика: «Исследования о нейросетях за 2023 год».
Источники: «Академические статьи» или «Официальные сайты».
Summaries: «Краткое содержание» или «Ключевые факты».
Фильтры: «За последние 5 лет» или «Только факты».
Актуальность: «На 2025 год».
Fact‑Checking (Проверка фактов):
Проверяйте информацию из нескольких источников: сравните данные от ИИ с Google или документацией.
Проверяйте содержимое в этих источниках. Страница может быть реальная, а цифры и кейсы – выдуманные. И получится, что вы ссылаетесь на выдумку.
Просите ИИ указывать источники: "Откуда эта информация? Дай ссылку”, и всегда проверяйте ссылку, чтобы понимать, что он вас не обманывает.
Используйте ИИ для summaries (кратких выводов), а не для оригинальных исследований.
Есть и более продвинутый способ – я тоже к нему пришёл не сразу. Если хочется, чтобы нейросеть отвечала строго по фактам из вашей базы, без отсебятины, нужен дополнительный слой между моделью и данными. Я настроил векторный индекс – он превращает тексты в эмбеддинги, то есть в цифровые отпечатки.
Проще говоря, нейросеть берёт фразу и превращает её в массив чисел. То же самое происходит с базой знаний. В итоге получается карта, где рядом оказываются смыслы, а не просто слова.
Например, «я люблю ежей» и «мне нравятся ежи» будут близко. А вот «я люблю ежей» и «сейчас бы на Бали, с коктейлем под пальму…» – уже где-то на другом конце карты. Ну, не на Марсе, конечно. Но далеко.

Потом все эти эмбеддинги сохраняются в хранилище. Когда пользователь задаёт вопрос, он тоже превращается в эмбеддинг – и дальше модель просто ищет на нашей «карте» самые близкие по смыслу участки. Получается, что нейросеть не видит всю базу целиком и не может фантазировать на свободную тему – она работает только с теми фрагментами, которые реально подходят под запрос.
Ну… это если совсем по-простому.
Теперь вы рассказывайте в комментариях, как спасаетесь от багов ИИ?
Если вы внедряете ИИ в компании – вам точно нужна качественная база знаний. В системе управления знаниями Minerva Knowledge можно создавать статьи всей командой, загружать полезные файлы и документы, и легко поддерживать их актуальность. Ассистент с генеративным AI Minerva Copilot встраивается в любую систему, анализирует материалы из базы знаний и даёт ответы на их основе с указанием источников.