Make it easy to add new evals (eg a new dimension, or a new metric to be calculated/tracked)
example from anthropic article: https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents
task:
id: "fix-auth-bypass_1"
desc: "Fix authentication bypass when password field is empty and ..."
graders:
- type: deterministic_tests
required: [test_empty_pw_rejected.py, test_null_pw_rejected.py]
- type: llm_rubric
rubric: prompts/code_quality.md
- type: static_analysis
commands: [ruff, mypy, bandit]
- type: state_check
expect:
security_logs: {event_type: "auth_blocked"}
- type: tool_calls
required:
- {tool: read_file, params: {path: "src/auth/*"}}
- {tool: edit_file}
- {tool: run_tests}
tracked_metrics:
- type: transcript
metrics:
- n_turns
- n_toolcalls
- n_total_tokens
- type: latency
metrics:
- time_to_first_token
- output_tokens_per_sec
- time_to_last_token
Make it easy to add new evals (eg a new dimension, or a new metric to be calculated/tracked)
example from anthropic article: https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents