Сайт использует cookie для входа, Яндекс.Метрику и Google Analytics. Подробности в политике.

Главная → Промпты → Промпты для разметки и синтетических данных

Промпты для разметки и синтетических данных

26 октября 2026 г.

промптыразметка данныхсинтетические данныедатасетыLLM

Языковые модели стали рабочим инструментом для подготовки данных: они размечают тексты, извлекают сущности, генерируют примеры для редких классов и проверяют разметку людей. Но качество датасета целиком зависит от инструкции. Расплывчатый промпт даёт «шумную» разметку, которую потом дороже чистить, чем сделать заново.

Ниже — шаблоны, проверенные на типовых задачах: классификация, NER, генерация пар «вопрос–ответ», аугментация и контроль качества. Они работают в ChatGPT, Claude, GigaChat и через API.

Принципы промпта для разметки

У хорошей инструкции для разметки пять обязательных элементов:

  1. Закрытый список меток с определением каждой в одно-два предложения.
  2. Правила для пограничных случаев: что делать, если в тексте две темы, сарказм или нет смысла.
  3. Метка «не определено» (unclear), чтобы модель не угадывала.
  4. 3–5 примеров «текст → метка», включая хотя бы один сложный.
  5. Жёсткий формат ответа — JSON, который парсится одной строкой кода.

Инструкция одна на весь датасет и отправляется в системном сообщении. Меняете инструкцию — переразмечайте всё, иначе получите две несовместимые разметки в одном наборе.

Классификация текстов

Базовый шаблон

Ты размечаешь [обращения клиентов / отзывы / новости] для обучения классификатора.
Выбери ровно одну метку:
- [метка_1] — [определение];
- [метка_2] — [определение];
- [метка_3] — [определение];
- other — понятная тема, не подходящая под остальные;
- unclear — текст пустой, бессмысленный или тему нельзя определить.

Правила:
- если тем несколько, выбирай ту, с которой текст начинается;
- сарказм размечай по реальному смыслу, а не по словам;
- не додумывай то, чего нет в тексте.

Примеры:
"[пример 1]" -> [метка]
"[пример 2]" -> [метка]
"[сложный пример]" -> [метка] (потому что [объяснение])

Ответь только JSON без пояснений: {"label": "<метка>", "confidence": <0..1>}

Поле confidence пригодится для отбора: примеры с уверенностью ниже 0,7 отправляйте на ручную проверку.

Тональность с причиной

Определи тональность отзыва: positive, neutral, negative, mixed.
mixed — когда есть и явная похвала, и явная претензия.
Дополнительно извлеки аспект, к которому относится оценка: [качество, цена, доставка, сервис, другое].
Ответ JSON: {"sentiment": "...", "aspects": [{"aspect": "...", "sentiment": "...", "quote": "<дословная цитата>"}]}
Цитата должна быть точной подстрокой отзыва.

Требование дословной цитаты — дешёвая защита от галлюцинаций: в коде легко проверить, что quote действительно есть в тексте.

Извлечение сущностей (NER) в JSON

Извлеки из текста сущности:
- PERSON — имена людей;
- ORG — организации;
- LOC — географические объекты;
- DATE — даты и периоды;
- MONEY — суммы с валютой.

Правила:
- значение — точная подстрока текста, без нормализации;
- укажи позицию начала и конца символа (start, end);
- если сущностей нет, верни пустой массив;
- должности и профессии не являются PERSON.

Ответ — только JSON: {"entities": [{"text": "...", "type": "...", "start": 0, "end": 0}]}

Текст: [текст]

Позиции символов модели считают неточно. Надёжнее брать text из ответа и находить позицию в коде через поиск подстроки.

Генерация синтетических данных

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

Генерация размеченных примеров

Сгенерируй 30 реалистичных [обращений в поддержку / отзывов / поисковых запросов] на русском языке для обучения классификатора.
Домен: [интернет-магазин электроники].
Метки и доли: [delivery — 40%, billing — 30%, quality — 30%].

Требования к разнообразию:
- длина от 3 слов до 3 предложений;
- разный стиль: формальный, разговорный, с опечатками, без знаков препинания;
- 20% — пограничные случаи, где тема неочевидна;
- не повторяй конструкции и начала фраз;
- никаких реальных имён, телефонов, адресов и номеров карт.

Вот 3 настоящих примера для стиля (не копируй их):
[пример 1]
[пример 2]
[пример 3]

Формат: JSONL, каждая строка {"text": "...", "label": "...", "difficulty": "easy|medium|hard"}

Генерируйте партиями по 20–50 примеров и в каждом новом запросе добавляйте: «Не повторяй темы и формулировки из предыдущих партий: [краткий список]». Иначе к пятой партии датасет начнёт повторяться.

Пары «вопрос–ответ» по документу (для RAG и fine-tuning)

По тексту ниже составь 10 пар «вопрос–ответ» для оценки поисковой системы.
Требования:
- ответ на каждый вопрос есть в тексте; добавь дословный фрагмент-подтверждение;
- 4 фактических вопроса, 3 вопроса на объяснение (почему, как), 2 вопроса, требующих соединить два фрагмента, 1 вопрос, ответа на который в тексте нет (ответ: "нет в документе");
- вопросы формулируй так, как спросил бы реальный пользователь, а не копируя фразы из текста.

Формат JSON: [{"question": "...", "answer": "...", "evidence": "...", "type": "fact|explain|multi_hop|no_answer"}]

Текст: [текст]

Вопрос без ответа в тексте важен: он проверяет, умеет ли ваша система говорить «не знаю».

