Задачи

Задачи — это автоматические сценарии, которые Pastukhov Agent выполняет сам, без вашего участия: по расписанию, после скрипта или при наступлении условия. Типичный пример — каждый день в девять утра собрать свежие данные, отдать их ИИ на разбор и прислать готовый отчёт вам в Telegram.

Задачи живут в файле .pastukhov/tasks.yml и управляются из интерфейса: кнопка «Задачи» в верхней панели открывает список созданных задач, их журналы запусков и редактор.


Из чего состоит задача

  • Расписание — дни недели и время запуска (например, «пн–пт в 09:00»), в любом часовом поясе. Планировщик проверяет расписание каждые 30 секунд;
  • Скрипт — необязательная команда (shell или python), которая выполняется перед ИИ: собрать данные, прогнать тесты, сделать резервную копию, вытащить свежие коммиты;
  • Условие запуска чата — когда задачу должен «заметить» ИИ: всегда, только при ошибке скрипта, при непустом выводе или при совпадении с фразой-триггером (например, «ERROR»);
  • ИИ-чат — модель, навык и промпт. ИИ получает вывод скрипта (путь к файлу с логом подставляется автоматически), анализирует его по вашему промпту и отвечает в обычном чате агента;
  • Связь с ботом — имя Telegram-бота из раздела «Боты»: свежий чат задачи привязывается к боту, и его ответы, а также дальнейшие ваши вопросы уходят через Telegram.

Как это работает

Планировщик работает в фоне как отдельный сервис. В назначенный день и время он запускает задачу по шагам:

  1. Выполняется скрипт (если задан) с таймаутом — например, python3 scripts/collect.py;
  2. Результат скрипта проверяется по условию: при ошибке, пустом выводе или совпадении триггера задача останавливается или, наоборот, передаётся ИИ — как вы настроили;
  3. Если условие выполнено — создаётся чат с выбранной моделью и навыком, промпт задачи (и путь к логу скрипта) отправляется ИИ;
  4. Если в задаче указан бот — этот чат привязывается к Telegram-боту: ответ ИИ приходит вам в Telegram, и дальше вы можете продолжать диалог прямо в Telegram, задавая уточняющие вопросы;
  5. Каждый запуск записывается в журнал: время, причина запуска, успех, код возврата скрипта, ссылка на созданный чат.

Пропущенные запуски (например, агент был выключен в назначенное время) не догоняются — задача просто выполнится в следующий раз по расписанию.


Примеры связки «задачи + боты»

Самое интересное начинается, когда задача не просто запускается сама, а ещё и привязана к Telegram-боту. Вот несколько рабочих сценариев:

  • Ежедневный отчёт — скрипт вечером собирает данные за день (продажи, трафик, метрики), ИИ по промпту пишет краткую сводку с выводами, бот присылает её вам в Telegram. Можно сразу спросить бота: «почему продажи упали?» — и продолжить диалог с теми же данными;
  • Ночная проверка сборки — в 6 утра запускается сборка проекта; если она упала, ИИ разбирает лог, находит ошибку и предлагает исправление; бот будит вас только с этим сообщением, а не шумом всего лога;
  • Отслеживание по триггеру — скрипт проверяет сайт или базу каждые 15 минут; ИИ подключается только при совпадении триггера (например, слово «ERROR» или падение uptime), анализирует проблему и присылает отчёт в Telegram;
  • Дайджест коммитов — утром скрипт вытаскивает вчерашние коммиты всех веток, ИИ группирует их по задачам и присылает понятное резюме команде через общего бота;
  • Резервное копирование — скрипт делает дамп базы и копирует его в облако; письмо в Telegram приходит только при ошибке (условие «nonzero-exit»), чтобы лишний раз не беспокоить.

Во всех сценариях работает одна важная деталь: ответ ИИ приходит не «в никуда», а в привязанный чат — и вы можете вести диалог, пока задача ещё актуальна. Именно поэтому в одной задаче удобно сочетать скрипт (данные), ИИ (анализ) и бота (доставка и диалог).


Журнал запусков

Для каждой задачи ведётся история последних запусков: когда и почему сработала, успешно ли, какой код вернул скрипт, не превышен ли таймаут, какой чат создан. Из журнала можно сразу открыть чат задачи и посмотреть, что именно сделал ИИ. Содержимое выводов скриптов хранится 7 дней.


Создание задачи

Откройте диалог «Задачи» из верхней панели и нажмите «Создать». Укажите:

  • Название — например, «Утренний дайджест»;
  • Расписание — дни недели и время (или оставьте пустым, чтобы запускать задачу только вручную);
  • Скрипт — shell или python, путь относительно корня проекта и таймаут в минутах;
  • Промпт для ИИ — что нужно сделать с данными: «проанализируй продажи и напиши выводы»;
  • Модель и навык — из числа ваших моделей (и при необходимости навык, который ИИ загрузит перед работой);
  • Условие запуска чата — всегда / только при ошибке / при непустом выводе / по триггеру;
  • Бот — Telegram-бот, которому будет привязан чат задачи (необязательно).

Что ещё умеют задачи

  • Несколько запусков в день — в расписании можно указать любое количество времени (например, 09:00 и 18:00);
  • Часовой пояс — для каждой задачи выбирается свой, по умолчанию — пояс сервера;
  • Ручной запуск — любую задачу можно выполнить сейчас одной кнопкой, вне расписания;
  • Журнал — история запусков с причинами и результатами;
  • Остановка и включение — задачи можно выключать, не удаляя их конфигурацию;
  • Файл конфигурацииtasks.yml хранится в папке проекта, поэтому настройки задач версионируются в Git и переносятся между серверами.

Дальше

Чтобы задачи присылали результат в Telegram, сначала настройте бота — см. Боты. Подробнее о выборе моделей — Модели.


← Назад: Настройки

Далее: Боты