Ідея за 30 секунд
Hybrid Workflow Agent — це архітектурний підхід, де система поєднує два режими роботи:
- Workflow для передбачуваних кроків і дій зі зміною стану;
- агент для невизначених рішень, де потрібна гнучкість.
Це не окремий "тип агента", а спосіб розподілити відповідальність між workflow engine і bounded agent.
LLM не має прямого доступу до side effects (змін стану). Вона пропонує безпечний вибір, а Workflow вирішує, що і як реально виконати.
Коли потрібен: коли в одному процесі є і чіткі бізнес-правила, і кроки, які не можна зашити наперед.
Проблема
Якщо зробити все лише через Workflow, система стає надто жорсткою: важко обробляти неочікувані запити, неоднозначні формулювання та винятки.
Якщо зробити все лише через агента, виникають інші ризики:
- непередбачувані гілки виконання;
- складно контролювати бюджет, кроки і затримку (latency);
- side effects можуть виконуватись без достатнього контролю;
- важко пояснити аудитом, чому система прийняла саме таке рішення.
У production це часто означає або втрату гнучкості, або втрату керованості.
Рішення
Додати Hybrid Workflow Agent як явну схему розподілу відповідальності:
- Workflow керує маршрутом, лімітами, перевірками політик (policy checks) і фіксацією стану;
- агент працює тільки в дозволених точках невизначеності й повертає структуроване рішення.
Аналогія: як операційна команда і консультант.
Операційна команда відповідає за регламент, дедлайни та фіксацію результату.
Консультант підказує вибір там, де потрібен аналіз, але не має права самостійно змінювати систему.
Як працює Hybrid Workflow Agent
Hybrid Workflow Agent — це керована схема, де Workflow оркеструє весь процес, а агент підключається лише на визначених кроках.
Опис повного флоу: Classify → Route → Decide → Commit → Verify → Stop
Classify
Workflow визначає тип кроку: детермінований або агентний.
Route
Для агентного кроку Workflow передає агенту ціль, обмеження і дозволені варіанти вибору.
Decide
Агент аналізує дані (здебільшого read-only) і повертає структуроване рішення, а не виконує дію зі зміною стану сам.
Commit
Workflow перевіряє рішення через Policy Boundaries і лише після цього виконує дію зі зміною стану.
Verify
Система фіксує рішення, результат виконання і причину зупинки в трейсах.
Stop
Run завершується за final_result, max_steps, лімітом бюджету, timeout або policy denial.
Такий цикл тримає баланс між гнучкістю агента і передбачуваністю Workflow.
У коді це виглядає так
class HybridWorkflowAgent:
def __init__(self, workflow, bounded_agent, policy, max_agent_steps=4):
self.workflow = workflow
self.bounded_agent = bounded_agent
self.policy = policy
self.max_agent_steps = max_agent_steps
def run(self, request, context):
state = self.workflow.start(request=request, context=context)
while not self.workflow.done(state):
step = self.workflow.next_step(state)
if step["mode"] == "deterministic":
state = self.workflow.execute_step(step=step, state=state)
continue
decision = self.bounded_agent.decide(
goal=step["goal"],
allowed_options=step["allowed_options"],
max_steps=self.max_agent_steps,
)
option = decision.get("option")
if decision.get("steps_used", 0) > self.max_agent_steps:
return self.workflow.fail(state, reason="agent_step_limit_exceeded")
if option not in step["allowed_options"]:
return self.workflow.fail(state, reason="invalid_agent_option")
gate = self.policy.authorize(
action={"name": step["action"], "risk_level": step.get("risk_level", "medium")},
context=context,
)
if not gate["ok"]:
return self.workflow.fail(state, reason=gate.get("reason_code", "policy_denied"))
state = self.workflow.commit_choice(step=step, option=option, state=state)
return self.workflow.finalize(state)
Як це виглядає під час виконання
Запит: "Підібери найкращий тариф і оформи підписку для команди з 12 людей"
Step 1
Workflow: deterministic -> зчитує поточний план і ліміти акаунта
Workflow: route -> агентний крок "обрати тариф із allowlist"
Step 2
Bounded Agent: аналізує варіанти через read tools
Bounded Agent: повертає рішення -> option: "team_pro"
Workflow: перевіряє policy + бюджет
Step 3
Workflow: commit -> виконує зміну тарифу через контрольований tool call
Workflow: verify -> фіксує decision + outcome в audit trace
Workflow: stop -> повертає фінальний результат
Hybrid Workflow Agent не замінює Workflow або агента окремо. Він задає межі, як ці два режими працюють разом.
Коли підходить — і коли ні
Hybrid Workflow Agent корисний, коли частина системи має бути строго детермінованою, а частина потребує адаптивного рішення.
Підходить
| Ситуація | Чому Hybrid Workflow Agent підходить | |
|---|---|---|
| ✅ | Є чіткі бізнес-кроки, але вибір стратегії залежить від контексту | Workflow тримає процес, а агент вирішує тільки неоднозначні підзадачі. |
| ✅ | Потрібно контролювати side effects, але не втрачати гнучкість | Зміни стану виконує Workflow під policy checks, а агент працює в безпечних межах. |
| ✅ | Потрібен пояснюваний аудит рішень і результатів | Система окремо фіксує: що запропонував агент і що реально закомітив Workflow. |
Не підходить
| Ситуація | Чому Hybrid Workflow Agent не підходить | |
|---|---|---|
| ❌ | Усі кроки повністю детерміновані й не мають невизначеності | Достатньо чистого Workflow без агентного шару. |
| ❌ | Задача-дослідження без заздалегідь відомих кроків, де агент сам визначає маршрут | Для таких задач частіше підходить автономний агентний режим без workflow-first підходу. |
У простих випадках інколи достатньо одного режиму:
result = workflow.run(request) # або agent.run(request)
Типові проблеми та відмови
| Проблема | Що відбувається | Як запобігти |
|---|---|---|
| Обхід write-контролів | Агент намагається напряму виконати дію зі зміною стану | Заборонити прямі write-операції; усі side effects лише через Workflow commit |
| Невалідний вибір агента | Агент повертає option поза allowlist | Строга перевірка allowed_options + fail-closed fallback |
| Розсинхрон правил | Workflow очікує один формат рішення, а агент повертає інший | Єдиний контракт рішення, версіонування і contract tests |
| Перевитрата бюджету | Агентний крок з'їдає занадто багато токенів/часу | Окремі ліміти на agent steps, wall-clock timeout і budget caps |
| Неправильна межа між Workflow і агентом | Агенту віддають занадто багато логіки або Workflow стає надто жорстким | Регулярно переглядати boundary: що deterministic, що agentic, що має бути policy-gated |
| Слабкий аудит | Неможливо зрозуміти, чому обрано певну гілку | Логувати route, decision, reason_code і execution outcome |
Більшість відмов у гібридній схемі зменшуються через чіткі межі відповідальності й fail-closed перевірки.
Як поєднується з іншими патернами
Hybrid Workflow Agent — це архітектурна композиція, яка спирається на інші базові шари.
- Agent Runtime — Runtime виконує агентний сегмент усередині hybrid-процесу.
- Tool Execution Layer — усі tool calls, особливо state-changing, проходять через контрольований execution layer.
- Memory Layer — пам'ять допомагає агенту робити точніший вибір у невизначених кроках.
- Policy Boundaries — визначають, які дії дозволені перед commit у Workflow.
- Orchestration Topologies — задають маршрут між кількома агентами/вузлами, якщо гібридна система масштабується.
Інакше кажучи:
- Hybrid Workflow Agent визначає де детермінізм, а де контрольована агентність
- Інші шари архітектури визначають як це безпечно і стабільно виконати
Чим це відрізняється від Orchestrator Agent
| Orchestrator Agent | Hybrid Workflow Agent | |
|---|---|---|
| Головна ідея | Один агент координує інших агентів/виконавців | Workflow керує процесом, а агент підключається лише на невизначених кроках |
| Хто володіє side effects | Залежить від реалізації оркестратора | Workflow (під policy checks) як явне правило архітектури |
| Де детермінізм | Може бути різним, часто менше жорстко зафіксований | Детерміновані гілки зашиті у Workflow і відтворювані |
| Типовий use case | Розподіл і координація великої multi-agent задачі | Бізнес-процес із mix: чіткі кроки + локальна невизначеність |
Orchestrator Agent фокусується на координації виконавців.
Hybrid Workflow Agent фокусується на межі між детермінованим Workflow і контрольованою агентністю.
Коротко
Hybrid Workflow Agent:
- поєднує детермінований Workflow і обмеженого агента (bounded agent)
- тримає side effects під контролем Workflow + policy checks
- дає гнучкість в невизначених кроках без втрати керованості
- покращує аудит: рішення агента окремо від факту виконання
FAQ
Q: Це заміна Workflow engine?
A: Ні. Workflow engine лишається основою процесу. Агент додається лише там, де жорстких правил недостатньо.
Q: Чи може агент напряму робити write-операції в hybrid-схемі?
A: Краще ні. Практичне правило: агент пропонує рішення, а commit зі зміною стану виконує Workflow під policy checks.
Q: З чого почати впровадження?
A: Почати з чистого Workflow, знайти 1-2 кроки реальної невизначеності і додати bounded agent тільки в ці точки.
Q: Чи потрібен Hybrid Workflow Agent для маленького one-shot чатбота?
A: Зазвичай ні. Для простого one-shot сценарію це надмірна архітектурна складність.
Що далі
Hybrid workflow працює найкраще, коли чітко видно межі між етапами. Далі подивіться, хто виконує кроки і хто контролює ризики:
- Orchestration Topologies — як маршрутизувати задачі між агентами і workflow.
- Agent Runtime — як керувати циклом кроків і stop conditions.
- Human-in-the-Loop Architecture — де людину варто включати обов'язково.
- Tool Execution Layer — як виконувати інструменти без небезпечних side effects (побічних ефектів, тобто змін стану).