Iterative Workflow

Quality-driven processes requiring repetition until specific conditions are met

Example Use-Cases: Quality improvement loops, retry mechanisms, iterative refinement

Iterative workflows provide controlled repetition with deterministic exit conditions, ensuring consistent quality standards.

Workflows loop steps diagram

Example

1from kern.workflow import Loop, Step, Workflow
2
3def quality_check(outputs) -> bool:
4 # Return True to break loop, False to continue
5 return any(len(output.content) > 500 for output in outputs)
6
7workflow = Workflow(
8 name="Quality-Driven Research",
9 steps=[
10 Loop(
11 name="Research Loop",
12 steps=[Step(name="Deep Research", agent=researcher)],
13 end_condition=quality_check,
14 max_iterations=3
15 ),
16 Step(name="Final Analysis", agent=analyst),
17 ]
18)
19
20workflow.print_response("Research the impact of renewable energy on global markets", markdown=True)

Iteration Output Forwarding

By default, each iteration receives the previous iteration's output as its input (forward_iteration_output=True). This enables iterative accumulation patterns where each pass builds on the previous result. Set forward_iteration_output=False if all iterations should receive the original loop input instead.

Developer Resources

Reference

For complete API documentation, see Loop Steps Reference.