10 промтов для RAG-систем: индексация, поиск и генерация без боли

Введение

Retrieval-Augmented Generation (RAG) — один из самых мощных паттернов для создания систем, которые отвечают на вопросы, опираясь на внешние источники знаний. Однако на практике качество RAG-системы зависит не только от модели, но и от того, как вы индексируете документы, ищете релевантные фрагменты и генерируете финальный ответ. Промты здесь играют ключевую роль: правильно сформулированные инструкции могут улучшить качество чанкинга, повысить точность поиска и сделать ответы более связными.

Эта подборка — практическая шпаргалка из 10 проверенных промтов, которые я использую в своих проектах. Вы найдёте готовые шаблоны для трёх этапов RAG: индексации (чанкинг, эмбеддинги), поиска (гибридный, реранкинг) и генерации (ответы, суммаризация, оценка). Каждый промт снабжён примером и пояснением, как его адаптировать под вашу задачу.

1. Промт для интеллектуального чанкинга

Задача: разбить длинный документ на осмысленные фрагменты (чанки), сохраняя контекст и границы разделов.

Промт:

Ты — эксперт по обработке текстов. Разбей следующий документ на логические чанки длиной 200-300 слов. Каждый чанк должен быть самостоятельным смысловым блоком, не разрезай предложения и старайся сохранять границы абзацев. Для каждого чанка укажи его номер и краткое название (тему). Документ: {text}

Пример использования:

  • Вход: длинная статья о квантовых вычислениях (5000 слов).
  • Выход: 20 чанков с заголовками, например, «Чанк 1: Введение в кубиты», «Чанк 2: Квантовая запутанность» и т.д.

Этот промт можно подавать в LLM на этапе индексации, а затем использовать полученные чанки для создания эмбеддингов. В отличие от наивного разрезания по символам, такой подход сохраняет целостность смысла и улучшает поиск.

2. Промт для генерации контекстных эмбеддингов

Задача: получить эмбеддинг, который учитывает доменную специфику (например, медицину, юриспруденцию) и не теряет ключевые сущности.

Промт:

Ты — специалист по NLP. Проанализируй следующий текст и выдели в нём ключевые сущности, термины и связи. Создай обогащённое представление текста, добавив к нему доменные синонимы и релевантные понятия. Выведи результат в формате: оригинальный текст + список дополнительных ключевых слов. Текст: {text}

Пример использования:

  • Вход: «Пациент принимает аспирин для профилактики тромбоза».
  • Выход: «Пациент принимает аспирин для профилактики тромбоза» + [ацетилсалициловая кислота, антиагрегант, сердечно-сосудистый риск].

Полученные ключевые слова можно добавить к исходному тексту перед отправкой в эмбеддинг-модель. Это улучшает recall для редких терминов, что особенно важно в специализированных областях.

3. Промт для гибридного поиска (BM25 + векторный)

Задача: объединить результаты лексического поиска и векторного поиска, чтобы получить лучшие релевантные документы.

Промт:

Ты — поисковая система. У тебя есть два списка результатов: один от лексического поиска (BM25), другой от векторного (эмбеддинги). Объедини их в единый рейтинг, используя метод Reciprocal Rank Fusion (RRF). Присвой каждому документу итоговый ранг = сумма 1/(k + rank_lex) + 1/(k + rank_vec), где k=60. Выведи топ-10 документов с их рангами и источником. Лексический список: {lex_results} Векторный список: {vec_results}

Пример использования:

  • Вход: два списка из 20 документов с рангами.
  • Выход: объединённый список, где документы, найденные обоими способами, поднимаются выше.

Этот промт полезен, когда вы строите гибридный поиск вручную, без использования готовых библиотек. Он позволяет быстро экспериментировать с параметрами RRF.

4. Промт для реранкинга результатов по релевантности

Задача: пересортировать результаты поиска, отсеяв ложные срабатывания и подняв наверх действительно релевантные документы.

Промт:

Ты — реранкер. Оцени релевантность каждого документа относительно запроса по шкале от 0 до 10. Учитывай точное совпадение ключевых слов, семантическую близость и наличие ответа на запрос. Затем отсортируй документы по убыванию оценки и выведи новый список с указанием оценок. Запрос: {query} Документы: {documents}

