Overview
The Completeness evaluator classifies whether an assistant completed every active request the user made over the course of a conversation. It measures finished work — a delivered answer, a delivered artifact (including every required component), or an action whose success is visible in the record — not whether a request was merely acknowledged. A conversation can finish its main task and still be incomplete when a secondary request is dropped. For example, if the user asks the assistant to reset a password and update a billing address, and the assistant only resets the password, the conversation is incomplete.Completeness does not judge correctness, quality, or whether completion was
appropriate. A delivered answer can still be complete if it is factually wrong.
A refusal, a clarifying question, or a report of a blocker is not
completion. Withdrawn requests are listed but excluded from the decision.
Supported Levels
Relevant span kinds: AGENT, CHAIN, and LLM spans that preserve multi-turn
conversation history and tool activity.
Input Requirements
Include early-turn requests. For agent traces, include tool calls and tool
results in
conversation so action success can be verified. If tools are
omitted, the judge falls back to the visible dialogue.
Output Interpretation
Usage Examples
- Python
- TypeScript
Using Input Mapping
Map your trace or dataset fields into the evaluator’sconversation field.
Viewing and Modifying the Prompt
The default prompt is maintained in the classification evaluator config. Adapt it when your application has domain-specific notions of what counts as an intention.Configuration
For model and provider options, see Configuring the LLM. Judge model choice changes accuracy on this evaluator; see Benchmarks for a comparison ofgpt-4o-mini, gpt-5.6, and claude-sonnet-4-6.
Using with Phoenix
Benchmarks
The default prompt was scored on a 45-example categorized synthetic suite. Every model used the same prompt. Runs were local withPHOENIX_TEST_TRACKING=false.
See
completeness.eval.ts
for the example set.
On this suite,
gpt-5.6 matched gold on every example. The other models mainly
missed cases that mix completeness with correctness, tool evidence, or
multi-part asks:
- Correctness vs completeness. Gold treats a delivered answer as complete even
when it is wrong.
claude-sonnet-4-6missed on these cases. - Claims without tool evidence. Gold treats the visible reply as sufficient
when no matching tool record exists.
gpt-4o-miniandclaude-sonnet-4-6missed here. - Partial delivery.
gpt-4o-minilabeled several multi-part and partial-tool cases complete.
Disagreements (10 of 45)
Disagreements (10 of 45)
Predicted labels where at least one model missed gold or the models disagreed
with each other. Bold means the judge disagreed with gold.
API Reference
- Python: CompletenessEvaluator
- TypeScript: createCompletenessEvaluator

