Class SupervisorAction
-
- All Implemented Interfaces:
-
com.embabel.agent.core.Action,com.embabel.agent.core.ActionRunner,com.embabel.agent.core.AgentSystemStep,com.embabel.agent.core.DataDictionary,com.embabel.agent.core.DataFlowStep,com.embabel.agent.core.Operation,com.embabel.agent.core.ToolGroupConsumer,com.embabel.common.core.types.Described,com.embabel.common.core.types.HasInfoString,com.embabel.common.core.types.Named,com.embabel.common.core.types.NamedAndDescribed,com.embabel.plan.Action,com.embabel.plan.Step,com.embabel.plan.common.condition.ConditionAction,com.embabel.plan.common.condition.ConditionStep
public final class SupervisorAction extends AbstractAction
The supervisor action that uses an LLM to orchestrate tool actions.
This action dynamically creates curried tools based on the current blackboard state. Actions whose inputs are already available on the blackboard will have those parameters "curried out", simplifying the tool interface for the LLM.
-
-
Field Summary
Fields Modifier and Type Field Description private final List<Action>toolActionsprivate final Map<String, ConditionDetermination>preconditionsprivate final Map<String, ConditionDetermination>effectsprivate final Stringnameprivate final Stringdescriptionprivate final List<String>preprivate final List<String>postprivate final Function1<WorldState, Double>costprivate final Function1<WorldState, Double>valueprivate final Set<IoBinding>inputsprivate final Set<IoBinding>outputsprivate final Set<ToolGroupRequirement>toolGroupsprivate final BooleancanRerunprivate final ActionQosqosprivate final Collection<DomainType>domainTypesprivate final Set<String>knownConditionsprivate final Collection<DynamicType>dynamicTypesprivate final Collection<JvmType>jvmTypes
-
Method Summary
Modifier and Type Method Description final List<Action>getToolActions()ActionStatusexecute(ProcessContext processContext)Execute an action Set<String>referencedInputProperties(String variable)Properties referenced from input variable Say "person" is passed. -
Methods inherited from class com.embabel.agent.core.support.AbstractAction
getCanRerun, getCost, getDescription, getEffects, getInputs, getName, getOutputs, getPost, getPre, getPreconditions, getQos, getToolGroups, getValue -
Methods inherited from class com.embabel.agent.core.Action
getDomainTypes, infoString, shortName -
Methods inherited from class com.embabel.plan.common.condition.ConditionStep
getKnownConditions, isAchievable -
Methods inherited from class com.embabel.agent.core.DataDictionary
allowedRelationships, domainTypeForLabels, excluding, excluding, filter, getDynamicTypes, getJvmTypes, minus, minus -
Methods inherited from class com.embabel.plan.Action
netValue -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getToolActions
final List<Action> getToolActions()
-
execute
ActionStatus execute(ProcessContext processContext)
Execute an action
- Parameters:
processContext- process moment
-
referencedInputProperties
Set<String> referencedInputProperties(String variable)
Properties referenced from input variable Say "person" is passed. Return "name" and other references
-
-
-
-