ИИ для data scientist: конструктор промптов
Data scientist'ы тратят до 40% времени на очистку данных и написание рутинного кода. LLM ускоряют эти процессы, но только при грамотной формулировке запросов. Разбираем анатомию эффективного промпта и даём шаблоны под ключевые задачи.
Структура эффективного промпта
Промпт для DS должен содержать 5 обязательных блоков:
- Роль — задаёт контекст (например, «ты — старший ML-инженер»).
- Задача — конкретное действие (напиши код, объясни метрику, найди ошибку).
- Данные — описание схемы, типов, примеров (важно для генерации корректного кода).
- Ограничения — библиотеки, версии, стиль кода, запрет на определённые подходы.
- Формат ответа — код с комментариями, таблица, объяснение в 3 пунктах.
Готовые шаблоны промптов
1. Генерация кода для предобработки
Шаблон: «Ты — data scientist. Напиши Python-код для обработки пропусков в датасете [описание схемы]. Используй pandas 2.0, не применяй dropna(). Выведи код с комментариями и краткое объяснение выбора стратегии».
Настройка: замените описание схемы на свои колонки, укажите допустимые библиотеки и желаемый подход (например, медиана для числовых, мода для категориальных).
2. Объяснение метрики
Шаблон: «Объясни метрику [F1-score] простым языком для заказчика. Приведи формулу, пример расчёта на синтетических данных и 2 сценария, где она предпочтите��ьнее accuracy».
Настройка: укажите целевую аудиторию (техническую или нет), глубину математических деталей.
3. Отладка кода
Шаблон: «Вот код [вставьте код]. Он выдаёт ошибку [текст ошибки]. Найди причину, предложи исправление и объясни, почему возникла проблема».
Настройка: добавьте версии библиотек и фрагмент данных, на котором ошибка воспроизводится.
4. Генерация синтетических данных
Шаблон: «Сгенерируй 1000 строк синтетических данных с колонками [перечислить]. Задай корреляцию между [колонка1] и [колонка2] = 0.7. Используй numpy, random_state=42».
Настройка: укажите распределения (нормальное, пуассона), допустимые диапазоны и тип данных.
Совет: всегда указывайте «покажи код без markdown» или «выведи только код», если планируете вставлять результат в IDE. Это экономит время на форматирование.
Сравнение подходов к настройке промптов
| Параметр | Быстрый промпт | Детальный промпт |
|---|---|---|
| Время на написание | 1–2 мин | 5–10 мин |
| Точность результата | Средняя | Высокая |
| Риск галлюцинаций | Высокий | Низкий |
| Пример использования | Быстрый поиск синтаксиса | Продакшн-код, сложная логика |
Практические рекомендации
- Итеративно уточняйте промпт: если ответ неполный, добавьте «дополнительно укажи сложность алгоритма».
- Используйте системные промпты для постоянных ограничений (например, «всегда используй type hints»).
- Для больших датасетов просите «сгенерируй код, который обрабатывает данные чанками по 10000 строк».