Статическая конфигурация workflow
Статическая конфигурация workflow — это практика хранения курируемых правил, стандартов, чек-листов и инструкций в переменных initialData workflow. Они намеренно размещены так, чтобы агент видел их на каждом соответствующем шаге, обеспечивая стабильное поведение на протяжении всего workflow.
Когда использовать
Заголовок раздела «Когда использовать»Используйте статическую конфигурацию workflow когда:
- Агент должен следовать определённым правилам стабильно на нескольких шагах
- Инструкции курируемые и стабильные (не генерируются во время выполнения)
- Контент необходим для качества workflow (не опциональные справочные данные)
- Вам нужно, чтобы движок workflow гарантировал доставку инструкций агенту
Как это работает
Заголовок раздела «Как это работает»Start node initialData: planning_standards: "1. Each step must have tests... 2. No code in plan..." code_quality_rules: "1. Fix root cause, not symptoms... 2. Test after changes..." validation_checklist: "□ Requirements met □ Tests pass □ No regressions"
Step directive: "Create plan following {{planning_standards}}"→ Движок workflow внедряет полный текст в директиву→ Агент видит правила каждый раз, без дополнительного ввода-вывода, без риска галлюцинацийПочему не файлы?
Заголовок раздела «Почему не файлы?»Хранение критических инструкций во внешних файлах и просьба агенту их читать создаёт Антипаттерн #12: Вынесение критических инструкций:
| Подход | Гарантия доставки | Стоимость ввода-вывода | Риск галлюцинаций |
|---|---|---|---|
| Переменная initialData | ✅ Движок внедряет в директиву | Нет | Нет — текст буквальный |
| Внешний файл | ❌ Агент может пропустить или прочитать выборочно | Дополнительное чтение на каждом шаге | Высокий — агент может вспомнить по памяти |
Примеры
Заголовок раздела «Примеры»Хорошо: Стандарты планирования в workflow разработки
Заголовок раздела «Хорошо: Стандарты планирования в workflow разработки»{ "initialData": { "variables": { "planning_standards": { "description": "Rules agent must follow when creating plans", "value": "PLANNING STANDARDS:\n1. Each step implements functionality + tests\n2. No testing-only steps\n3. Verification criteria required..." } } }}Директива ссылается: "Create development plan following {{planning_standards}}"
Хорошо: Чек-лист валидации
Заголовок раздела «Хорошо: Чек-лист валидации»{ "initialData": { "variables": { "validation_checklist": { "description": "Quality gates for code review", "value": "CHECKLIST:\n□ All tests pass\n□ No type errors\n□ Coverage maintained\n□ No security issues" } } }}Не этот паттерн: Динамические результаты извлечения
Заголовок раздела «Не этот паттерн: Динамические результаты извлечения»// ❌ Это Антипаттерн #7, не статическая конфигурация{ "inputSchema": { "extraction_results": { "type": "object" } }}// Данные генерируются во время выполнения, растут неограниченноОтличие от Антипаттерна #7
Заголовок раздела «Отличие от Антипаттерна #7»| Характеристика | Статическая конфигурация (✅) | Злоупотребление динамическими данными (❌) |
|---|---|---|
| Когда создаётся | При проектировании workflow | Во время выполнения |
| Источник контента | Курируется автором workflow | Генерируется агентом/инструментами |
| Размер | Известный и ограниченный | Потенциально неограниченный |
| Назначение | Управление поведением агента | Передача данных между шагами |
| Изменения | Только при редактировании workflow | Каждое выполнение |
Рекомендации по размеру
Заголовок раздела «Рекомендации по размеру»Статическая конфигурация допустима любого размера, если контент:
- Намеренно курируемый (не автоматически сгенерированный)
- Стабильный между выполнениями
- Необходимый для поведения агента
Примеры из практики: planning_requirements (6.7KB), code_quality_principles (4.4KB), anti_pattern_catalog (3.2KB) — всё это легитимная статическая конфигурация в продакшен workflow.