Искусственный интеллект, Разработка | Олег Брагинский, Марина Строева
Основатель «Школы траблшутеров» Олег Брагинский и ученица Марина Строева разберут реальный кейс настройки ИИ-агента, который самостоятельно забирает документы из папки, извлекает данные и публикует ежедневно на сайте по расписанию.
ИИ уже не просто чат-бот, который отвечает на вопросы, а полноценный ИИ-агент, способный выполнять сложные задачи, взаимодействовать с файлами и сторонними сервисами по запросу пользователя. Такого виртуального помощника можно поставить на телефон или компьютер, дать права доступа, подключить к мессенджеру для удалённой работы и позволить работать за вас.
AI Agent – программная сущность на базе большой языковой модели (LLM), обладающий определённой степенью автономности:
- планирует действия: получив сложную задачу (автоматизировать сайт), разбивает на подзадачи – изучить API, написать скрипт, протестировать и настроить расписание
- обладает памятью: сохраняет контекст проекта, предыдущие ошибки, ваши предпочтения
- имеет инструменты: пишет и запускает код (Python), работает с базами данных, просматривает веб-страницы, отправляет письма
- работает с файловой системой: может создавать папки, перемещать документы и редактировать документы прямо на сервере.
Управление агентом через Telegram-интерфейс превращает мессенджер в пульт от вашего цифрового ассистента и сервера. В обычном режиме бот просто отвечает на вопросы. Чтобы начать действовать (писать код, создавать файлы), нужно активировать Agent Mode.
Можно контролировать сложные серверные процессы с телефона. Не нужно открывать терминал, подключаться по SSH или писать код вручную. Просто ставим задачу голосом или текстом, а ИИ-система берёт на себя всю техническую реализацию.
Вам не нужно знать синтаксис Python или JS (но всё же лучше знать!). Команды и задачи пишутся так, как сказали бы живому программисту:
- «возьми файлы из папки X, вытащи из них текст, отправь на мой сайт»
- «если публикация прошла успешно, удали исходный файл»
- «настрой запуск процесса каждый день в 14:00».
После каждой итерации система присылает отчёты. Можно сформировать дополнительный лог по запросу, или получить информацию о проделанной работе, чтобы убедиться, что автоматизация исполняется без ошибок. Если что-то работает не так, можно в чате вносить правки:
- проверка: «Запусти скрипт в тестовом режиме (dry-run), покажи, какой JSON отправляешь»
- уточнение: «Заголовок бери не из названия файла, а из первой строчки текста»
- команда на исполнение: «Всё верно, теперь публикуй по-настоящему»
А теперь конкретный пример создания ИИ-агента для автоматизации размещения статей на сайте. Цель состояла в создании автономного скрипта на Python, который:
- сканирует папку doc (находится на сервере, где «живёт» агент) на наличие файлов *.docx
- извлекает данные: первый абзац становится заголовком (title), остальные – телом статьи (content), а встроенное изображение преобразуется в формат Base64
- публикует через API: отправляет JSON-запрос на WordPress-сайт
- соблюдает график: запуск ежедневно в 14:00 по МСК
- управляет файлами: после публикации переносит в архив и удаляет из исходной папки.
Процесс настройки строился итерационно. Ниже приведены ключевые запросы (промпты), которые позволили добиться идеального результата.
Промпт №1: Базовая логика и расписание
«В папке doc лежат документы. Нужно взять текст и изображения из документа и вставить на сайт с использованием API (пример JSON прилагается). Напиши скрипт, который раз в день в 14:00 по МСК будет делать публикацию, а затем перемещать файлы в папку для использованных документов. Сделай возможность принудительного запуска».
Промпт №2: Уточнение структуры контента
«В начале документа идёт заголовок статьи (название файла – не заголовок). После заголовка картинка, потом текст. Заголовок вставь в поле title. Передачу картинки сделай в формате BASE64».
Промпт №3: Финализация формата данных
«Проверь, соответствует ли отправка изображения формату data:image/jpeg;base64, … Если да – опубликуй заново. Для каждого поста бери изображение из того документа, откуда берётся статья».
Промпт №4: Оптимизация файловой системы
«Измени функционал переноса: при переносе опубликованного документа в новую папку, в исходной папке doc удаляй».
Технические трудности и преодоление
В процессе работы возникло несколько моментов, потребовавших оперативного вмешательства:
- Формат изображений: изначально API сайта не принимало картинки – отправлялись либо как пустые ссылки, либо как «чистый» Base64. Решением стало приведение строки к стандарту Data URL (data:image/jpeg;base64, …), после чего WordPress начал корректно генерировать image_url.
- Извлечение заголовка: использование имени файла в качестве заголовка неудобно для SEO. Скрипт перенастроили на парсинг первого непустого абзаца внутри Word-файла.
- Ошибки файловых операций: при использовании shutil.copy2 возникали дубликаты. Заменили логику на shutil.move, гарантируя атомарность операции: файл либо опубликован и перемещён, либо остался в очереди.
- Сбои API: в один из моментов возникла ошибка связи с API внешнего сервис-агента (сторонней LLM), что потребовало повторного запуска команды.
Результат:
- журналирование (word_to_wp.log), позволяющая отслеживать статус каждой публикации
- настроенный cron на сервере для автоматизации без участия человека
- полностью рабочий скрипт word_to_wp.py
- успешная публикация 15 тестовых и реальных статей с корректными ID и привязанными изображениями
- ежедневная работа по публикации статей на сайт в фоновом режиме, без дополнительных команд.
Весь процесс – от первой команды /start до финального успешного прогона с исправленной логикой переноса файлов занял 1,5 часа (с 11:23 до 12:52 одного дня). Включая написание кода, три итерации правок, настройку сервера, тестирование различных форматов передачи данных и доработку WordPress для изображений не агентом, а программистами.
Автоматизация сайта через ИИ-агента позволяет превратить облачную папку в полноценную редакцию. Главный секрет успеха – детальные промпты. Чем точнее опишете, откуда брать заголовок и в каком формате передавать картинки, тем меньше правок придётся вносить.