Skip to main content
Control how autonomous agents operate, including escalation behavior, doom-loop detection, and approval requirements.

Quick Start

1

Simple Enable

Enable autonomy with defaults:
from praisonaiagents import Agent

agent = Agent(
    name="Autonomous Agent",
    instructions="Work autonomously",
    autonomy=True
)
2

With Configuration

Configure autonomy behavior:
from praisonaiagents import Agent
from praisonaiagents.config import AutonomyConfig

agent = Agent(
    name="Autonomous Agent",
    instructions="Work autonomously",
    autonomy=AutonomyConfig(
        level="auto_edit",
        escalation_enabled=True,
        doom_loop_detection=True,
        max_consecutive_failures=3
    )
)

Configuration Options

from praisonaiagents.config import AutonomyConfig, AutonomyLevel

config = AutonomyConfig(
    # Autonomy level
    level=AutonomyLevel.SUGGEST,
    
    # Escalation pipeline
    escalation_enabled=True,
    escalation_threshold=3,
    
    # Doom loop detection
    doom_loop_detection=True,
    max_consecutive_failures=3,
    
    # Approval policies
    require_approval_for_writes=True,
    require_approval_for_shell=True
)
ParameterTypeDefaultDescription
levelstr | AutonomyLevel"suggest"Autonomy level (suggest, auto_edit, full_auto)
escalation_enabledboolTrueEnable escalation to human
escalation_thresholdint3Failures before escalation
doom_loop_detectionboolTrueDetect stuck agents
max_consecutive_failuresint3Max failures before stopping
require_approval_for_writesboolTrueApproval for write operations
require_approval_for_shellboolTrueApproval for shell commands

Autonomy Levels

LevelDescription
suggestAgent suggests actions, user approves
auto_editAgent edits files, user reviews critical changes
full_autoAgent operates fully autonomously

Common Patterns

Pattern 1: Safe Autonomous Agent

from praisonaiagents import Agent
from praisonaiagents.config import AutonomyConfig

agent = Agent(
    name="Safe Agent",
    instructions="Work carefully",
    autonomy=AutonomyConfig(
        level="auto_edit",
        require_approval_for_writes=True,
        require_approval_for_shell=True,
        doom_loop_detection=True
    )
)

Pattern 2: Full Autonomy

from praisonaiagents import Agent
from praisonaiagents.config import AutonomyConfig, AutonomyLevel

agent = Agent(
    name="Full Auto Agent",
    instructions="Complete autonomy",
    autonomy=AutonomyConfig(
        level=AutonomyLevel.FULL_AUTO,
        require_approval_for_writes=False,
        require_approval_for_shell=False
    )
)

Pattern 3: Escalation Pipeline

from praisonaiagents import Agent
from praisonaiagents.config import AutonomyConfig

agent = Agent(
    name="Escalating Agent",
    instructions="Escalate when stuck",
    autonomy=AutonomyConfig(
        escalation_enabled=True,
        escalation_threshold=2,
        max_consecutive_failures=3
    )
)

Best Practices

Begin with suggest level and increase autonomy as you gain confidence.
Always keep doom_loop_detection=True to prevent stuck agents.
Keep require_approval_for_writes and require_approval_for_shell enabled for production.
Lower thresholds escalate faster but may interrupt more; find the right balance.