RunResult. They inspect trajectories, metrics, errors, latency, model output, and tool calls, then attach analyzer output under analysis_result.<AnalyzerId>.
Use analyzers when a benchmark score tells you what failed but not why it failed.
What Analyzers Own
Badcase detection
Flag exceptions, truncation, JSON errors, repetition, empty outputs, latency spikes, and terminal misuse.
Statistics
Compute step counts, tool-call counts, durations, token lengths, value counts, and numeric summaries.
Qualitative diagnosis
Use LLM-backed analyzers to annotate trajectory phases, summarize behavior, and render reports.
Aggregation
Aggregate analyzer output into
analysis_summary.json and analysis_summary.md.Core Interface
| Field or method | Meaning |
|---|---|
id | Stable analyzer id used in config and analysis_result. |
category | Analyzer category used for summary grouping. |
datasets | Optional benchmark allowlist. Empty means all benchmarks. |
data_requirements | Optional JSONPath requirements that must exist on the result. |
distribution_fields | Fields to aggregate as value counts or numeric stats. |
analysis(task, prepared, result, req, plan) | Per-task analyzer implementation. |
Run With Evaluation
Re-run On Existing Results
analysis copies the input run into a new timestamped sibling. Use --output to choose the copy destination or --override when you intentionally want in-place mutation.
Selection Rules
| Field | Meaning |
|---|---|
analyzers | Whitelist. If set, only these analyzer ids are considered. |
exclude_analyzers | Blacklist. Excluded analyzers are skipped even if otherwise compatible. |
<AnalyzerId> | Per-analyzer config, such as thresholds or qualitative model settings. |
only_incorrect | Analyzer config option that skips correct samples when supported by base logic. |
Supported Families
Currentagentcompass list analyzer output reports 25 registered analyzers:
| Family | Examples |
|---|---|
| Basic statistics | BasicMetricAnalyzer, TrajectoryTimeCostAnalyzer, CompletionLengthAnalyzer |
| Error detection | ExceptionAnalyzer, TerminalBench2ExceptionAnalyzer, TruncationAnalyzer, JSONErrorAnalyzer, EmptyContentAnalyzer |
| Efficiency | LLMInferLatencyAnalyzer, ToolExecutionLatencyAnalyzer |
| Behavior patterns | ContentRepetitionAnalyzer, ReasoningRepetitionAnalyzer, NetworkOperationAnalyzer, TerminalBench2CommandRunningAnalyzer |
| Qualitative | QualitativeAnalyzer, MultiQualitativeAnalyzer |
Output Shape
Per-task details keep analyzer output under:- total analyzed tasks;
- badcase count and badcase ratio;
- average score when provided;
- value-count distributions;
- numeric min, max, mean, and p95 stats.
