Meta-Agents
Meta-agents are self-improving systems that monitor, analyze, and optimize other agents over time. They operate at a higher level, treating agents as subjects for continuous improvement rather than executing tasks directly. Meta-agents enable continuous optimization without manual intervention, capturing knowledge from execution patterns, testing improvements systematically, and adapting to changing conditions—reducing maintenance burden while compounding performance gains over time.
With meta-agents, your agents:
- Improve autonomously without manual tuning
- Compound performance gains as execution data accumulates
- Adapt automatically to changing models, tools, and usage patterns
- Reduce operational overhead through self-sustaining optimization
- Maintain consistent quality as workloads scale
Evolver
Evolver is aiXplain's meta-agent that provides continuous optimization capabilities.
What it does:
Monitors agent performance across executions, identifies optimization opportunities, and automatically tests and applies improvements. This enables agents to improve continuously without manual intervention, reducing operational overhead while compounding performance gains over time. Agents adapt automatically as models, tools, and requirements evolve—staying optimized throughout their operational lifetime.
What Evolver Optimizes
Instruction Evolution
- Analyzes which instruction patterns produce better outcomes
- Tests instruction variations and learns from results
- Refines prompts for clarity and effectiveness over time
Tool Selection & Usage
- Identifies which tools provide value vs. those rarely used
- Detects inefficient tool calling patterns
- Optimizes when and how agents use tools
Agent Composition
- Determines when team structure should change
- Adds specialized agents as needs emerge
- Restructures tasks based on actual requirements
Parameter Adjustment
- Optimizes settings like max_iterations, max_tokens, temperature
- Balances cost, latency, and quality tradeoffs automatically
- Adapts parameters to workload patterns
How Evolver Works
- Monitor – Observes agent executions, collecting performance data and patterns
- Analyze – Identifies optimization opportunities and generates improvement hypotheses
- Test – Runs controlled A/B experiments comparing configurations
- Deploy – Applies validated improvements automatically or with approval
Monitoring
Evolver generates reports tracking optimization activity and results:
- Evolution criteria – What changed and why across optimization cycles
- Benchmark comparisons – Performance metrics comparing agent variants
- A/B test results – Statistical validation of improvements
- Applied changes – Audit trail of all modifications with timestamps
When to Use Evolver
Enable for:
- Production agents with consistent traffic
- Long-running deployments where manual optimization is impractical
- Systems where small performance gains compound significantly
Use Review Mode for:
- Customer-facing agents where quality is critical
- Regulated industries requiring human oversight
- Testing Evolver for the first time
Debugger
Debugger is a meta-agent that analyzes an agent's response and explains what happened — which steps ran, what went wrong, and why the output looks the way it does.
How it works
Pass the debugger either raw content to analyze, or an AgentRunResult directly. It returns a DebugResult with an analysis property containing a plain-English breakdown.
Standalone usage
from aixplain import Aixplain
from aixplain.v2 import Debugger
aix = Aixplain(api_key="YOUR_API_KEY")
debugger = Debugger()
result = debugger.run(content="The agent returned an empty response when asked for today's weather.")
print(result.analysis)
Debug an agent response directly
from aixplain import Aixplain
from aixplain.v2 import Debugger
aix = Aixplain(api_key="YOUR_API_KEY")
agent = aix.Agent.get("your-agent-id")
response = agent.run("What is the current EUR/USD exchange rate?")
debugger = Debugger()
debug_result = debugger.debug_response(response)
print(debug_result.analysis)
debug_response() automatically extracts the execution_id from the run's poll URL so the Debugger has full context about the execution trace.
DebugResult fields
| Field | Type | Description |
|---|---|---|
analysis | str | Plain-English explanation of what happened in the run. |
used_credits | float | Credits consumed by the debugging call. |
run_time | float | Wall-clock time in seconds for the analysis. |
session_id | str | Session ID for conversation continuity across calls. |
request_id | str | Request ID for tracing in the aiXplain dashboard. |
When to use Debugger
- An agent returns an unexpected or empty response and you don't know why.
- A tool was not called when you expected it to be.
- You want a human-readable trace summary without parsing raw step logs.