Введение в Moira
Moira — это Agent Workflow Engine, разработанный специально для AI-агентов. Он направляет агентов через многошаговые процессы, используя структурированные воркфлоу с четкими директивами и критериями успеха.
Проблема
AI-агенты мощные, но нуждаются в структуре. Без направления они могут:
- Терять фокус на сложных многошаговых задачах
- Пропускать важные шаги или предварительные условия
- Выдавать непоследовательные результаты
- Упускать проверки качества и валидацию
Даже самые способные AI-агенты выигрывают от структурированных воркфлоу. Moira обеспечивает последовательное выполнение и проверяемые результаты.
Решение
Moira предоставляет систему воркфлоу на основе графов узлов, где каждый шаг имеет:
Директива
Четкая инструкция, что нужно сделать
Условие завершения
Критерии успеха, которые должны быть выполнены
Схема входных данных
Ожидаемая структура ответа (опционально)
Соединения
Ссылки на следующие шаги в воркфлоу
Агент выполняет каждый шаг, проверяет завершение и переходит к следующему узлу на основе графа воркфлоу.
Как это работает
flowchart LR
A[Старт воркфлоу] --> B[Выполнить шаг]
B --> C{Проверить завершение}
C -->|Успех| D[Следующий шаг]
D --> B
C -->|Воркфлоу завершен| E[Конец]
Процесс выполнения
- Агент запускает воркфлоу через MCP инструмент
- Получает директиву текущего шага и условие завершения
- Выполняет директиву
- Возвращает результат через инструмент
step() - Движок проверяет и переходит к следующему шагу
- Повторяет до завершения воркфлоу
Состояние воркфлоу сохраняется на сервере. Если сессия прервана, агент может возобновить выполнение с того же шага, используя process ID.
Ключевые концепции
Воркфлоу
Воркфлоу — это направленный граф узлов. Каждый узел представляет шаг в процессе. Узлы могут ветвиться по условию, зацикливаться или делегировать подграфам.
{ "id": "my-workflow", "metadata": { "name": "Мой воркфлоу", "version": "1.0.0", "description": "Пример воркфлоу" }, "nodes": [ { "id": "start", "type": "start", "connections": { "default": "task-1" } }, { "id": "task-1", "type": "agent-directive", "directive": "...", "connections": { "success": "end" } }, { "id": "end", "type": "end" } ]}Типы узлов
Ниже показаны распространённые типы узлов. Таблица содержит примеры, а не полный перечень; все поддерживаемые типы и их актуальные контракты приведены в разделе Узлы.
| Тип | Назначение |
|---|---|
start | Точка входа для выполнения воркфлоу |
end | Терминальный узел, отмечающий завершение |
agent-directive | Задача для агента с директивой и условием завершения |
condition | Ветвление выполнения на основе структурированных условий |
expression | Вычисление значений с помощью арифметических выражений |
subgraph | Делегирование другому воркфлоу |
user-notification | Уведомление через настроенные каналы текущего пользователя |
Шаблоны
Шаблоны позволяют использовать динамический контент в директивах и условиях через синтаксис {{variable}}:
{ "directive": "Проанализируй {{projectName}} и создай {{reportType}} отчёт"}Переменные могут ссылаться на:
- Начальные данные из start узла
- Результаты предыдущих шагов
- Параметры воркфлоу
Выполнения
Выполнение — это работающий экземпляр воркфлоу. Оно поддерживает:
- Текущая позиция — Какой узел активен
- Контекст — Переменные и результаты шагов
- История — Завершенные шаги и их результаты
MCP интеграция
Moira подключается к AI-агентам через Model Context Protocol. MCP сервер предоставляет инструменты для:
| Инструмент | Назначение |
|---|---|
list | Просмотр доступных воркфлоу |
start | Подготовка или выполнение запуска воркфлоу |
step | Выполнение текущего шага и переход |
manage | Создание, редактирование, получение воркфлоу |
session | Получение информации о пользователе и активных выполнениях |
MCP — это открытый протокол. Moira работает с любым MCP-совместимым клиентом: Claude Code, Cursor и другими.
Self-host или Cloud
Moira — open source (Apache-2.0). Движок, типы узлов и MCP-инструменты одинаковы, хостите ли вы её сами или используете управляемое облако:
Self-host
Запустите весь движок, Web UI и MCP-сервер в одном Docker-контейнере на своей инфраструктуре —
бесплатно, single-tenant, данные остаются у вас. Аккаунты участников команды регистрируются с
подтверждением администратора. Это режим по умолчанию (DEPLOYMENT_MODE=self-host). См.
руководство по self-hosting.
Moira Cloud
Управляемый инстанс без необходимости что-либо администрировать — moira-mcp.com. Добавляет SaaS-вход через соцсети, политику юридических согласий и верификации email, а также расширенное администрирование нескольких пользователей.
В self-host регистрация открыта, но новый аккаунт должен одобрить администратор. Верификация email, юридические согласия и вход через соцсети остаются SaaS-функциями и по умолчанию выключены в self-host. Детали режимов развёртывания — в Self-hosting.
Следующие шаги
- Быстрый старт — Подключение Moira к AI-клиенту
- Воркфлоу — Глубокое погружение в структуру воркфлоу
- Узлы — Понимание типов узлов