An agent that operates autonomously to complete a task.
More...
#include <autonomous_agent.h>
An agent that operates autonomously to complete a task.
Autonomous agents start with a task, plan steps to accomplish it, and use tools to execute those steps. They can be configured with various strategies and human-in-the-loop options.
- Examples
- autonomous_agent_example.cpp, coroutine_example.cpp, and simple_agent.cpp.
◆ PlanningStrategy
Planning strategy for the agent.
Enumerator |
---|
ZERO_SHOT | Generate actions without explicit planning.
|
TREE_OF_THOUGHT | Generate multiple reasoning paths.
|
PLAN_AND_EXECUTE | Generate a plan then execute it.
|
REFLEXION | Reflect on past steps for improvement.
|
REACT | Reasoning and acting.
|
◆ State
Agent execution state.
Enumerator |
---|
READY | Ready to start execution.
|
RUNNING | Currently executing.
|
WAITING | Waiting for human input.
|
COMPLETED | Execution completed successfully.
|
FAILED | Execution failed.
|
STOPPED | Execution stopped by user.
|
◆ AutonomousAgent()
agents::AutonomousAgent::AutonomousAgent |
( |
std::shared_ptr< AgentContext > | context | ) |
|
◆ getContext()
std::shared_ptr< AgentContext > agents::Agent::getContext |
( |
| ) |
const |
|
inherited |
Get the agent's context.
- Returns
- The agent context
◆ getOptions()
const Options & agents::Agent::getOptions |
( |
| ) |
const |
|
inherited |
Get execution options.
- Returns
- The execution options
◆ getState()
State agents::Agent::getState |
( |
| ) |
const |
|
inherited |
Get the agent's current state.
- Returns
- The agent state
◆ getSteps()
std::vector< Step > agents::AutonomousAgent::getSteps |
( |
| ) |
const |
Get the steps executed so far.
- Returns
- The steps executed so far
◆ init()
void agents::AutonomousAgent::init |
( |
| ) |
|
|
overridevirtual |
◆ provideFeedback()
void agents::AutonomousAgent::provideFeedback |
( |
const String & | feedback | ) |
|
|
overridevirtual |
Provide human feedback.
- Parameters
-
Reimplemented from agents::Agent.
◆ run()
Run the agent with a task using coroutines.
- Parameters
-
- Returns
- The result of the task
Implements agents::Agent.
◆ runAsync()
void agents::Agent::runAsync |
( |
const String & | task, |
|
|
std::function< void(const JsonObject &)> | callback ) |
|
inherited |
Run the agent with a callback.
- Parameters
-
task | The task to run |
callback | The callback to run |
◆ setOptions()
void agents::Agent::setOptions |
( |
const Options & | options | ) |
|
|
inherited |
Set execution options.
- Parameters
-
options | The execution options |
◆ setPlanningStrategy()
Set the planning strategy.
- Parameters
-
strategy | The planning strategy |
◆ setStatusCallback()
void agents::Agent::setStatusCallback |
( |
std::function< void(const String &)> | callback | ) |
|
|
inherited |
Set a callback for status updates.
- Parameters
-
callback | The callback to set |
◆ setStepCallback()
void agents::AutonomousAgent::setStepCallback |
( |
std::function< void(const Step &)> | callback | ) |
|
Set a callback for when a step is completed.
- Parameters
-
◆ setSystemPrompt()
void agents::AutonomousAgent::setSystemPrompt |
( |
const String & | system_prompt | ) |
|
Set the system prompt.
- Parameters
-
system_prompt | The system prompt |
◆ stop()
void agents::AutonomousAgent::stop |
( |
| ) |
|
|
overridevirtual |
◆ waitForFeedback()
Wait for feedback using coroutines.
- Parameters
-
message | The message to wait for feedback |
context | The context |
- Returns
- The feedback
Reimplemented from agents::Agent.