Before you start, make sure your Volcengine access keys are configured (the
VOLCENGINE_ACCESS_KEY and VOLCENGINE_SECRET_KEY environment variables). Evaluation is currently in Preview; commands are automatically routed to the region where the evaluation service lives, so -r/--region is not needed.End-to-end flow
1
Initialize and deploy an agent
Create the project and deploy it to obtain a target runtime to evaluate:Once deployed, run
agentkit invoke qa-agent -m "hello" to confirm the runtime responds.2
Create a dataset and add cases
The dataset is the data source for an experiment. Create it with the After adding, run
input and reference_output fields, then add cases one at a time or in bulk:cases.json is an array of {field: value} objects:cases.json
agentkit eval dataset show qa-set to verify the cases.3
Create an evaluator
An evaluator is the judging model that assigns scores. Derive one from a built-in template and point it at your own Ark model endpoint:
4
Run an experiment
Submit the dataset, evaluator, and target runtime as one experiment. On the first run, add
--dry-run to confirm the resolved dataset version, target, and field mapping are correct:5
View results
Use the returned experiment id to view the aggregate scores and per-case results:
6
Iterate
Improve the agent’s prompt, tools, or model based on the results, redeploy, then run the experiment again with the same dataset and evaluator. Compare the aggregate scores and per-case results of the two runs to judge whether the change is an improvement or a regression:
Wire it into CI
The evaluation commands need no browser login and all support--json, so they can be orchestrated directly in a CI pipeline: the experimentId returned by eval run feeds into eval experiment get or results.
Practical guidance
- Fix the dataset: use the same dataset across iterations so results can be compared side by side. Stabilize it before changing the agent.
- Keep only stable inputs and reference answers: a dataset typically needs only
inputandreference_output. The model’s actual output is produced by the evaluated target during the experiment and should not be written into the dataset. - Prefer deriving evaluators from built-in templates:
evaluator templatesprovides mature scoring rubrics; clone one and swap in your own model endpoint rather than writing one from scratch. - Use a strong judging model: point
--modelat a capable Ark endpoint; weaker models produce noisier scores. - Weight multiple evaluators: a single
eval runcan take several--evaluatorflags to score across dimensions such as relevance and completeness. - Confirm the target runtime is online:
--targetmust point to a deployed, responsive runtime, or cases will fail. When cases fail without an experiment-level error, the target runtime usually did not respond correctly — it is not an evaluation-config problem.