Промпт для RAG — это не просто запрос. Это инструкция по выживанию
Вы построили RAG-систему. Настроили эмбеддинги, подобрали ретривер, загрузили документы. Запускаете — а ИИ продолжает генерировать красивые, убедительные, но абсолютно выдуманные факты. Знакомая история?
Проблема не в модели. Проблема в том, что вы просите её сделать что-то, а она делает что-то другое. Современные LLM (Claude 3.7 Sonnet, GPT-4o 2025, Gemini 2.0 Flash Thinking) стали слишком умными. Они умеют додумывать, интерполировать, приукрашивать. И если вы не поставите четкие границы, они будут использовать этот навык против вас.
На 24.01.2026 статистика показывает: 67% проблем с RAG-системами связаны не с качеством ретривера, а с плохо написанными промптами. Модель получает релевантные чанки, но не понимает, как с ними работать.
Grounding constraints: зачем ограничивать ИИ, который хочет помочь
Grounding — это привязка ответа к предоставленному контексту. Не просто "используй информацию из документов", а "не выходи за пределы этих документов ни на шаг".
Вот как НЕ надо делать:
# Плохой промпт (слишком мягкий)
"Используй предоставленные документы для ответа на вопрос."
Модель прочитает это как "используй документы, но если чего-то не хватает — додумай". И начнет додумывать.
Правильный подход — явные ограничения:
# Шаблон grounding constraints
"Ты — ассистент, который отвечает ТОЛЬКО на основе предоставленных документов.
ПРАВИЛА:
1. Если ответа нет в документах — скажи "В предоставленных документах нет информации по этому вопросу"
2. Не добавляй информацию из собственных знаний
3. Не делай предположений
4. Если документы противоречат друг другу — укажи на это
5. Не интерпретируй, не экстраполируй, не додумывай
Контекст:
{documents}
Вопрос: {question}
Ответ (строго по документам):"
Разница в деталях. "Только на основе" vs "используй". "Скажи 'нет информации'" vs молчаливое разрешение додумать. "Не интерпретируй" — явный запрет на творчество.
Цитирование: не верь мне на слово — вот доказательства
Цитирование в RAG — это не академическая вежливость. Это механизм проверки. Пользователь видит цифры в квадратных скобках и понимает: за каждым утверждением стоит конкретный кусок документа.
Проблема в том, что модели ненавидят цитировать. Они хотят давать плавные, связные ответы, а цитаты ломают нарратив. Нужно заставить.
# Шаблон с обязательным цитированием
"Ответь на вопрос, используя предоставленные документы.
ТРЕБОВАНИЯ К ОТВЕТУ:
1. Каждое утверждение должно быть подкреплено цитатой из документов
2. Используй формат [номер_документа:номера_строк]
3. Если для утверждения нет источника — не включай его в ответ
4. Сначала приведи ответ, затем список использованных источников
Пример цитирования:
"Согласно исследованиям, RAG снижает галлюцинации на 40% [1:15-18]. Однако требует точной настройки промптов [2:3-5]."
Документы:
{documents}
Вопрос: {question}
Ответ с цитатами:"
Ключевые моменты: явный формат, пример (модели лучше учатся на примерах), разделение ответа и списка источников.
Работа с несколькими источниками: когда документы спорят друг с другом
В реальных RAG-системах ретривер часто приносит 5-10 релевантных чанков. И они могут противоречить друг другу. Старая инструкция vs новая политика. Официальный документ vs служебная записка.
Простой промпт "используй документы" приводит к шизофрении: модель пытается синтезировать противоречивую информацию и получается каша.
Решение — обработка uncertainty:
# Шаблон для работы с противоречивыми источниками
"Ты анализируешь несколько документов по теме.
ИНСТРУКЦИЯ:
1. Сравни информацию из всех документов
2. Если есть противоречия — укажи на них явно
3. Отметь, какая информация подтверждается несколькими источниками
4. Отметь, какая информация есть только в одном источнике
5. Если источники разного уровня достоверности (официальный документ vs черновик) — учти это
6. В ответе раздели: общепринятые факты, спорные моменты, информация из одного источника
Документы:
{doc1}
{doc2}
{doc3}
Вопрос: {question}
Аналитический ответ:"
Этот промпт превращает проблему (противоречия) в фичу (анализ достоверности). Пользователь получает не просто ответ, а оценку его надежности.
Agentset.ai: библиотека, где всё уже собрано
Писать эти промпты с нуля — занятие утомительное. К счастью, на 24.01.2026 есть готовое решение: Agentset.ai — библиотека промптов для RAG с open-source репозиторием.
Что там есть:
- 20+ готовых шаблонов для разных сценариев (grounding, цитирование, multi-source, summarization, Q&A)
- Промпты оптимизированы под последние версии моделей (учитывают особенности GPT-4o 2025, Claude 3.7, Gemini 2.0)
- Система upvote/downvote — сообщество помечает, какие промпты работают лучше
- Возможность contribute — добавлять свои шаблоны
- Интеграция с популярными RAG-фреймворками
Например, их шаблон для гибридного RAG (семантический + ключевые слова):
# Agentset.ai Hybrid RAG Prompt (адаптировано)
"Ты — ассистент с доступом к нескольким типам поиска: семантическому и по ключевым словам.
ИНСТРУКЦИЯ:
1. Сначала анализируй, какой тип поиска подходит для вопроса
2. Для фактологических вопросов используй семантический поиск
3. Для поиска конкретных терминов, кодов, названий — используй поиск по ключевым словам
4. Объединяй результаты, устраняя дубликаты
5. Цитируй с указанием типа поиска: [сем:док1:10-15] или [кл:док3:5-8]
Контекст из семантического поиска: {semantic_results}
Контекст из поиска по ключевым словам: {keyword_results}
Вопрос: {question}
Ответ с учетом типа поиска:"
Этот промпт особенно полезен в системах типа Ragex, где гибридный поиск — основа работы.
Как внедрять: не копипаст, а адаптация
Взять промпт из библиотеки и вставить в свою систему — работает в 60% случаев. Чтобы попасть в оставшиеся 40%, нужно адаптировать.
1 Протестируй на edge cases
Не проверяй на простых вопросах. Задай вопросы, на которые:
- Ответа точно нет в документах
- Есть частичный ответ
- Есть противоречивые ответы
- Нужна интерпретация (даже если ты её запрещаешь)
Посмотри, где промпт ломается. Добавь конкретные правила под свои кейсы.
2 Учитывай тип документов
Промпт для анализа кода (как в Ragex для Elixir) отличается от промпта для юридических документов или технических мануалов.
Для код-ориентированных RAG добавь:
# Дополнение для анализа кода
"При анализе кода:
1. Указывай точные строки кода
2. Сохраняй форматирование
3. Для AST-анализа ссылайся на тип узла [AST:FunctionDef:25-30]
4. Различай код, комментарии и документацию"
3 Настрой под модель
Claude 3.7 Sonnet лучше реагирует на структурированные инструкции с нумерацией. GPT-4o 2025 любит примеры. Gemini 2.0 Flash Thinking требует четкого разделения ролей.
Возьми базовый промпт из библиотеки, протестируй на своей целевой модели, подгони формулировки.
На 24.01.2026 появилась новая проблема: over-grounding. Слишком строгие промпты заставляют модель отказываться отвечать на вопросы, где нужна минимальная интерпретация. Баланс — ключ.
Будущее: промпты, которые учатся на ошибках
Тренд 2025-2026 — самооптимизирующиеся промпты. Система записывает, на каких вопросах модель ошибается (галлюцинирует, отказывается отвечать, дает неполный ответ), и автоматически корректирует промпт.
Вместо:
# Статичный промпт
"Отвечай только по документам"
Будет:
# Адаптивный промпт (псевдокод)
prompt = базовый_шаблон
if последние_5_ошибок содержат "галлюцинации":
prompt += "\nВНИМАНИЕ: в последних ответах были галлюцинации. Будь строже."
if пользователь жалуется_на_отказы_отвечать:
prompt += "\nРазрешена минимальная интерпретация при отсутствии полного ответа."
Библиотеки вроде Agentset.ai уже экспериментируют с этой функцией. К 2027 году, возможно, мы увидим промпты, которые эволюционируют вместе с использованием.
А пока — бери готовые шаблоны, адаптируй под свои нужды, и помни: хороший промпт не запрещает модели думать. Он направляет её мышление в нужное русло. Как рельсы для поезда. Без рельсов поезд уедет в чисто поле. С рельсами — точно в пункт назначения.
И да, если твой RAG до сих пор галлюцинирует — проверь промпт. В 9 случаях из 10 проблема именно там. Не в модели, не в эмбеддингах, не в ретривере. В тех 200 символах, которые ты отправляешь перед контекстом.