Пример использования:

  • Вход: запрос «симптомы диабета 2 типа» и 5 документов.
  • Выход: отсортированный список с оценками, например, документ 3 — 9, документ 1 — 7 и т.д.

Используйте этот промт как второй этап после гибридного поиска. LLM-реранкинг часто лучше, чем простые скоринговые функции, но требует дополнительных вычислительных ресурсов.

5. Промт для составления векторного запроса с фильтрами

Задача: сформулировать запрос к векторной БД (например, Pinecone, Qdrant) с учётом метаданных и операторов фильтрации.

Промт:

Ты — помощник по работе с векторной базой данных. Пользователь хочет найти документы, которые удовлетворяют следующим условиям: {conditions}. Составь JSON-объект с полями: `embedding_query` (текст запроса для эмбеддинга), `filter` (условия для метаданных, например, {"date": {"$gte": "2024-01-01"}}). Верни только JSON без лишнего текста.

Пример использования:

  • Вход: «Найди статьи о нейросетях за последний год, где автор — Иванов».
  • Выход: JSON вида {"embedding_query": "нейросети", "filter": {"date": {"$gte": "2025-08-03"}, "author": "Иванов"}}.

Этот промт полезен, когда вы строите интерфейс поиска для нетехнических пользователей — он автоматически преобразует естественный язык в структурированный запрос.

6. Промт для генерации ответа с опорой на контекст

Задача: сгенерировать точный ответ на вопрос, используя только предоставленные чанки, без галлюцинаций.

Промт:

Ты — ассистент, который отвечает строго по документам. Используй только информацию из приведённого контекста. Если ответа нет в контексте, напиши «Я не нашёл ответа в предоставленных документах». Не добавляй знаний из собственного обучения. Обязательно цитируй источник в квадратных скобках [1], [2] и т.д. Контекст: {context} Вопрос: {question}

Пример использования:

  • Контекст: «[1] Симптомы диабета включают жажду и частое мочеиспускание. [2] Диабет 2 типа обычно развивается после 40 лет.»
  • Вопрос: «Каковы симптомы диабета?»
  • Ответ: «Согласно [1], симптомы включают жажду и частое мочеиспускание.»

Этот промт — базовый для RAG. Он снижает галлюцинации и повышает доверие к ответам за счёт цитирования.

7. Промт для суммаризации нескольких чанков в связный ответ

Задача: когда ответ требует информации из разных фрагментов, нужно синтезировать единый текст.

Промт:

Ты — аналитик. Внимательно прочитай фрагменты документов ниже. Составь связный ответ на вопрос, объединив информацию из всех фрагментов. Избегай повторов, структурируй ответ по логическим пунктам. Укажи, какие фрагменты были использованы. Фрагменты: {chunks} Вопрос: {question}

Пример использования:

  • Фрагменты: «[1] Симптомы диабета…», «[2] Лечение включает диету…», «[3] Профилактика — это…»
  • Вопрос: «Как лечить диабет?»
  • Ответ: «Лечение включает диету [2] и профилактические меры [3]…»

Этот промт особенно полезен для сложных вопросов, где ответ распределён по нескольким чанкам.

8. Промт для оценки качества ответа (self-reflection)

Задача: заставить систему проверить собственный ответ перед выводом пользователю, чтобы отсечь неточности.

Промт:

Ты — критик. Перед выдачей ответа проверь, соответствует ли он следующим критериям: 1) ответ не противоречит контексту; 2) в ответе нет информации, не подтверждённой контекстом; 3) ответ полностью отвечает на вопрос. Если какое-то условие нарушено, исправь ответ и объясни ошибку. Исходный ответ: {generated_answer} Контекст: {context} Вопрос: {question}

Пример использования:

  • Вход: ответ «Диабет лечится только инсулином» при контексте, где есть информация о диете.
  • Выход: исправленный ответ «Диабет может лечиться диетой и инсулином» с пояснением.

