Design a multi-agent collaboration evaluation scorecard
Expected question
"How do you evaluate multi-agent systems beyond single-output golden tests? What is your scorecard when specialists can contradict each other, tools may not fire, and a green CI pass from 'trace exists' is theater?"
Variant forms
- "Design evals for a multi-agent fleet — orchestrator plus specialists with tool use."
- "How do you measure collaboration quality, not just final-answer correctness?"
- "Your agent run has a long Langfuse trace and a final message — is that a pass? Why not?"
- "How do hard gates differ from soft quality scores in multi-agent CI?"
- "How do you keep multi-agent evals from being flaky across trials?"
- "A specialist claims a tool result without a matching tool call — how does CI catch it?"
- "How do production failures become golden collaboration cases without inventing a new SaaS?"
Where this actually gets asked
Multi-agent system-design rounds increasingly probe evaluation depth after the candidate
sketches an orchestrator graph. Treat this as the Staff+/Principal follow-up to
LLM evaluation & observability and
agent/tool-use orchestration: panels want to
hear that you refuse scalar "quality %" theater. Org grounding:
golden-eval-registry collaboration_scorecard
Executive summary
30-second thesis
I'd score collaboration as a vector — CSS, TUE, hard gates, multi-trial — and refuse treating
trace length or has_final as quality. Failures promote into golden fixtures; I wouldn't invent
a 17th eval SaaS.
2-minute answer
Single-output goldens still matter for "did the mission ship a valid artifact." Multi-agent
needs more: did specialists contradict? Did claimed tool results match emitted tool_calls?
Did escalation bypass policy? I'd put those in a portable registry kind (collaboration_scorecard)
and have the AgentOps runtime hand trajectories, not vibes.
Soft dimensions (CSS / TUE) inform dashboards; hard gates fail the build on contradiction
or escalation bypass. Multi-trial CI catches flaky "lucky" passes. Production failures go to
failures/ → promote script → versioned GER case — same discipline as ADR-014, deeper surface.
What I'd refuse: quality = 94 if has_final and has_trace. That's theater with a green badge.
What I'd ask them: Which collaboration failures have bitten production? Who owns hard-gate thresholds? How many trials before a mission class is CI-gated?
Quantitative trade-offs
| Decision | Trade-off and reversal evidence | Evidence class |
|---|---|---|
| Soft vector vs hard gates | Soft scores enable trend/FinOps; hard gates protect safety. Reverse hard-only when every flake pages oncall without a waiver path. | H |
| Multi-trial vs single-shot CI | Multi-trial catches non-determinism; reverse if wall-clock CI budget exceeds value for that mission class. | H |
| Registry scorer vs in-app heuristics | Registry keeps contracts portable; reverse if consumer-specific semantics can't be expressed without bloating GER. | O |
Numbers and thresholds in interview delivery should be labeled H unless the candidate can defend a measured baseline. Open repositories are O; researched public patterns are R. Do not upgrade O/R into employer P adoption.
Migration and rollout
You're replacing theater green with falsifiable collaboration, not adding a dashboard.
- Instrument trajectories at emit time (
tool_calls, specialist claims, escalation events) — scoring without instrumentation is fiction. - Shadow-score existing mission CI against the scorecard; publish vector fields without failing merges.
- Flip hard gates first (contradiction, escalation bypass); soft CSS/TUE thresholds second with owners.
- Multi-trial gate one mission class; expand only when CI minutes and flake rate are owned.
- Wire failure→GER promote + weekly drift scrape. Rollback = disable hard gates with audited expiry — not "delete the scorecard."
Org ownership and operating model
- AgentOps / platform owns trajectory schema and CI wiring.
- Eval owners own suite versions, hard-gate definitions, and promote-from-failure review.
- Mission / product owners own which mission classes are multi-trial gated.
- Safety / policy can veto escalation-bypass gate changes.
- Exec sponsor owns the rule that waivers expire — otherwise every hard gate becomes optional.
Requirements
Functional
- Score a multi-agent run from a trajectory: agents, claims, tool calls, escalations, final artifact.
- Emit a collaboration vector (at least CSS and TUE) plus pass/fail hard gates.
- Support golden fixtures that assert vector floors and hard-gate outcomes.
- Promote interesting failures into versioned golden cases.
- Surface scorecard fields to ops (API / lab UI / spine health), not only CI logs.
Non-functional
- Deterministic scoring given a trajectory — no live LLM judge required for the core gate.
- Multi-trial CI must finish inside the repo's CI budget for gated mission classes.
- Soft scores must not override hard gates.
- Registry stays dependency-light; consumers own how they reach themselves.
Core entities
- Trajectory: ordered events for one mission run (agent turns, claims, tool_calls, escalations).
- Collaboration vector: CSS, TUE, and related soft dimensions with thresholds.
- Hard gate: boolean fail conditions (e.g. contradiction, escalation bypass) that veto soft pass.
- Scorecard result: vector + gates + trial aggregate for CI and ops.
- Failure artifact: persisted failed run eligible for GER promotion.
- Suite kind
collaboration_scorecard: GER contract for fixtures and scoring.
API / interface
Auth: CI service account for gates; humans for promote/waive.
POST /v1/scorecard/evaluate
{"trajectory":{...},"suite_id":"multi_agent_collaboration_v1"}
→ 200 {"css":0.81,"tue":0.74,"hard_gates":{"contradiction":"pass","escalation_bypass":"pass"},
"passed":true}
POST /v1/scorecard/multi-trial
{"mission_class":"research","n":5,"suite_id":"multi_agent_collaboration_v1"}
→ 200 {"pass_rate":0.8,"trials":[...],"gate":"pass"}
POST /v1/ops/failures/{run_id}/promote
{"suite_id":"multi_agent_collaboration_v1","reason":"contradiction_missed_in_ci"}
→ 201 {"case_id":"case_...","suite_version":"1.1.0"}
GET /v1/ops/scorecard
→ {"latest":{...},"drift_alarms":[...]}
Staff+ callout: soft scores never override hard gates; promotes are versioned and disclosed.
Data Flow
Rendering architecture diagram…
High-level design
Rendering architecture diagram…
Deep dives below target the failure modes panels actually grill: theater metrics, tool fiction, and flake.
Deep dive 1: refuse trace-length quality
Hard constraint: presence of a final message and a trace proves instrumentation, not collaboration.
A heuristic like quality = 94 if has_final and has_trace will pass contradiction, skipped tools,
and policy bypass. Principal signal is naming that theater out loud and replacing it with a
vector + hard gates before talking about dashboards.
Deep dive 2: TUE requires emit-time tool_calls
Hard constraint: you cannot score tool-use efficiency from prose claims alone.
Specialists that narrate tool results without emitting structured tool_calls invent success.
Instrument at emit time; TUE compares claims to calls. Retrofitting from free-text traces is a
judge model with its own bias — fine as a shadow signal, not the merge gate.
Deep dive 3: hard gates vs soft CSS
Hard constraint: soft collaboration scores inform; hard gates veto.
CSS can trend down for a week while the product still ships safely. Contradiction or escalation bypass should fail CI immediately. Waivers need owner + expiry or every hard gate becomes a suggestion.
Deep dive 4: multi-trial and failure→GER
Hard constraint: one lucky pass is not a collaboration contract.
Multi-trial aggregates pass rate for a mission class. Failures that slip production (or shadow) promote into GER with a version bump — same honesty as ADR-014's first real RAG fixture bug. Weekly drift alarms catch scorecard rot before the panel narrative does.
Staff+/Principal signal rubric
- Mid-level: "we'd log traces and spot-check."
- Senior: versioned golden outputs for the final artifact.
- Staff+: separates soft vector dimensions from hard gates; requires tool-call instrumentation.
- Principal: multi-trial + failure→golden loop inside an existing registry — refuses a new eval product and refuses trace-length quality theater.
Follow-up questions to expect
- "How is CSS defined?" (Answer: org-tuned composite over collaboration dimensions — label H; defend the dimensions, not fake precision.)
- "What if the judge model disagrees with hard gates?" (Answer: hard gates win for merge; judge is shadow/debug.)
- "Does every mission type need multi-trial?" (Answer: no — start with the class that burns trust; expand when CI minutes are owned.)
What I'd ask them
- Which collaboration failure mode cost you the most in the last quarter?
- Who can waive a hard gate, and do waivers expire?
- What's your multi-trial budget per gated mission class?
Related
- 07 — LLM evaluation & observability — fixture vs gate maturity
- 03 — Agent/tool-use orchestration — trajectory + gateway plane
- golden-eval-registry —
collaboration_scorecardkind - aegisloop-agentops-workbench — live trajectories + multi-trial
- ADR-031: multi-agent collaboration scorecard
- ADR-014: GER real CI gate