Суть урока
Два способа запустить повторяющуюся задачу в Claude Code — как велосипед и автомобиль. Велосипед отлично работает для поездки в магазин за углом. Автомобиль незаменим для поездки в другой город. Выбери правильный транспорт.
Ключевые концепции
/loop— живые петли внутри текущей сессии Claude Code- Scheduled Tasks — долгоживущие расписания вне сессии: облачные рутины (Routines), задачи в приложении для компьютера, внешний cron вроде Trigger.dev
- Правило выбора: временной горизонт + требование присутствия
- Догоняющий запуск (catch-up) — что происходит с пропущенными запусками
По состоянию на октябрь 2026 Routines имеют статус research preview: поведение и лимиты могут меняться. Актуальные возможности и версии: Актуальное сейчас.
Теория
/loop — живые петли
Команда /loop запускает повторяющееся действие прямо внутри текущей сессии Claude Code.
Синтаксис:
/loop [интервал] [промпт]Интервал можно поставить перед промптом (10m) или после него словами («каждые 2 часа»). Единицы: s, m, h, d. Секунды округляются до минуты. Если интервал не указан, Claude сам выбирает паузу между проверками, от одной минуты до часа. Просто /loop запускает встроенный промпт обслуживания: довести незаконченное, посмотреть на pull request, замечания и упавшие проверки.
Примеры:
/loop 10m Проверь есть ли новые письма от клиента client@example.com и выведи краткое содержание /loop 5m Запусти pytest и выведи статус тестов /loop 1h Проверь статус деплоя на Trigger.dev и сообщи если появились ошибки
Как это работает под капотом:
- Claude Code держит активную сессию
- Каждые N минут ставит указанный промпт в очередь: он выполняется между твоими ходами, а не посреди ответа
- У промпта есть доступ ко всем инструментам сессии
- Результат выводится в терминал
- Ты видишь обновления в реальном времени
Характеристики /loop
Срок жизни: 7 дней максимум
Повторяющаяся задача /loop сама удаляется через 7 дней после создания: она срабатывает последний раз и исчезает. Это защита от забытых петель. Кроме того, петля привязана к сессии Claude Code: если ты закроешь терминал — петля остановится. Нужна дольше недели — используй расписание вне сессии (ниже).
Требует открытый терминал
Это живая сессия. Claude Code должен быть запущен. Не подходит для "запустить и забыть".
Нет catchup
Если время запуска прошло, пока Claude был занят долгим ответом или компьютер спал, пропущенные итерации не накапливаются: задача сработает один раз, когда Claude освободится, и продолжит по расписанию.
Доступна помощь агента в реальном времени
Главное преимущество: агент видит что происходит и может реагировать. Если при проверке email он обнаружил странную ситуацию — он может принять решение прямо здесь, а не просто зафиксировать факт.
Когда идеально:
- Мониторинг в рабочий день: проверять папку входящих каждые 10 минут с 9 до 18
- Отслеживание статуса деплоя который идёт 2-3 часа
- Спринт разработки конкретной фичи на несколько дней с ежечасными проверками
- Живой мониторинг тестов пока ты работаешь
Scheduled Tasks — долгоживущие расписания
Расписание вне сессии в Claude Code бывает трёх видов:
- Routines (рутины) — задача в облаке Anthropic: промпт, репозитории и подключённые сервисы (коннекторы). Запускается по расписанию, по HTTP-запросу или по событию GitHub. Работает при выключенном компьютере. Создаётся на claude.ai/code/routines или командой
/schedule. Нужен тариф Pro или выше; статус research preview. Минимальный интервал — 1 час. - Задачи в приложении для компьютера — запускаются на твоей машине с доступом к локальным файлам. Работают, пока приложение открыто и компьютер не спит. Минимальный интервал — 1 минута.
- Внешний cron-сервис, например Trigger.dev или Cloudflare Workers cron: пишешь код сам, платформа запускает его по расписанию.
Ниже на примере внешнего сервиса видно, как устроено расписание в коде. Для самого Claude Code сначала попробуй встроенные рутины.
Как настроить через Trigger.dev:
// src/trigger/weekly-report.ts
// Импорт зависит от версии SDK: сверься с документацией trigger.dev
import { schedules } from "@trigger.dev/sdk";
export const weeklyYoutubeReport = schedules.task({
id: "weekly-youtube-report",
cron: "0 9 * * 5", // Каждую пятницу в 09:00
run: async (payload) => {
// Собрать статистику YouTube за неделю
const stats = await fetchYoutubeStats({ period: "7d" });
// Сгенерировать отчёт через Claude
const report = await generateReport(stats);
// Отправить в Telegram
await sendToTelegram(report);
return { completed: true };
}
});Синтаксис cron — Quick Reference:
Формат: минуты часы день_месяца месяц день_недели
(0-59) (0-23) (1-31) (1-12) (0-7, 0 и 7 = воскресенье)| Cron выражение | Что делает | Типичное применение |
|---|---|---|
*/5 * * * * |
Каждые 5 минут | Мониторинг email |
0 * * * * |
Каждый час в :00 | Проверка статуса деплоя |
0 8 * * 1-5 |
Пн-Пт в 08:00 | Daily Brief |
0 9 * * 5 |
Каждую пятницу в 09:00 | Еженедельный отчёт |
0 10 1 * * |
1-е число месяца в 10:00 | Ежемесячный финансовый отчёт |
0 3 * * * |
Каждый день в 03:00 | Ночной backup |
*/30 9-18 * * 1-5 |
Каждые 30 мин с 9 до 18, Пн-Пт | Рабочие часы мониторинг |
0 0 * * 0 |
Каждое воскресенье в полночь | Еженедельная очистка |
Визуальный редактор для проверки: crontab.guru -- вводишь выражение, видишь расписание человеческим языком.
Характеристики Scheduled Tasks
Долгоживущие: месяцы и годы
Один раз настроил — работает постоянно пока не остановишь. Это системная функция, не ситуационная.
Не требуют открытого терминала
Рутины и внешние сервисы выполняются в облаке. Компьютер может быть выключен — задача всё равно запустится. Задача в приложении для компьютера исключение: ей нужны запущенное приложение и бодрствующий компьютер.
Догоняющий запуск (catch-up) зависит от инструмента
Если компьютер спал в момент запуска, при пробуждении приложение проверяет последние 7 дней и запускает один догоняющий запуск для самого свежего пропущенного времени, остальные отбрасывает. Ежедневная задача, пропустившая шесть дней, выполнится один раз. Поэтому в промпт добавляй защиту: «Смотри только сегодняшние коммиты». Для внешнего cron-сервиса уточни в его документации, догоняет ли он пропуски. Для критичных операций (отчёты, бэкапы) не полагайся на догон: проверяй результат.
Нет живой реакции
Внешний cron-сервис выполняет заранее описанный алгоритм. Если что-то пошло не по плану — задача зафиксирует это в логах, но не сможет гибко среагировать как живой агент. Рутина Claude Code ближе к агенту: она запускает полноценную сессию и сама разбирается по промпту. Но во время запуска ты не рядом, и подтверждать действия некому, поэтому промпт должен быть самодостаточным, а доступы минимальными.
Когда идеально:
- Еженедельный отчёт по YouTube-каналу каждую пятницу
- Ежедневный мониторинг конкурентов и новостей
- Ежемесячный финансовый отчёт первого числа
- Регулярный backup данных
- Любая задача которая должна работать "сама по себе"
Сравнительная таблица
| Критерий | /loop | Рутина (облако) | Задача в приложении |
|---|---|---|---|
| Где работает | твой компьютер | облако Anthropic | твой компьютер |
| Срок жизни | до 7 дней | пока не отключишь | пока не удалишь |
| Требует открытую сессию | ДА | НЕТ | НЕТ |
| Нужен включённый компьютер | ДА | НЕТ | ДА (приложение открыто) |
| Догон пропущенных запусков | НЕТ | не нужен, компьютер не участвует | один запуск за последние 7 дней |
| Доступ к локальным файлам | ДА | НЕТ (свежий клон репозитория) | ДА |
| Минимальный интервал | 1 минута | 1 час | 1 минута |
| Настройка | секунды | несколько минут | несколько минут |
| Расход | лимиты подписки | лимиты подписки | лимиты подписки |
| Лучший для | ситуативный мониторинг | регулярные операции без компьютера | регулярные операции с локальными файлами |
Внешний cron-сервис (Trigger.dev и похожие) подходит, когда нужен собственный код и свой интерфейс. Он считается отдельно: у него своя оплата и свои правила. Условия рутин и тарифов меняются: Актуальное сейчас.
Правило выбора
Ответь на два вопроса:
1. Сколько это будет работать?
- Несколько часов или дней (до 7) →
/loop - Недели, месяцы, постоянно → Scheduled Tasks
2. Ты будешь за компьютером?
- Да, активно работаешь →
/loop(видишь что происходит, можешь вмешаться) - Нет, хочешь "запустить и забыть" → Scheduled Tasks: рутина в облаке, а если нужны локальные файлы — задача в приложении
Примеры по правилу:
"Хочу следить за статусом деплоя пока он идёт (2 часа)" → /loop: короткий период, ты за компьютером
"Хочу еженедельный отчёт по проекту по пятницам" → Scheduled Task: регулярно, не требует присутствия
"Хочу проверять inbox каждые 10 минут в рабочий день" → Зависит: если только сегодня → /loop. Если навсегда → Scheduled Task
"Хочу три дня следить за конкурентами пока готовлю pitch" → /loop: ограниченный срок, активная работа
Комбинирование
В сложных системах оба подхода используются вместе:
Scheduled Task (рутина в облаке или Trigger.dev):
→ Каждый будний день в 08:30 запускает Daily Brief
→ Работает постоянно, не требует внимания
/loop (во время рабочего дня):
→ Когда ожидаешь важный email — запускаешь /loop на 4 часа
→ Агент проверяет каждые 5 минут и сразу говорит если пришло
→ Это дополнение к регулярному расписанию, не заменаПрактика
Задание: Настроить /loop для живого мониторинга
Выбери что-то что хочешь мониторить прямо сейчас:
- Файл который должен измениться (например, лог-файл)
- Директорию куда должны появиться новые файлы
- Результат команды (например, статус git)
Запусти /loop:
Напиши в чат /loop 3m Проверь содержимое папки ~/Downloads и выведи список файлов добавленных за последние 10 минут
Наблюдай 3-4 итерации. Добавь файл в Downloads и посмотри как агент его обнаружит.
Останови петлю: попроси Claude «отмени эту проверку» (список задач покажет вопрос «какие у меня запланированные задачи?»). Если запускал
/loopбез интервала, хватит нажать Esc. Иначе петля сама удалится через 7 дней.Bonus: Опиши ту же задачу как расписание вне сессии. Вариант А: рутина через
/schedule(нужен тариф Pro или выше, после создания смотри результат на claude.ai/code/routines). Вариант Б: конфигурация для Trigger.dev (можно без деплоя — просто написать код и понять синтаксис cron)
Шаблон: конфигурация Scheduled Tasks
Пример набора расписаний для продуктивного фрилансера (на примере внешнего cron-сервиса: тот же набор можно оформить как три рутины):
// schedules.ts — все cron-задачи в одном файле
// Утренний Daily Brief — Пн-Пт в 08:00
export const dailyBrief = schedules.task({
id: "daily-brief",
cron: "0 8 * * 1-5",
run: async () => {
const [emails, meetings, tasks] = await Promise.all([
getUnreadEmails({ since: "12h" }),
getTodayMeetings(),
getOpenTasks({ priority: "high" })
]);
const brief = await generateBrief(emails, meetings, tasks);
await sendToTelegram(brief);
}
});
// Еженедельный отчёт — Пятница 17:00
export const weeklyReport = schedules.task({
id: "weekly-report",
cron: "0 17 * * 5",
run: async () => {
const stats = await getWeeklyStats();
const report = await generateWeeklyReport(stats);
await sendToTelegram(report);
}
});
// Backup — каждый день в 03:00
export const nightlyBackup = schedules.task({
id: "nightly-backup",
cron: "0 3 * * *",
run: async () => {
await backupDatabase();
await sendToTelegram("✅ Backup завершён");
}
});Инструменты и ресурсы
/loop— встроенная команда Claude Code (бандл-навык)- Routines — облачные рутины: claude.ai/code/routines или
/schedule(research preview, Pro и выше) - Задачи в приложении для компьютера — вкладка Code, раздел Routines, вариант Local
- Документация — Run prompts on a schedule и Routines
- Trigger.dev — платформа для Scheduled Tasks и воркфлоу (внешний сервис)
- Cron syntax reference — визуальный редактор cron-выражений — crontab.guru
- Skill:
anthropic-skills:schedule— помощь с настройкой расписаний
Ключевые выводы
/loop — велосипед: быстро запустить, хорошо для ситуаций когда ты рядом. Scheduled Tasks — автомобиль: настроить дольше, зато едет сам пока ты занят другим. Что случается с пропущенным запуском — не деталь, а ключевое свойство: /loop не догоняет, задача в приложении делает один догоняющий запуск, облачная рутина от твоего компьютера не зависит. Для критических операций (финансовые отчёты, бэкапы) проверяй результат, а не надейся на догон. Правило выбора: временной горизонт + требование присутствия. Два вопроса — один ответ.
Связанные уроки
- Деплой на Cloudflare — Cloudflare Workers cron triggers как альтернатива Trigger.dev для serverless расписаний
- AI Executive Assistant — Scheduled Tasks питают все четыре воркфлоу ассистента (email, meetings, brief, tasks)
Следующий урок
Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс