83 lines
1.5 KiB
Markdown
83 lines
1.5 KiB
Markdown
# Workflow Pattern Templates
|
|
|
|
## Sequential
|
|
|
|
Use when each step depends on prior output.
|
|
|
|
```json
|
|
{
|
|
"pattern": "sequential",
|
|
"steps": ["research", "draft", "review"]
|
|
}
|
|
```
|
|
|
|
## Parallel
|
|
|
|
Use when independent tasks can fan out and then fan in.
|
|
|
|
```json
|
|
{
|
|
"pattern": "parallel",
|
|
"fan_out": ["task_a", "task_b", "task_c"],
|
|
"fan_in": "synthesizer"
|
|
}
|
|
```
|
|
|
|
## Router
|
|
|
|
Use when tasks must be routed to specialized handlers by intent.
|
|
|
|
```json
|
|
{
|
|
"pattern": "router",
|
|
"router": "intent_router",
|
|
"routes": ["sales", "support", "engineering"],
|
|
"fallback": "generalist"
|
|
}
|
|
```
|
|
|
|
## Orchestrator
|
|
|
|
Use when dynamic planning and dependency management are required.
|
|
|
|
```json
|
|
{
|
|
"pattern": "orchestrator",
|
|
"orchestrator": "planner",
|
|
"specialists": ["researcher", "analyst", "coder"],
|
|
"dependency_mode": "dag"
|
|
}
|
|
```
|
|
|
|
## Evaluator
|
|
|
|
Use when output quality gates are mandatory before finalization.
|
|
|
|
```json
|
|
{
|
|
"pattern": "evaluator",
|
|
"generator": "content_agent",
|
|
"evaluator": "quality_agent",
|
|
"max_iterations": 3,
|
|
"pass_threshold": 0.8
|
|
}
|
|
```
|
|
|
|
## Pattern Selection Heuristics
|
|
|
|
- Choose `sequential` for strict linear workflows.
|
|
- Choose `parallel` for throughput and latency reduction.
|
|
- Choose `router` for intent- or type-based branching.
|
|
- Choose `orchestrator` for complex adaptive workflows.
|
|
- Choose `evaluator` when correctness/quality loops are required.
|
|
|
|
## Handoff Minimum Contract
|
|
|
|
- `workflow_id`
|
|
- `step_id`
|
|
- `task`
|
|
- `constraints`
|
|
- `upstream_artifacts`
|
|
- `budget_tokens`
|
|
- `timeout_seconds`
|