Autonomy

class Autonomy(val agentPlatform: AgentPlatform, ranker: Ranker, val properties: AutonomyProperties)

Adds autonomy to an AgentPlatform, with the ability to choose goals and agents dynamically, given user input. Then calls the AgentPlatform to execute.

Constructors

Link copied to clipboard
constructor(agentPlatform: AgentPlatform, ranker: Ranker, properties: AutonomyProperties)

Types

Link copied to clipboard
data class GoalSeeker(val agent: Agent, val rankings: Rankings<Goal>)

Agent to seek a goal and the goal rankings that we used to choose the goal.

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun chooseAndAccomplishGoal(processOptions: ProcessOptions = ProcessOptions(), goalChoiceApprover: GoalChoiceApprover, agentScope: AgentScope, bindings: Map<String, Any>, goalSelectionOptions: GoalSelectionOptions = GoalSelectionOptions()): AgentProcessExecution

Choose a goal based on the user input and try to achieve it. Open execution model. May bring in actions and conditions from multiple agents to help achieve the goal. Doesn't need reified types because we don't know the type yet.

Link copied to clipboard
fun chooseAndRunAgent(intent: String, processOptions: ProcessOptions = ProcessOptions()): AgentProcessExecution

Choose an agent based on the user input and run it. Closed execution model: Will never mix actions and goals from different agents. Doesn't need reified types because we don't know the type yet.

Link copied to clipboard
fun createGoalAgent(inputObject: Any, agentScope: AgentScope, goal: Goal, prune: Boolean): Agent

Open mode. Create an agent to accomplish this goal from the given user input

Link copied to clipboard
fun createGoalSeeker(intent: String, goalChoiceApprover: GoalChoiceApprover, agentScope: AgentScope, goalSelectionOptions: GoalSelectionOptions): Autonomy.GoalSeeker

Indicate which goal we'd use for this intent, and what agent we'd create. Dry run capability available externally.

Link copied to clipboard
fun runAgent(inputObject: Any, processOptions: ProcessOptions, agent: Agent): AgentProcessExecution