Class LoopPlanner
java.lang.Object
dev.langchain4j.agentic.workflow.impl.LoopPlanner
- All Implemented Interfaces:
Planner
-
Constructor Summary
ConstructorsConstructorDescriptionLoopPlanner(int maxIterations, boolean testExitAtLoopEnd, BiPredicate<AgenticScope, Integer> exitCondition, String exitConditionDescription) -
Method Summary
Modifier and TypeMethodDescription<T extends AgentInstance>
Tas(Class<T> agentInstanceClass, AgentInstance agentInstance) Returns the planner's current execution state as a map of serializable values.firstAction(PlanningContext planningContext) voidinit(InitPlanningContext initPlanningContext) intnextAction(PlanningContext planningContext) voidrestoreExecutionState(Map<String, Object> state) Restores the planner's execution state from a previously saved map.booleantopology()
-
Constructor Details
-
LoopPlanner
public LoopPlanner(int maxIterations, boolean testExitAtLoopEnd, BiPredicate<AgenticScope, Integer> exitCondition, String exitConditionDescription)
-
-
Method Details
-
init
-
firstAction
- Specified by:
firstActionin interfacePlanner
-
nextAction
- Specified by:
nextActionin interfacePlanner
-
topology
-
as
-
maxIterations
public int maxIterations() -
testExitAtLoopEnd
public boolean testExitAtLoopEnd() -
exitCondition
-
executionState
Description copied from interface:PlannerReturns the planner's current execution state as a map of serializable values. This state is persisted to theAgenticScopeafter each agent invocation, enabling the planner to resume from the correct position after a crash.The returned state must be such that, when passed to
Planner.restoreExecutionState(Map)andPlanner.firstAction(PlanningContext)is called, the planner produces the correct resume action.Stateless planners (e.g., parallel, conditional) can use the default empty implementation.
- Specified by:
executionStatein interfacePlanner- Returns:
- a map of state entries to persist, or an empty map if no state needs saving
-
restoreExecutionState
Description copied from interface:PlannerRestores the planner's execution state from a previously saved map. Called by the execution loop beforePlanner.firstAction(PlanningContext)when recovering from a persisted scope.- Specified by:
restoreExecutionStatein interfacePlanner- Parameters:
state- the previously saved execution state
-