Cloud feature. Annotations are available in the AgentMark Dashboard.
- Inline annotation: score a single trace directly from the trace drawer
- Annotation queues: batch traces into structured review queues with assignment, progress tracking, and multi-reviewer support
When to use human annotation
| Use case | Example | Workflow |
|---|---|---|
| Quality audits | Review a sample of production traces for correctness and tone | Create a queue, add traces, assign to domain experts |
| Edge case triage | Flag and investigate unexpected model behavior | Inline annotation from the trace drawer |
| Dataset curation | Build high-quality test datasets from real production data | Review in queue, save passing traces to a dataset |
| Calibrate automated evals | Align your LLM-as-judge scorers with human judgment | Score the same traces manually that your evals score, compare results |
| Multi-reviewer consensus | Get independent assessments from multiple team members | Set reviewers required > 1 on a queue |
Score types
Score configs define what reviewers score on. They’re declared as JSON in youragentmark.json under the top-level scores field and synced to AgentMark Cloud through the deployment pipeline. When creating a queue, you select which score configs to include.
The deployment pipeline must sync your score configs to AgentMark Cloud before you can create a queue. Push your changes to the connected branch so the pipeline picks up your
agentmark.json scores. Once synced, score configs are always available in the Dashboard, with no worker dependency required. See Project configuration for the full scores schema and Evaluations for adding automated eval functions.- Boolean (pass/fail): the reviewer clicks Pass or Fail, saved as
1or0. Best for clear-cut criteria. - Numeric (scale): the reviewer enters a value within the config’s
min/maxrange. Best for graded assessments. - Categorical (labels): the reviewer picks one option from a dropdown; each option is a
{label, value}pair, andvalueis the recorded score. Best for classification.
Inline annotation
Add a score to any trace directly from the trace drawer, with no queue required.
Inline annotations appear alongside automated eval scores, distinguished by an “annotation” badge.
Annotation queues
For batch review, use annotation queues. Queues let you organize items, assign reviewers, track progress, and require multiple independent reviews.
Assigned to me toggle restricts the list to queues with items assigned to you. A sidebar badge surfaces the total number of pending items across all active queues.
Create a queue
Navigate to Review Queues in the sidebar and click Create Queue.
| Field | Required | Description |
|---|---|---|
| Name | Yes | Descriptive name for the review batch |
| Description | No | Context for what this queue covers |
| Instructions for annotators | No | Guidance shown during review (for example, “Mark PASS if factually correct and professional”) |
| Reviewers required | Yes | Independent reviews needed per item (default: 1) |
| Score configs | Yes | Which scoring dimensions to show during review |
| Default dataset | No | Pre-selects a dataset for the Add to Dataset action |
Add items
- Bulk from traces
- Individual spans
- From experiments
Queue detail
Click any queue to see its items, progress, and reviewer assignments.
| Tab | Shows |
|---|---|
| All | Every item in the queue |
| Pending | Items waiting for review |
| Completed | Reviewed or skipped items |
Assigned to me | Items assigned to you |
Review workflow
Click Start Review to begin. The review view splits into two panels. Left panel (trace content):- Header showing the trace name
- Root span input and output, falling back to trace-level data
- A Spans (N) accordion, collapsed by default; expand it and click any span to see its I/O
- For session items, a conversation timeline showing all turns
- Annotator instructions (collapsible, from queue config)
- Existing annotations: a read-only list of annotation scores already saved on this resource
- Score controls for each configured dimension
- Add to Dataset section with auto-extracted input and an editable expected output
| Action | Shortcut | What it does |
|---|---|---|
| Complete + Next | Enter | Save scores, mark complete, advance |
| Pass / fail | p / f | Set the first boolean score to pass or fail |
| Pick a category | 1-9 | Select the Nth option of the first categorical score |
| Skip | None | Mark as skipped, advance |
| Back | None | Return to queue detail |
Enter — complete · p/f — pass/fail · 1-9 — category. The review view ignores the letter and digit shortcuts while you’re typing in a text field.
The queue holds dataset items staged through the Add to Dataset section while review is in progress. AgentMark commits them to the target dataset in a single batch once you mark the queue completed, so staged items won’t appear in the dataset until queue completion. This keeps the dataset clean if you pause, abandon, or revert a review.
Multi-reviewer
When you set reviewers required above 1, each reviewer annotates independently:- The review header shows a progress badge (for example, “0/2 reviewed”) tracking how many reviewers have completed their assessment
- Each reviewer fills out their own fresh annotation form. Scores saved by earlier reviewers appear in the read-only Existing annotations list, so reviews are independent but not blind
- The queue marks an item complete only once it collects the required number of independent reviews
- The
/nextendpoint automatically skips items the current reviewer has already reviewed, so each reviewer only sees items they haven’t scored yet
Resource types
Queues support three item types:| Type | When to use | What the reviewer sees |
|---|---|---|
| Trace | Review a complete request | Full trace with expandable per-span I/O |
| Span | Review a single LLM call or tool invocation | Individual span content |
| Session | Review a multi-turn conversation | Conversation timeline across traces |
Programmatic queue management
Annotation queues are fully exposed on the public REST API at/v1/annotation-queues (Cloud only; the local dev server returns 404). CI pipelines can create queues, enqueue traces, and, via the /reviews endpoint, submit annotations through the same path a human reviewer clicks in the Dashboard.
| Method | Path | Purpose |
|---|---|---|
GET · POST | /v1/annotation-queues | List / create queues |
GET · PATCH · DELETE | /v1/annotation-queues/{queueId} | Read / update / delete a queue |
GET · POST | /v1/annotation-queues/{queueId}/items | List or add traces, spans, or sessions |
GET · PATCH · DELETE | /v1/annotation-queues/{queueId}/items/{itemId} | Read, update, or remove an item |
POST | /v1/annotation-queues/{queueId}/items/{itemId}/reviews | Submit a review (LLM-as-judge entry point) |
{ "status": "completed" } records the authenticated user as a reviewer, and once the review count meets the queue’s reviewers_required threshold, the item auto-advances to completed. That lets an LLM-as-judge pipeline submit annotations that count toward the same threshold as human reviewers.
API keys need the annotation_queue.read, annotation_queue.write, annotation_queue.delete, and annotation_queue.review permissions (split so you can grant CI pipelines review without queue-CRUD access). See the API reference for full endpoint schemas.
End-to-end example: dataset curation
A common workflow is using annotation queues to curate high-quality datasets from production traces.Create a queue
Create a queue with a boolean score config (for example,
dataset_quality) and set the default dataset to your target dataset.Add production traces
Go to Traces, filter to interesting traces (errors, low automated scores, specific prompts), select them, and add to the queue.
Review and score
Click Start Review. For each trace, read the I/O, mark Pass or Fail, and optionally edit the input and expected output before staging them for the dataset.
Stage for the dataset
In the Add to Dataset section, verify the auto-extracted fields and click Stage for Dataset (the button changes to Staged). The default dataset is pre-selected. The queue holds staged items until you complete it.
Complete the queue
Once you have reviewed every item, mark the queue as completed. AgentMark commits all staged dataset items to the target dataset in a single batch at this point.
Human annotation vs automated evals
Use both together. They serve different purposes.| Human annotation | Automated evals | |
|---|---|---|
| Created by | Team members in the Dashboard | Eval functions during experiments |
| Best for | Subjective quality, edge cases, nuance | Regression testing, scale, consistency |
| Scale | Tens to hundreds of items | Entire datasets |
| When | Anytime, on any trace | During experiment runs |
Related
Evaluations
Automate scoring with eval functions
Datasets
Create and manage test datasets
Experiments
Run prompts against datasets to validate quality
Traces
View and explore trace data
Have questions?
Reach out any time:
- Email the team at hello@agentmark.co for support
- Schedule an Enterprise Demo to learn about AgentMark’s business solutions