Главная → Промпты → Промпты для разметки и синтетических данных
Промпты для разметки и синтетических данных
26 октября 2026 г.
промптыразметка данныхсинтетические данныедатасетыLLM
Языковые модели стали рабочим инструментом для подготовки данных: они размечают тексты, извлекают сущности, генерируют примеры для редких классов и проверяют разметку людей. Но качество датасета целиком зависит от инструкции. Расплывчатый промпт даёт «шумную» разметку, которую потом дороже чистить, чем сделать заново.
Ниже — шаблоны, проверенные на типовых задачах: классификация, NER, генерация пар «вопрос–ответ», аугментация и контроль качества. Они работают в ChatGPT, Claude, GigaChat и через API.
Принципы промпта для разметки
У хорошей инструкции для разметки пять обязательных элементов:
- Закрытый список меток с определением каждой в одно-два предложения.
- Правила для пограничных случаев: что делать, если в тексте две темы, сарказм или нет смысла.
- Метка «не определено» (
unclear), чтобы модель не угадывала. - 3–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 примеров, где разметчики ошиблись или разошлись: [примеры]. Найди, какие правила неоднозначны или отсутствуют, и предложи исправленную версию инструкции. Изменения выдели отдельным списком.
Как проверить, что разметке можно верить
- Разметьте вручную 200–300 примеров — это золотой стандарт.
- Прогоните модель на тех же примерах и посчитайте согласие (accuracy, Cohen's kappa).
- Посмотрите матрицу ошибок: какие классы модель путает.
- Доработайте инструкцию и повторите. Обычно хватает 2–3 итераций.
- На полном датасете проверяйте случайную выборку 2–5% вручную.
Если согласие модели с золотым стандартом ниже согласия двух людей между собой, задача пока требует человека. Когда своих данных не хватает, начните с готовых размеченных наборов в каталоге датасетов: на них удобно калибровать промпт, прежде чем размечать собственный корпус. О том, где ещё брать данные и как оценивать их лицензию, — в статьях где взять датасет и о юридических требованиях 152-ФЗ к датасетам.
Практические советы
- Temperature. Для разметки ставьте 0–0,2, для генерации синтетики — 0,7–1,0.
- Structured output. Если API поддерживает JSON-схему, используйте её вместо просьбы «ответь JSON».
- Порядок меток. Модели склонны выбирать первую метку из списка в спорных случаях. Перемешивайте порядок между батчами или следите за перекосом.
- Версионируйте промпты. Храните версию инструкции рядом с датасетом — через полгода иначе не понять, как размечались данные.
- Не обучайте только на синтетике. Смешивайте с реальными данными и тестируйте только на реальных.
FAQ
Можно ли полностью заменить разметчиков нейросетью? Для простых задач с чёткими классами — почти да, при выборочной проверке человеком. Для субъективных, медицинских и юридических задач модель — первый проход, а финальное решение за экспертом.
Сколько синтетических примеров нужно? Ориентир — не больше, чем реальных, для каждого класса. Синтетика хорошо закрывает редкие классы и граничные случаи, но не заменяет реальное распределение.
Какая модель лучше для разметки на русском? Сравнивайте на своём золотом стандарте из 200–300 примеров: разница между моделями на конкретной задаче важнее общих рейтингов. Часто дешёвая модель с хорошей инструкцией не уступает дорогой.
Можно ли продавать синтетический датасет? Да, если генерация не нарушает условия использования модели и в данных нет чужих защищённых материалов и персональных данных. Подробнее о монетизации — в статье как продать данные.
Как избежать однообразия синтетики? Генерируйте партиями, задавайте явные требования к разнообразию, давайте разные затравочные примеры и удаляйте почти-дубликаты по эмбеддингам.