Диалоги для обучения ассистента

Сгенерируй 5 диалогов между клиентом и оператором [банка / службы доставки] на русском.
Каждый диалог — 4–8 реплик. Сценарии: [список сценариев].
Клиент ведёт себя по-разному: спокойный, раздражённый, путается в деталях, переходит на другую тему.
Оператор следует правилам: [правила компании].
Формат: JSON [{"scenario": "...", "messages": [{"role": "user|assistant", "content": "..."}]}]

Табличная синтетика

Сгенерируй 50 строк синтетических данных о [заказах интернет-магазина] в CSV.
Колонки: order_id, date, city, category, items, amount_rub, payment, returned.
Ограничения:
- даты — с [01.01.2026] по [30.06.2026], больше заказов в выходные;
- amount_rub логично зависит от category и items;
- returned = 1 примерно в 8% строк, чаще в категории "одежда";
- города — реальные российские, распределение примерно по численности населения.
Только CSV, без пояснений.

Для больших табличных наборов (тысячи строк) LLM — не лучший инструмент: распределения «плывут». Используйте модель для генерации правил и скрипта, а строки создавайте кодом:

Напиши скрипт на Python (pandas, numpy), который генерирует 10 000 строк с колонками и ограничениями выше. Зафиксируй seed. В конце выведи проверку: доли категорий, долю возвратов, среднюю сумму по категориям.

Аугментация: больше примеров из имеющихся

Перефразируй каждый пример 3 способами, сохраняя смысл и метку.
Варианты: 1) другие слова и порядок; 2) разговорный стиль с ошибками; 3) короче, только суть.
Не меняй факты, числа и названия. Если перефразировать нельзя без потери смысла, верни исходный текст.
Формат JSONL: {"source_id": ..., "text": "...", "label": "..."}
[примеры с id и метками]

Аугментированные примеры держите только в обучающей выборке. Если перефраз попадёт в тест, метрики окажутся завышенными.

Контроль качества разметки

Модель как второй разметчик

Ниже — пример и метка, которую поставил разметчик. Инструкция по разметке: [инструкция].
Оцени, верна ли метка. Ответ JSON: {"agree": true|false, "suggested_label": "...", "reason": "<одно предложение>"}
Не соглашайся из вежливости: если метка спорная, укажи это.

Расхождения между человеком и моделью — лучший кандидат на перепроверку. Обычно это 5–15% примеров, и именно в них прячутся ошибки инструкции.

Поиск проблем в датасете

Вот выборка из 100 строк датасета [описание задачи] в CSV: [данные].
Найди: дубликаты и почти-дубликаты; противоречивую разметку (похожие тексты — разные метки); утечку метки в тексте; персональные данные; перекос по классам.
Для каждой проблемы — номера строк и рекомендация.

Улучшение самой инструкции

Вот моя инструкция для разметки: [инструкция].
И 10 примеров, где разметчики ошиблись или разошлись: [примеры].
Найди, какие правила неоднозначны или отсутствуют, и предложи исправленную версию инструкции. Изменения выдели отдельным списком.

Как проверить, что разметке можно верить

  1. Разметьте вручную 200–300 примеров — это золотой стандарт.
  2. Прогоните модель на тех же примерах и посчитайте согласие (accuracy, Cohen's kappa).
  3. Посмотрите матрицу ошибок: какие классы модель путает.
  4. Доработайте инструкцию и повторите. Обычно хватает 2–3 итераций.
  5. На полном датасете проверяйте случайную выборку 2–5% вручную.

Если согласие модели с золотым стандартом ниже согласия двух людей между собой, задача пока требует человека. Когда своих данных не хватает, начните с готовых размеченных наборов в каталоге датасетов: на них удобно калибровать промпт, прежде чем размечать собственный корпус. О том, где ещё брать данные и как оценивать их лицензию, — в статьях где взять датасет и о юридических требованиях 152-ФЗ к датасетам.

Практические советы

  • Temperature. Для разметки ставьте 0–0,2, для генерации синтетики — 0,7–1,0.
  • Structured output. Если API поддерживает JSON-схему, используйте её вместо просьбы «ответь JSON».
  • Порядок меток. Модели склонны выбирать первую метку из списка в спорных случаях. Перемешивайте порядок между батчами или следите за перекосом.
  • Версионируйте промпты. Храните версию инструкции рядом с датасетом — через полгода иначе не понять, как размечались данные.
  • Не обучайте только на синтетике. Смешивайте с реальными данными и тестируйте только на реальных.

FAQ

Можно ли полностью заменить разметчиков нейросетью? Для простых задач с чёткими классами — почти да, при выборочной проверке человеком. Для субъективных, медицинских и юридических задач модель — первый проход, а финальное решение за экспертом.

Сколько синтетических примеров нужно? Ориентир — не больше, чем реальных, для каждого класса. Синтетика хорошо закрывает редкие классы и граничные случаи, но не заменяет реальное распределение.

Какая модель лучше для разметки на русском? Сравнивайте на своём золотом стандарте из 200–300 примеров: разница между моделями на конкретной задаче важнее общих рейтингов. Часто дешёвая модель с хорошей инструкцией не уступает дорогой.

Можно ли продавать синтетический датасет? Да, если генерация не нарушает условия использования модели и в данных нет чужих защищённых материалов и персональных данных. Подробнее о монетизации — в статье как продать данные.

Как избежать однообразия синтетики? Генерируйте партиями, задавайте явные требования к разнообразию, давайте разные затравочные примеры и удаляйте почти-дубликаты по эмбеддингам.

Похожие материалы