Span-01

A reasoning classifier for agent traces. Span-01 applies behavior definitions it has never seen and returns probabilities in one forward pass.

Span-01 is Respan’s first-party classification model. It reads a trace and a set of behavior definitions written in plain language. For each definition, it returns the probability that the behavior is present, absent, or not observable in the trace.

You define the behaviors. Prompt injection, hallucination, secrets exposure, agent loops, tool misuse, and user frustration are all definitions you write, not categories built into the model.

Span-01 scores text. Each message’s content is a string.

Span-01
Conversation → Behavior probabilities
Conversation
User span.input

This is the third time my order is late.

Assistant span.output

I am sorry, let me check on that for you.

Behavior definition

The user expresses frustration or anger.

Choose a behavior
id: frustrated
Present87%
Absent11%
Not observable2%

The customer describes a repeated problem with a late order.

In the example, the complaint and apology match their definitions. The span ends with the assistant’s reply, before the customer can say whether the problem is solved. Select Customer acceptance to see how Span-01 reports insufficient evidence.

How it differs from an LLM judge

Like an LLM, Span-01 understands natural language. Unlike an LLM judge, it doesn’t generate an answer. It returns probabilities directly.

LLM-as-a-judgeSpan-01
OutputGenerated text you parse into a labelp_present, p_absent, p_not_observable for each behavior
InferenceToken-by-token generationOne forward pass
Several behaviorsSeparate prompts, or one prompt with a combined output formatParallel branches over the same trace, in one request
Not enough evidenceMust be handled in the promptReturned as p_not_observable
PriceFrontier-model input and output tokensFree (Lite), or $0.02 / 1M input tokens with free output

For each behavior, the three probabilities sum to about 1. p_not_observable means the trace can’t answer the question. For example, if the trace ends at the assistant’s reply, it can’t show whether the customer accepted a fix. Treat that result as “unknown”, not as “absent”.

Architecture

Reason first, classify once

The hard part of classification isn’t returning a label. It’s applying a definition the model has never seen to context it has never encountered. Span-01 is trained for general classification reasoning with RLAIF, then specialized for behavior detection. As a result, it executes new definitions in new domains instead of matching a fixed taxonomy.

Hyper-parallel definition branches

Every definition in a request runs as its own branch over the same trace context. All behaviors are scored in one pass, so adding a behavior doesn’t add a generation step. There’s no per-request limit on the number of behaviors.

Hybrid attention

Production traces are long. Hybrid attention preserves the model’s reasoning across long, complex traces.

No generation

Span-01 doesn’t produce tokens, write explanations, or return free-form text. The only output is a set of probabilities per behavior, and output is free.

Where it fits

Span-01 is one step inside a larger system. For a support agent, your application can:

  1. Capture the turn to judge in span.output, with the preceding messages in span.input.
  2. Score several behaviors in one request, such as escalation, user frustration, and prompt injection in tool output.
  3. Combine the probabilities with thresholds and rules in code: hand off to a human, block the reply, raise an alert, or log the result.
  4. Send uncertain cases, such as a high p_not_observable or a borderline p_present, to human review or a frontier model.

Choose thresholds using conversations you’ve labeled. In the Respan platform, Span-01 powers Behaviors on your traces.

Benchmarks

Behavior benchmark

Span-01 ranks first overall on English and multilingual behavior detection. Span-01 Lite outperforms Jev and Sonnet 5.

Behavior benchmark, overall F1: Span-01 0.843, GPT-5.6 Terra 0.837, GPT-6 Luna 0.815, DeepSeek V4 Flash 0.814, Span-01 Lite 0.761, Sonnet 5 0.717, Jev 0.715, Qwen3 235B 0.678, Laya 0.223, Raindrop 0.154
Overall is the unweighted mean of English and multilingual F1.

Production behavior benchmark

Aggregate scores can hide the behaviors that matter in production, so this benchmark reports each domain separately. Span-01 outperforms Jev and Sonnet 5 overall. A full frontier model (GPT-6 Sol) remains the ceiling.

Production behavior benchmark F1 by domain. Overall: Span-01 0.806, Jev 0.716, Sonnet 5 0.719, GPT-6 Sol 0.885

Quality vs. cost

Span-01 and Span-01 Lite form the Pareto frontier. Span-01 Lite is free. Span-01 matches the quality of frontier models that cost up to 700× more per token.

Overall behavior F1 versus cost per 1M tokens. Span-01 Lite: free, 0.761. Span-01: $0.02, 0.843. Jev: about $0.04, 0.715. Other models cost $0.4 to $15 per 1M tokens.

Raindrop uses the supplied macro F1 (n=61), normalized from 0.003/event at 1,000 tokens/event; the 299/month base fee is excluded. Free and self-hosted infrastructure costs are excluded.

The benchmark dataset is available on Hugging Face. See the launch post for the full methodology.

Models and pricing

Modelmodel IDInputOutput
Span-01 Literespan-01-free (default)FreeFree
Span-01respan-01-pro$0.02 / 1M tokensFree
  • Input tokens: the trace plus all behavior definitions, reported as usage.input_tokens.
  • Span-01 Lite: has a daily cap that resets at 00:00 UTC.
  • Span-01: requires Respan credits.

Call Span-01

Send a trace and its behavior definitions to POST /api/v1/scores, and select a model with the model field.

Span-01 is in early access. Join the waitlist from the launch post. Until access is enabled for your organization, the API returns 403.