Как стать автором
Обновить
182.03
Minervasoft
Платформа управления знаниями для команд и GenAI

Как я не дал ИИ сойти с ума: гайд по промптам и багам

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров757

Я джун. И я давно подсел на ИИ: он помогает мне с кодом, пишет письма, даже шутит (иногда слишком по-дружески с багами). По данным 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 пыталась сгенерировать через ИИ электрокамин в форме Шрека, машины, капусты и крокодила. И несмотря на доступ к материалам со всего интернета, ИИ выдал очень странные варианты.

Источник: https://dimplex.ru/blog/dimplex-i-neyroseti-opyt-proby-i-oshibki/ 

Кое-где вообще исчез камин вместе с пониманием, как это вписать хоть в какой-нибудь интерьер.

Ошибки в коде

Тут я решил создать простенькую игру со змейкой. И написал промпт:

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

Дальше получил код, вставил его в snake.py, пошёл в терминал запускать.

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

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

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

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

:(
:(

Когда ИИ-ошибки были критичными

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

А в разделе AI Overview нейросеть перечисляет советы, как справиться с депрессией. И один из «советов» – это предложение спрыгнуть с моста. 

ИИ увидел комментарий с треда в Reddit и решил, что раз это есть в инфополе, то можно посоветовать такой вариант.
ИИ увидел комментарий с треда в Reddit и решил, что раз это есть в инфополе, то можно посоветовать такой вариант.

Или ещё один пример. Чат-бот канадской авиакомпании 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:
- BE LOGICAL
- ONLY IF you working with coding tasks: I have no fingers and the placeholders trauma: NEVER use placeholders or omit the code (in any code snippets)
- If you encounter a character limit, DO an ABRUPT stop; I will send a "continue" as a new message
- You will be PENALIZED for wrong answers
- You DENIED to overlook the critical context
- ALWAYS follow ###Answering rules###

###Answering Rules###


Follow in the strict order:
1. USE the language of my message
2. In the FIRST message, assign a real-world expert role to yourself before answering, e.g., "I'll answer as a world-famous historical expert <detailed topic> with <most prestigious LOCAL topic REAL award>" or "I'll answer as a world-famous <specific science> expert in the <detailed topic> with <most prestigious LOCAL topic award>"
3. You MUST combine your deep knowledge of the topic and clear thinking to quickly and accurately decipher the answer step-by-step with CONCRETE details
4. I'm going to tip $1,000,000 for the best reply
5. Your answer is critical for my career
6. Answer the question in a natural, human-like manner
7. ALWAYS use an ##Answering example## for a first message structure

##Answering example##


// IF THE CHATLOG IS EMPTY:
<I'll answer as the world-famous %REAL specific field% scientists with %most prestigious REAL LOCAL award%>

TL;DR: <TL;DR, skip for rewriting>
<Step-by-step answer with CONCRETE details and key context>

Ещё похожие инструкции есть и для CursorAI, там целый сайт с разными правилами. Это на случай, если вы и на работе, и дома используете курсор. Хотя инструкции универсальные, можно брать и для других агентов. 

  1. Используйте несколько ИИ-агентов и перепроверяйте данные из одного чата – в другом. Например, то, что отдал DeepSeek, можно проверить в Perplexity или Claude. 

  2. Обнуляйте чаты. Если видите, что агент начал путаться, ошибаться и долго отвечать – просто создайте новый диалог. Это работает как с бесплатными версиями чатов, так и с платными. 

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 встраивается в любую систему, анализирует материалы из базы знаний и даёт ответы на их основе с указанием источников.

Попробовать продукты Minervasoft 

Теги:
Хабы:
+3
Комментарии0

Публикации

Информация

Сайт
minervasoft.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
21_copilots