Agent Architecture
Strix agents are built on theBaseAgent class, which provides:
- LLM integration for reasoning and decision-making
- Tool execution capabilities for interacting with targets
- State management to track progress and context
- Multi-agent coordination for complex testing scenarios
Agent Types
Root Agent
The root agent is created when you start a scan. It:- Receives the initial scan configuration (targets, instructions)
- Coordinates the overall testing strategy
- Creates specialized sub-agents for complex tasks
- Aggregates findings into the final report
Root agents automatically load the
root_agent skill, which contains high-level testing strategies and coordination patterns.Sub-Agents
Sub-agents are created by the root agent (or other sub-agents) for specialized tasks:- Have specialized skills for their domain
- Operate independently with their own conversation context
- Share the sandbox workspace and proxy history
- Report findings back to their parent agent
Agent Lifecycle
1. Creation
When an agent is created:2. Execution Loop
The agent enters its main reasoning loop:Iteration Processing
Iteration Processing
Each iteration:
- Sends conversation history to the LLM
- Receives response (text + tool invocations)
- Executes requested tools (terminal, browser, file operations)
- Adds results to conversation for next iteration
State Management
State Management
Agent state persists across iterations:
Error Handling
Error Handling
Agents handle various failure scenarios:
- Tool execution failures: Retry or adapt strategy
- LLM errors: Enter waiting state for user intervention
- Iteration limit: Force completion with current findings
- Sandbox failures: Report error and halt execution
3. Completion
Agents complete when they:- Call the
agent_finishtool (sub-agents) - Call the
finish_scantool (root agent) - Reach the maximum iteration limit
- Encounter an unrecoverable error
Agent Graph
Strix maintains a graph of all active agents for coordination:Inter-Agent Communication
Agents communicate through structured messages:Agent Configuration
LLM Selection
You can configure which LLM model agents use:claude-4-sonnet(default, best reasoning)gpt-4o(fast, good tool use)gemini-2.0-flash(multimodal, fast)openrouter/anthropic/claude-3.5-sonnet
Skills Selection
Agents load up to 5 skills relevant to their task:Iteration Limits
Control how long agents run:Default is 300 iterations. Root agents and sub-agents share this limit unless overridden.
Best Practices
When to Create Sub-Agents
Create sub-agents for: ✅ Specialized testing (e.g., “Test all GraphQL operations for IDOR”) ✅ Parallel work (e.g., multiple endpoints simultaneously) ✅ Deep dives (e.g., “Analyze authentication flow end-to-end”) Avoid sub-agents for: ❌ Simple one-off tool calls ❌ Sequential tasks that don’t need isolation ❌ When iteration budget is lowContext Management
Useinherit_messages=True sparingly:
Error Recovery
Agents automatically handle many errors, but you can intervene:Advanced Features
Custom Agent Types
You can extendBaseAgent for specialized behaviors:
Agent Debugging
Enable verbose logging:- Every LLM request/response
- Tool executions and results
- State changes and errors
- Inter-agent messages
Next Steps
Tools
Explore tools available to agents
Skills
Learn about the skills system
How It Works
Understand the full architecture
Vulnerability Detection
See how agents find security issues