Такой промт можно использовать как пост-обработку: сначала LLM генерирует ответ, затем прогоняет его через этот промт. Это повышает достоверность.

9. Промт для извлечения ключевых фактов при индексации

Задача: при загрузке документа в БД извлечь из него структурированные факты (сущности, даты, отношения) для дальнейшей фильтрации.

Промт:

Ты — парсер фактов. Проанализируй текст и выведи все факты в формате тройных утверждений (субъект, предикат, объект). Например, «Иван Иванов, родился в, 1990». Также определи тип факта (персональный, юридический, медицинский). Игнорируй общие фразы. Текст: {text} Выведи JSON-список.

Пример использования:

  • Вход: «Компания OpenAI основана в 2015 году Илоном Маском и Сэмом Альтманом».
  • Выход: [{"subject": "OpenAI", "predicate": "основана в", "object": "2015", "type": "организация"}, {"subject": "OpenAI", "predicate": "основана", "object": "Илон Маск", "type": "персона"}, ...]

Эти факты можно хранить в отдельной графовой БД или использовать для фильтрации в векторной БД.

10. Промт для мультиязычного поиска и перевода запроса

Задача: когда ваши документы на одном языке, а пользователь пишет на другом, нужно адаптировать запрос.

Промт:

Ты — переводчик и поисковый оптимизатор. Переведи следующий запрос с языка {input_lang} на язык {target_lang}. При переводе учитывай, что это поисковый запрос: используй ключевые слова и синонимы, которые часто встречаются в технической документации. Выведи исходный запрос, перевод и список возможных синонимичных поисковых фраз. Запрос: {user_query}

Пример использования:

  • Вход: «как улучшить ретеншн пользователей» (ru) -> целевой язык: en.
  • Выход: translation: «how to improve user retention», синонимы: «increase user retention», «reduce churn».

Используйте этот промт в пайплайне перед поиском: переводите запрос на язык индекса, а также добавляйте синонимы к векторному запросу для улучшения recall.

Заключение

Приведённые 10 промтов покрывают основные узкие места RAG-системы. Начните с базовых — промты 6 и 7 для генерации, промт 1 для чанкинга — и постепенно внедряйте более сложные, такие как реранкинг и самооценка (промты 4 и 8). Помните, что промты нужно адаптировать под вашу предметную область: тестируйте разные формулировки и параметры.

Ключевые источники, которые помогут углубиться: документация LangChain (https://python.langchain.com/docs/modules/data_connection/), LlamaIndex (https://docs.llamaindex.ai/), а также исследование по гибридному поиску от Pinecone (https://www.pinecone.io/learn/hybrid-search/). Тезис о том, что чанкинг влияет на качество, подтверждён многочисленными кейсами в сообществе.

Если вы хотите получить ещё больше готовых промтов и шаблонов — подпишитесь на наш блог. Делитесь своими находками в комментариях, давайте улучшать RAG вместе!

← Все статьи

Комментарии

Читайте также

Освоение построения RAG-систем: от нуля до продакшен-готовых RAG-пайплайнов

3 августа 2026

Курс по анализу временных рядов: освойте Prophet, ARIMA и LSTM с помощью обучения на основе ИИ

3 августа 2026

15 промтов для Cursor: ускоряем AI-assisted разработку в IDE

3 августа 2026

14 промтов для React Native: компоненты, навигация и работа с API

3 августа 2026

Мастерство управления временем — Тайм-менеджмент и продуктивность: как обучение на основе ИИ помогает освоить GTD, Pomodoro и Deep Work

3 августа 2026

Авиация и дроны: регулирование (ICAO, EASA, FAA, IATA) — почему обучение с ИИ обязательно в 2026 году

3 августа 2026

Курс эмоционального интеллекта в 2026 году: ROI обучения EQ, сравнение онлайн-форматов и преимущество ИИ Asibiont

3 августа 2026

Jetson Nano и Orin под управлением AI-агента: DeepStream, TensorRT и ASI Biont для edge-видеоаналитики

3 августа 2026

Kakehashi: запускаем macOS-бинарники на Linux ARM без перекомпиляции

3 августа 2026