Skip to main content
subject (passed to client.evaluations.run()) tells AgentX what it’s evaluating. It’s used by AI analysis to check instruction adherence and to power the Sovereignty & Portability matrix; it never changes how scoring itself runs.

Fields

framework and runtime are the only fields required beyond kind and displayName. Set them to "other" and "local" if nothing else fits.

Return values from your agent function

Whatever callable you pass to .execute() can return:
  • A string: used directly as the output text.
  • A dict with an "output" key: the output text is extracted; a "trace_id" key links the result to a recorded trace (enabling View trace, trajectory-aware judging, and expected-trajectory matching); a "retrieval_context" key (string or chunk list) feeds RAG judging; everything else in the dict is retained as metadata.
  • An EvaluationResult: full control over output, metadata, observable trace, and timing:
Sensitive values are redacted automatically before anything is uploaded: API keys (sk-...), bearer tokens, authorization headers, and password-like fields. Raw prompts are never uploaded; only the response text and metadata you explicitly include are sent.