Термин AI-агенты и orchestration Начальный

State machine

State machine - это модель процесса, где система находится в одном из состояний и переходит в другое состояние по событию или правилу.

машина состояний finite state machine FSM автомат состояний state model модель состояний
State machine помогает описать поведение системы без хаоса. У процесса есть состояния: waiting_for_input, collecting_data, validating, waiting_for_approval, completed, failed. Когда происходит событие, система переходит из одного состояния в другое по заранее заданным правилам.

Проще говоря, state machine отвечает на вопрос: где сейчас находится сценарий и что можно делать дальше. Если бот ждет номер заказа, он не должен внезапно создавать счет. Если документ ждет approval, его нельзя автоматически отправлять в учетную систему. Состояние ограничивает допустимые действия.

В AI-агентах state machine полезна потому, что модель может отвечать гибко, но бизнес-процесс должен оставаться предсказуемым. Агент может формулировать текст, извлекать данные или выбирать tool, но переходы между этапами лучше держать в коде или явной схеме: какие условия нужны, чтобы перейти дальше, когда нужен человек и где остановиться.

State machine часто используют в чат-ботах. Например, пользователь начинает оформление заявки, бот спрашивает имя, затем телефон, затем задачу, затем подтверждение. Каждый шаг - состояние. Если пользователь отправил не то, бот остается в текущем состоянии и просит исправить данные.

Для production важны не только состояния, но и события, таймауты, retry, ошибки и финальные состояния. Нужно понимать, что делать, если пользователь пропал, tool вернул ошибку, approval отклонен, документ невалиден или агент исчерпал token budget.

State machine проще, чем полноценный StateGraph. Она хорошо подходит для линейных или умеренно ветвящихся сценариев. Если процесс становится большим, с несколькими узлами, параллельными ветками, supervisor agent и checkpoint, удобнее переходить к графу workflow.

Примеры

  • Telegram-бот ведет пользователя по заявке: start, ask_name, ask_phone, ask_problem, confirm, created.
  • Документ проходит состояния uploaded, parsed, validated, waiting_for_approval, exported_to_1c или rejected.
  • AI-агент поддержки переводит тикет из new в classified, then waiting_for_customer, resolved или fallback_to_human.
  • Если tool calling завершился ошибкой, сценарий переходит в retry, а после трех попыток - в failed.
  • Approval workflow не позволяет перейти к send_email, пока человек не подтвердил черновик.

Где используется

  • чат-боты и Telegram-сценарии
  • управление состоянием AI-агента
  • approval workflow и ручные проверки
  • обработка документов по этапам
  • контроль ошибок, retry и таймаутов
  • ограничение опасных действий
  • оркестрация простых business workflow
  • восстановление процесса после сбоя
  • тестирование веток поведения агента

Связанные термины

Частые вопросы

Что такое state machine простыми словами?

Это схема состояний процесса. Система знает, на каком шаге она находится, какие события возможны и в какое состояние можно перейти дальше.

Зачем state machine нужна AI-агенту?

Чтобы агент не действовал хаотично. Модель может генерировать ответы, но состояние процесса задает допустимые шаги, проверки и ограничения.

Чем state machine отличается от StateGraph?

State machine обычно проще: состояния и переходы. StateGraph чаще описывает workflow как граф узлов, где каждый узел выполняет действие и обновляет общий state.

Что хранить в состоянии?

Текущий этап, данные пользователя, результаты проверок, ошибки, количество попыток, дедлайны, approval status, trace id и ссылку на связанные документы или записи.

Какие ошибки чаще всего бывают в state machine?

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

Где читать дальше

Статьи по теме

Инструменты

Связанные инструменты