Как ИИ генерирует код для автоматизации рутины

ИИ помогает быстрее писать скрипты для парсинга, очистки таблиц, сверки данных и подготовки отчётов, если давать ему проверяемую задачу, тестовые данные и критерии готовности.
Я отношусь к генерации кода нейросетями как к ускорителю черновика, а не как к волшебной кнопке. Хороший результат появляется там, где задача разбита на входные данные, правила обработки, формат результата и проверки. Тогда вместо часа ручного набора однотипного кода можно получить рабочий скелет за несколько минут, прогнать его на маленьком примере и спокойно доработать.
В автоматизации рутины чаще всего речь не о сложной архитектуре, а о коротких сценариях: забрать данные из файла, распарсить страницу, привести даты к одному формату, удалить дубли, собрать сводку, отправить результат в таблицу или отчёт. Именно такие задачи языковые модели обычно закрывают лучше всего, потому что в них много повторяемых шаблонов и понятных проверок. Если тема генерации текста уже знакома, полезно сравнить подход с тем, как нейросеть помогает создавать черновики в статье про задачи и проверку текстов: логика та же, только вместо абзацев мы проверяем функции, входы и выходы.
Где ИИ реально экономит время при написании скриптов
В ручной автоматизации много операций, которые редко требуют творческого программирования. Нужно прочитать CSV, пройтись по строкам, отфильтровать записи, привести суммы к числу, разобрать дату, объединить два файла по идентификатору. Опытный разработчик напишет такой скрипт быстро, но всё равно потратит время на синтаксис, импорты, обработку ошибок и мелкие проверки.
Нейросеть хорошо берёт на себя первичный набросок. Я обычно прошу сгенерировать код вместе с комментариями, тестовыми входными данными и примером ожидаемого результата. Это снижает риск получить «красивый», но непроверенный фрагмент. Для задач на 30–80 строк кода такой подход особенно удобен: модель быстро собирает основу, а человек проверяет логику и крайние случаи.
Типовые сценарии выглядят так:
| Сценарий | Что делает скрипт | Что дать ИИ на вход | Что проверить вручную |
|---|---|---|---|
| Парсинг страниц | Извлекает заголовки, цены, ссылки, даты | Пример HTML или описание структуры | Не нарушает ли сайт правила доступа, не ломается ли при пустых блоках |
| Очистка таблиц | Удаляет дубли, нормализует даты, суммы, телефоны | 10–20 строк примера с ошибками | Верно ли обработаны пропуски и разные форматы |
| Сверка файлов | Сравнивает два CSV или XLSX по ключу | Названия колонок, ключ, ожидаемые статусы | Нет ли ложных совпадений из-за пробелов и регистра |
| Подготовка отчёта | Строит сводку по категориям и периодам | Формулу расчёта, формат вывода | Совпадают ли итоги с контрольной выборкой |
| Пакетная обработка | Переименовывает файлы, меняет формат, переносит данные | Правила именования и примеры | Есть ли резервная копия до запуска |
Такая таблица помогает не просить у модели «сделай автоматизацию», а формулировать конкретный результат. Подход близок к рабочим сценариям из материала про внедрение нейросетей в процессы: ценность появляется не от разового эксперимента, а от повторяемого шаблона.
Как формулировать запрос, чтобы получить не демо, а рабочий код
Плохой запрос звучит так: «Напиши парсер сайта». В ответ легко получить общий код без учёта пагинации, кодировок, таймаутов, пустых значений и формата сохранения. Рабочий запрос похож на короткое техническое задание.
Я использую такую структуру:
- Среда выполнения: язык, версия, операционная система, допустимые библиотеки.
- Входные данные: пример файла, фрагмент HTML, названия колонок, путь к папке.
- Правила обработки: что удалить, что преобразовать, как считать итог.
- Формат результата: CSV, JSON, XLSX, печать в консоль, отдельный файл с ошибками.
- Проверки: 3–5 тестовых строк и ожидаемый вывод.
- Ограничения: не удалять исходники, не отправлять данные во внешние сервисы, не использовать тяжёлые зависимости.
Для примера: «Напиши скрипт на Python 3.11, который читает файл orders.csv, ищет строки без номера заказа, приводит колонку date к формату ГГГГ-ММ-ДД, суммы с запятой превращает в числа, дубли по order_id сохраняет в duplicates.csv, очищенный файл пишет в clean_orders.csv. Добавь функцию validate_row и 5 тестов на pytest». Такой запрос обычно даёт код, который уже можно запускать на маленькой копии данных.
Если хочется улучшить точность формулировок, я бы начал с базовых принципов из статьи про правильные запросы для нейросетей. Для кода там особенно ценны роль, контекст, ограничения и критерий результата.
Мини-процесс: от задачи до безопасного запуска
Ниже схема, которой я пользуюсь при подготовке скриптов для рутины. Она не привязана к одному инструменту и работает для парсинга, таблиц, файловых операций и отчётов.
Сначала задача прогоняется на 10–30 строках данных. Затем добавляются тесты. После этого скрипт запускается на копии реального файла. Лишь потом можно использовать его на полном объёме. Для файловых операций я всегда прошу код сначала работать в режиме предпросмотра: показать, что будет переименовано или удалено, но не менять исходники без отдельного флага.
Модельный кейс: для папки «сканы_акты» на 480 файлов можно попросить скрипт найти PDF без даты в имени, сформировать таблицу «старое имя, новое имя, причина», а переименование включить только после проверки CSV. Такой сценарий не требует сложной разработки, но спасает от ручного клика по сотням файлов.
Парсинг: где заканчивается удобство и начинается риск
Парсинг часто кажется простой задачей: открыть страницу, найти нужные блоки, сохранить данные. На практике ломаются селекторы, меняется верстка, появляются капчи, часть страниц отдаёт пустой ответ, а сайт может запрещать автоматический сбор в правилах использования.
Я прошу нейросеть писать парсер с таймаутами, повторными попытками, задержкой между запросами и явным логом ошибок. Если данные доступны через открытый экспорт или официальный API, такой путь обычно надёжнее HTML-парсинга. Когда API нет, лучше ограничить частоту запросов и сохранить исходный HTML нескольких страниц для отладки. Это помогает понять, сломался код или поменялась структура страницы.
Условный пример: интернет-магазин с 1 200 карточками товаров может потребовать не один «быстрый парсер», а сценарий с очередью ссылок, паузой 1–3 секунды, сохранением промежуточного результата каждые 100 страниц и отдельным файлом failed_urls.csv. Без таких деталей первый сбой на 700-й странице заставит начинать заново.
Обработка данных: просите код думать о грязных значениях
Таблицы из CRM, выгрузок, форм и бухгалтерских файлов редко бывают чистыми. В одной колонке даты могут выглядеть как «01.02.2025», «2025-02-01» и «1 февраля 2025». Суммы встречаются с пробелами, запятыми, символами валюты. В названиях компаний бывают лишние кавычки, регистр и невидимые пробелы.
Поэтому запрос к нейросети должен включать грязные примеры. Не идеальные строки, а именно проблемные. Я обычно даю 10 строк: нормальную, пустую, с неправильной датой, с дублем, с лишним разделителем, с кириллицей, с латиницей, с длинным текстом, с нулевой суммой и с отрицательной суммой. Если модель написала обработку только для «чистого» CSV, скрипт упадёт на первом реальном файле.
Для повседневных задач похожий принцип описан в статье про нейросети и чат-боты в бытовой и рабочей рутине: чем ближе пример к реальности, тем меньше ручных исправлений после ответа.
Как проверять код, сгенерированный ИИ
Проверка начинается не с чтения всего файла, а с запуска на маленьком наборе. Нужно увидеть, что код вообще стартует, создаёт ожидаемые файлы и не меняет исходники. Затем я смотрю зависимости. Если модель подключила библиотеку ради одной строки, можно попросить переписать без неё. Чем меньше зависимостей, тем проще переносить скрипт между компьютерами.
Дальше идут тесты. Для маленьких функций достаточно 5–8 проверок: пустая строка, нормальная строка, неверный формат, дубль, граничное значение. Если скрипт считает деньги, проценты, налоги или остатки, нужна ручная контрольная выборка. Берём 10–20 строк и считаем итог отдельно в таблице. Совпало, можно расширять запуск.
Отдельный слой проверки связан с безопасностью данных. Не вставляйте в публичные чаты реальные токены, пароли, персональные данные, коммерческие выгрузки и закрытые документы. Для запроса часто хватает обезличенного фрагмента: названия колонок, 5–10 синтетических строк, описание правил. Если нужен контекст, замените имена на «клиент_1», «клиент_2», суммы округлите, адреса удалите.
Где в этом месте помогает SoftChat
В SoftChat удобно вести диалог с нейросетью в формате пошаговой доработки: сначала запросить черновик, затем попросить добавить тесты, затем разобрать ошибку из консоли. В веб-чате есть потоковая выдача ответов, поэтому длинный код не приходится ждать молча до конца генерации. Можно переключать модели в рамках разговора, если один вариант лучше пишет структуру, а другой аккуратнее объясняет ошибку.
Для таких задач полезны настройки текущего чата: в панели можно выбрать модель и задать расширенные параметры ответа, например «Креативность» и «Длина ответа», если выбранная модель это поддерживает. Сервер показывает только допустимые настройки для модели, поэтому пользователь не задаёт параметры, которые она не примет. Настройки сохраняются для конкретного чата и применяются к следующим сообщениям.
Ещё один практичный сценарий, сохранить роль ассистента для кода. В SoftChat можно подключить сохранённого ассистента к открытому чату через меню «Инструменты». Если чат пустой, роль применяется на месте; если сообщения уже есть, открывается новый чат с этим ассистентом, чтобы не менять контекст посреди диалога. Это удобно, когда вы часто просите один и тот же формат: «сначала уточни входные данные, потом предложи код, затем добавь тесты и список рисков».
У авторизованных пользователей есть память о предпочтениях. SoftChat может запомнить факты и рабочие предпочтения, если вы явно ими делитесь или пишете команду «Запомни …». Для кода это удобно на уровне стиля ответа: например, просить по умолчанию давать короткие функции, комментарии на русском и отдельный блок проверки. Управление памятью находится в профиле: записи можно править, ставить на паузу, удалять, искать и скачивать в JSON.
Какой язык выбрать для автоматизации
Для рутины выбор языка лучше делать от среды, а не от моды. Если команда живёт в таблицах и выгрузках, часто хватает Python: у него много библиотек для CSV, Excel, JSON, HTTP-запросов и обработки текста. Если работа идёт внутри браузера, иногда быстрее написать небольшой JavaScript-фрагмент. Для системных задач на компьютере подойдут оболочки командной строки, но там выше риск случайно удалить лишнее, если не предусмотреть режим предпросмотра.
| Подход | Когда подходит | Сильная сторона | Ограничение |
|---|---|---|---|
| Python-скрипт | CSV, Excel, JSON, папки, отчёты | Много готовых библиотек и понятный синтаксис | Нужно настроить окружение и зависимости |
| JavaScript в браузере | Быстрая обработка открытой страницы | Можно работать рядом с интерфейсом сайта | Легко сломать при смене верстки |
| Командная строка | Пакетные операции с файлами | Быстро для переименований и конвертации | Ошибки могут затронуть много файлов сразу |
| Макросы таблиц | Простые операции внутри файла | Пользователь остаётся в знакомом интерфейсе | Сложнее поддерживать версии и тесты |
Я чаще прошу модель предложить два варианта: «минимальный скрипт без лишних библиотек» и «более устойчивый вариант с логами и тестами». После этого выбираю по цене поддержки. Код, который понимает один автор запроса, обычно выгоднее хитрой конструкции на 15 зависимостей.
Типичные ошибки в ИИ-коде
Первая ошибка, слишком широкий запрос. Чем больше в нём разных задач, тем выше шанс, что модель смешает правила. Лучше отдельно написать чтение файла, потом очистку, потом отчёт.
Вторая ошибка, отсутствие тестовых данных. Без примера модель угадывает структуру колонок, разделители, кодировку и формат дат. Угадывание иногда попадает в цель, но для автоматизации этого мало.
Третья ошибка, доверие к первому запуску. Если скрипт отработал без красной ошибки, это ещё не значит, что результат верный. Он мог молча пропустить строки, округлить суммы, перезаписать файл или неправильно разобрать кириллицу. Поэтому лог, резервная копия и контрольная выборка нужны даже для короткого кода.
Четвёртая ошибка, копирование секретов в запрос. Токены доступа, ключи API, пароли от баз и реальные персональные данные должны оставаться вне диалога. Если нужна структура, замените значения фиктивными.
Что бы я сделал на вашем месте
Я бы начал с одной повторяемой задачи, которая занимает 20–40 минут хотя бы раз в неделю: чистка выгрузки, сбор отчёта, переименование файлов, сверка двух таблиц. Не стал бы сразу автоматизировать весь процесс. Сначала один скрипт, одна папка, одна копия данных.
Дальше я описал бы задачу в 8–12 строках: вход, правила, выход, ограничения, 5 примеров проблемных данных. Затем попросил бы нейросеть написать код, тесты и инструкцию запуска. После первого результата я бы не спорил с моделью абстрактно, а дал ей конкретную ошибку из консоли или неправильную строку результата.
Когда скрипт стабильно проходит маленькую выборку, его можно расширять. В этот момент автоматизация становится рабочей привычкой: не «попросить ИИ написать что-нибудь», а собрать понятный шаблон, который экономит время каждую неделю. Для обучения команды полезно связать это с подходом из статьи про нейросети в саморазвитии: модель лучше использовать как наставника, который объясняет код и проверяет понимание, а не как источник фрагментов для слепого копирования.