Sub-Agent Detection
Quint detects when AI agents spawn child agents — even without explicit instrumentation. The detection system uses three independent layers that feed signals into a correlation engine for high-confidence parent-child attribution.Detection Layers
Layer 1: Model Divergence
When an agent uses a different model than previously seen in the same tunnel, Quint infers a sub-agent spawn. The first model seen becomes the parent model; subsequent different models trigger a split. Known divergence patterns:| Parent Model | Child Model | Provider |
|---|---|---|
*opus* / *sonnet* | *haiku* | Anthropic |
*gpt-4o | *gpt-4o-mini* | OpenAI |
*pro* | *flash* |
Layer 2: Concurrency Spike
Quint tracks CONNECT tunnel counts per IP address. During the first 10 seconds (stabilization window), it learns the baseline concurrency. After that, if active tunnels exceedbaseline + 2, a sub-agent is detected.
Layer 3: Temporal Gap
When time between CONNECT requests from the same IP exceeds the burst window (2000ms default), Quint evaluates:- Has parent trace (
X-Quint-Traceheader) → confirmed child (source:child_detect) - No trace, active tunnels exist → inferred child (source:
inferred_child) - No trace, no active tunnels → new peer agent
Correlation Engine
Detection signals from all three layers merge in the correlation engine, which maintains a relationship graph with confidence scores.Signal Types
| Signal | Constant | Base Confidence |
|---|---|---|
| Spawn pattern match | spawn | ~0.85 |
| Trace context header | context | ~0.95 |
| Temporal correlation | temporal | ~0.50 |
| HMAC-verified ticket | signature | 1.0 |
Confidence Merging
Multiple signals for the same parent-child pair are merged using diminishing returns:Relationship Graph
The engine tracks:agent.relationships Kafka topic for downstream consumption.
Dashboard Visualization
The dashboard renders parent-child trees from the correlation engine data. Each node shows:- Agent name and provider
- Model in use
- Confidence score for the parent-child link
- Signal types that contributed to detection
Configuration
Sub-agent detection is enabled by default in forward proxy mode. Tuning parameters:| Parameter | Default | Description |
|---|---|---|
| Burst window | 2000ms | Time gap threshold for temporal detection |
| Stabilization window | 10s | Time to learn baseline concurrency |
| Spike threshold | baseline + 2 | Tunnel count increase to trigger detection |
| Max body preview | 8192 bytes | How much of POST body to read for model extraction |