← Курс по Mastra · Урок 3

Урок 3 · ~8 минут

Workflows: когда нужен предсказуемый конвейер

Одна идея этого урока: workflow – это чек-лист, который выполняется всегда одинаково. И он умеет ставить процесс на паузу, пока человек не примет решение.

Агент против конвейера

В прошлом уроке агент сам решал, что делать. Workflow – противоположность: вы заранее фиксируете шаги, их порядок, ветвления и параллельность. Нейросеть может работать внутри отдельных шагов, но маршрут ей не доверен.

АгентWorkflow
Маршрутвыбирает модельзадан вами жёстко
Результатгибкий, но вариативныйпредсказуемый
Подходит дляоткрытых задач, диалоговбизнес-процессов, автоматизаций

Из чего собирается

Кубики простые: шаг (createStep) – это одно действие со входом и выходом. Шаги соединяются методами-глаголами:

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

Суперспособность: пауза до решения человека

Шаг может вызвать suspend() – и весь процесс замирает, сохраняясь в базу. Через час или через неделю вы нажимаете «одобрить» – и процесс продолжается с того же места через resume(). Это называется human-in-the-loop.

// Шаг "ждём одобрения"
execute: async ({ inputData, resumeData, suspend }) => {
  if (!resumeData?.approved) {
    return await suspend({ message: 'Одобрите рассылку: ' + inputData.summary })
  }
  return { output: 'Рассылка отправлена' }
}

Источник: документация Mastra, раздел Suspend & Resume.

Привязка к вашим проектам Публикация урока в GetCourse – идеальный workflow: скачать запись → сделать транскрипт → конспект → квиз → пауза: Юрий проверяет → публикация. ИИ работает внутри шагов, но порядок железный, и без вашего «ок» ничего не уйдёт.

Проверьте себя

1. Чем workflow принципиально отличается от агента?

2. Что происходит с процессом при suspend()?

💬 Спросите Claude Code: «нарисуй схему workflow для подготовки эфира к публикации» – и сравните с тем, как вы делаете это сейчас.