What is Evaluation?
Evaluation analyzes the conversation transcripts produced by simulation and scores your agent across multiple dimensions. The output is a set of files summarizing your agent’s performance across turns, conversations, and error types.What Gets Evaluated
Each agent response is scored on five metrics per turn:
Scores range from 1 (poor) to 5 (excellent), with 3–4 considered good and 4–5 excellent. You can add domain-specific custom metrics (e.g. product suitability, compliance) via Python files.
At the conversation level, two additional scores are computed on a 0–1 scale:
- Goal Completion: whether the user’s goal was fully addressed by the end of the conversation.
- Turn Success Ratio: proportion of turns with no detected behavior failure.
overall_agent_score = turn_success_ratio × 0.75 + goal_completion_score × 0.25Each conversation is assigned a status based on this score. For the exact status values and thresholds, see Evaluation output in the Schema Reference.Behavior Failure Detection
Beyond numeric scores, evaluation detects the type of failure in each underperforming turn:
Across all conversations, duplicate failures are deduplicated into a unique errors list with occurrence counts.
Inputs
The input to evaluation is the simulation output file (e.g.simulation.json) from the Simulation step. Knowledge referenced during evaluation comes from your Scenarios file.
Evaluation is configured via a YAML file:
Custom Metrics
In addition to the built-in metrics (helpfulness, coherence, relevance, verbosity, faithfulness, goal completion, behavior failure), you can define custom metrics in Python and load them via config.list[str]
List of paths to Python files. Each file is loaded and every public
QuantitativeMetric or QualitativeMetric subclass is instantiated and run. Custom metrics always run — they are not filtered by metrics_to_run.list[str]
Names of built-in metrics to run. If empty, all built-in metrics run. Use this to restrict evaluation to a subset of built-ins while still running all custom metrics from
custom_metrics_file_paths.Metric Types
- Quantitative
- Qualitative
Produces a numeric score (e.g. 0–5).
Available fields
Both metric types receive aScoreInput:
Running Evaluation
1
Install ArkSim
2
Run evaluation
- CLI
- Python (from file)
- Python (in memory)
Output Files
Reading the Output
Results go toevaluation.json: conversations (one per run) and unique_errors (deduplicated failures).