Как генерировать скрипты для обработки данных с ИИ

Практичная схема: как превратить грязную таблицу, лог или выгрузку в рабочий скрипт, не отдавая нейросети контроль над качеством.
Я часто вижу одну и ту же проблему: программисту нужно не «изобрести архитектуру», а быстро привести данные в порядок. Удалить дубли, склеить две выгрузки, переименовать 18 колонок, проверить даты, собрать сводку, найти пустые значения. Такая работа съедает часы, хотя половина действий описывается обычным человеческим языком.
Нейросеть хорошо помогает именно в этой зоне. Она не должна заменять проверку, запуск и понимание кода. Её сильная сторона другая: быстро собрать черновик скрипта, предложить библиотеку, разложить задачу на шаги, написать проверки и объяснить, где скрипт может сломаться. Если вы уже используете нейросети для рабочих процессов, полезно связать эту практику с более широкой системой автоматизации, о ней я писал в материале про внедрение нейросетей в рабочие процессы.
В SoftChat такую работу удобно вести в обычном текстовом чате: можно получать ответ потоком, переключать модель в разговоре, сохранять шаблоны промптов и подключать заранее настроенного ассистента к открытому чату. Код при этом нужно запускать в своей среде разработки, а не считать ответ нейросети готовым результатом.
Где ИИ реально экономит время программиста
Самая заметная экономия появляется не в сложных алгоритмах, а в повторяемых задачах. Например, есть CSV-файл на 50 000 строк, в нём 12 колонок, даты записаны в трёх форматах, часть сумм хранится строками с пробелами, а в двух полях смешаны пустые значения и текст «нет данных». Вручную это превращается в серию мелких правок: открыть файл, найти паттерны, написать преобразования, проверить крайние случаи.
С нейросетью я делаю иначе. Сначала описываю структуру данных, затем прошу сгенерировать скрипт на Python или SQL, потом отдельно прошу написать проверки. Такой подход особенно полезен для задач с понятным входом и выходом: нормализация CSV, очистка Excel-выгрузки, объединение таблиц по идентификатору, поиск дублей, подготовка отчёта для аналитика.
Для ориентира: один лист Excel вмещает до 1 048 576 строк и 16 384 столбцов. Когда выгрузка приближается хотя бы к десяткам тысяч строк, ручная чистка через фильтры становится хрупкой. Один неверный сортировочный шаг, и данные уже трудно восстановить. Скрипт, напротив, можно повторить на новой выгрузке, положить в репозиторий и запустить с теми же параметрами через неделю.
Если задача связана с текстовыми полями, полезно заранее освежить базовые приёмы из статьи про нейросеть для генерации текста и проверку результата. Там та же логика: сначала структура, затем черновик, затем проверка.
Пошаговая схема генерации скрипта
Я использую пять шагов. Они простые, но сильно снижают риск получить красивый, неработающий код.
| Шаг | Что дать нейросети | Что получить | Как проверить |
|---|---|---|---|
| 1. Контекст | Формат файла, размер, список колонок | План обработки | Сверить с реальной схемой данных |
| 2. Правила | Что считать ошибкой, дублем, пустым значением | Логику преобразований | Прогнать на 10–20 строках |
| 3. Скрипт | Язык, библиотеки, ограничения среды | Черновик кода | Запустить на копии файла |
| 4. Тесты | Примеры корректных и плохих строк | Проверки и сообщения об ошибках | Сломать входные данные намеренно |
| 5. Доработка | Текст ошибки или неверный результат | Исправленную версию | Сравнить итог с ожидаемой таблицей |
Первый промпт не должен звучать как «напиши скрипт для обработки данных». Это слишком широко. Лучше дать задачу как техническое мини-ТЗ.
Условный пример: «Есть файл zakazy.csv на 80 000 строк. Колонки: id_заказа, дата, сумма, город, статус. Нужно удалить дубли по id_заказа, привести дату к формату ГГГГ-ММ-ДД, сумму преобразовать в число, оставить только статусы оплачен и возвращён, сохранить результат в clean_zakazy.csv. Напиши скрипт на Python, добавь комментарии и проверки ошибок чтения файла».
После такого запроса нейросеть обычно выдаёт код с чтением файла, преобразованием дат, фильтрацией и сохранением результата. Но я не останавливаюсь на первой версии. Второй запрос почти всегда важнее первого: «Проверь свой код: какие входные данные его сломают? Добавь обработку этих случаев и выведи понятные сообщения».
Качество ответа сильно зависит от формулировки. Если хочется прокачать этот навык системно, пригодится разбор про промптинг для нейросетей: там много приёмов, которые прямо переносятся на генерацию скриптов.
Что обязательно указать в промпте
Хороший промпт для скрипта похож на задачу в трекере. В нём есть вход, выход, ограничения и критерии готовности. Я обычно включаю такие детали:
- Формат входных данных: CSV, XLSX, JSON, лог-файл, таблица SQL.
- Пример 3–5 строк, лучше с ошибками: пустая дата, лишний пробел, неверный тип.
- Названия колонок точно как в файле, включая регистр и пробелы.
- Размер данных: 5 000 строк или 5 млн строк требуют разных решений.
- Среду запуска: локальный Python, серверный скрипт, SQL-запрос, пакетная обработка.
- Формат результата: новый файл, таблица, отчёт в Markdown, список ошибок.
Размер данных влияет на код сильнее, чем кажется. Файл на 10 000 строк можно спокойно читать целиком в память. Для миллионов строк лучше просить обработку частями, запись промежуточных результатов и журнал ошибок. Если в данных есть персональная информация, не вставляйте реальные строки в запрос. Замените имена, телефоны, почту и идентификаторы на синтетические значения с тем же форматом.
В SoftChat для повторяемых задач удобно сохранять шаблоны промптов. Например, один шаблон для очистки CSV, второй для проверки SQL-запроса, третий для генерации тестов. Если у вас есть сохранённый ассистент под роль «ревьюер кода» или «аналитик данных», его можно подключить к текущему чату через меню инструментов. Это не отменяет ручной проверки, зато помогает не начинать каждый раз с пустого листа.
Как проверять скрипт, чтобы не испортить данные
Мой базовый принцип: первая версия скрипта не имеет права работать с оригиналом. Только копия. Лучше создать папки input, output и archive, чтобы входные файлы не перезаписывались. Ещё полезно просить нейросеть добавить режим предварительного просмотра: вывести первые 10 строк результата, количество удалённых дублей, число строк с ошибками дат и итоговое количество записей.
Условный пример: если в исходном файле 25 000 строк, а после фильтрации осталось 4 200, скрипт должен объяснить, куда делись остальные 20 800. Часть могла быть дублями, часть не прошла по статусу, часть содержала ошибочные даты. Без такого отчёта программист видит только итоговый файл и начинает гадать.
Я прошу нейросеть добавить отдельные проверки:
- совпадает ли набор обязательных колонок с ожидаемым;
- нет ли пустых идентификаторов в ключевом поле;
- сколько строк не удалось преобразовать;
- не появились ли отрицательные суммы там, где их быть не должно;
- записан ли журнал ошибок в отдельный файл.
Для повседневных задач без тяжёлой разработки можно использовать тот же подход. Сначала описать рутину, затем попросить нейросеть разбить её на действия, потом автоматизировать безопасный кусок. Больше бытовых и рабочих сценариев я разбирал в статье про чат-боты и нейросети для повседневных задач.
Ручной скрипт и ИИ-черновик: что выбрать
ИИ не снимает с программиста ответственность за данные. Он ускоряет старт, но финальное решение принимает человек. Для разовой выгрузки можно взять сгенерированный скрипт, проверить его на копии и сохранить как рабочую заготовку. Для регулярного процесса нужны тесты, журналирование, обработка ошибок, понятные сообщения и контроль версий.
| Подход | Когда подходит | Сильная сторона | Ограничение |
|---|---|---|---|
| Ручное написание с нуля | Сложная бизнес-логика, высокая цена ошибки | Полный контроль над архитектурой | Дольше старт, больше рутины |
| ИИ-черновик | Очистка, фильтрация, конвертация, разовые отчёты | Быстро появляется рабочая основа | Нужны запуск, тесты и ревью |
| ИИ плюс ревью программиста | Регулярные выгрузки и повторяемые операции | Баланс скорости и надёжности | Требует дисциплины проверки |
| Готовый пакетный скрипт | Стабильный процесс по расписанию | Повторяемость результата | Нужно поддерживать при изменении схемы данных |
Если вы учитесь работать с данными, нейросеть можно использовать как наставника: попросить объяснить каждую строку, предложить альтернативу через SQL, показать, как переписать скрипт без лишних зависимостей. Такой формат близок к учебной практике, о которой я писал в материале про ИИ для саморазвития.
Типовые ошибки в ИИ-скриптах
Первая ошибка, слишком общий запрос. Нейросеть додумывает названия колонок, выбирает библиотеку без учёта среды, не знает кодировку файла. Вторая ошибка, отсутствие тестового набора. Если дать только «идеальные» строки, скрипт может упасть на первой реальной пустой ячейке. Третья ошибка, слепое доверие к результату. Код может работать синтаксически верно и при этом неверно трактовать бизнес-правило.
Есть и более тонкий риск: нейросеть иногда предлагает избыточное решение. Для простой фильтрации CSV она может собрать много функций, классов и настроек. Я в таких случаях прямо прошу: «Сократи код до минимальной версии, сохрани проверки колонок и журнал ошибок». Обычно результат становится понятнее.
Если данные большие, просите потоковую или пакетную обработку. Если данные чувствительные, используйте обезличенные примеры. Если скрипт будет запускаться регулярно, сразу добавляйте логирование, код возврата при ошибке и файл с параметрами. Это занимает несколько дополнительных минут в промпте, но экономит часы на разборе ночного сбоя.
Как бы я действовал на вашем месте
Я бы начал с одной скучной задачи, которая повторяется хотя бы раз в неделю: очистка выгрузки, сверка двух таблиц, подготовка отчёта. Взял бы 20 строк синтетического примера, описал вход и ожидаемый выход, попросил нейросеть написать скрипт и сразу вторым запросом потребовал проверки. Потом запустил бы код на копии файла, сравнил строки до и после, сохранил промпт как шаблон.
Дальше можно наращивать аккуратно: добавить журнал ошибок, параметры запуска, обработку больших файлов, тестовые примеры. Через несколько итераций у вас появится не магия, а понятный рабочий конвейер: человек ставит задачу и проверяет смысл, нейросеть ускоряет черновик, скрипт повторяет обработку без ручных кликов.