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.
Example
1from kern.workflow import Loop, Step, Workflow23def quality_check(outputs) -> bool:4 # Return True to break loop, False to continue5 return any(len(output.content) > 500 for output in outputs)67workflow = 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=315 ),16 Step(name="Final Analysis", agent=analyst),17 ]18)1920workflow.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.