| Development Approach | Traditional Software (TDD) | AI Software (EDD) |
|---|---|---|
| Steps | Write tests, write code, run tests, refactor, repeat | Define quality, build scenarios, run AI system, grade outputs, analyze failures, improve system, gate production releases |
| Grading method | Best for | Risk |
|---|---|---|
| Deterministic checks | JSON schema, exact labels, required fields, tool calls | Too brittle for open-ended answers |
| Human review | High-risk, regulated, subjective cases | Expensive and slower |
| LLM-as-judge | Semantic quality, tone, groundedness, completeness | Judge bias and inconsistency |
| Hybrid evaluation | Most production AI systems | Requires orchestration and calibration |
| Workflow | Value | Risk |
|---|---|---|
| Order status | High | Low |
| Refund eligibility | High | Medium |
| Replacement initiation | High | Medium |
| Payment dispute | Medium | High |
| Policy exception | Medium | High |
| Request for another user’s data | Low | Critical |
| Metric | Baseline |
|---|---|
| Task success rate | 78% |
| Hallucination rate | 9% |
| Tool-use accuracy | 83% |
| Safety violation rate | 1.2% |
| p95 latency | 11.8 seconds |
| Cost per 1,000 tasks | $145 |
| Failure pattern | Likely fix |
|---|---|
| Hallucination | Better retrieval, stricter grounding prompt, citation requirement |
| Wrong tool | Improve tool descriptions, routing logic, examples |
| Wrong tool arguments | Stronger schema validation, deterministic checks |
| Incomplete answer | Add decomposition step or improve prompt rubric |
| Unsafe answer | Safety classifier, refusal examples, policy guardrails |
| High latency | Model routing, caching, fewer retrieval calls |
| High cost | Smaller model for low-risk cases, shorter context, batching |
| Tier | Trigger | Purpose |
|---|---|---|
| Smoke eval | Pull request | Fast check for obvious breakage |
| Regression eval | Merge to main | Compare with baseline |
| Full eval | Before staging or production | Release readiness |
| Safety eval | Before production and scheduled | Red-team and policy validation |
| Online eval | Production | Drift, incidents, feedback, canary quality |
| Level | What it looks like | Next step |
|---|---|---|
| Level 0: Demo testing | A few hand-picked prompts, no rubric | Capture representative examples |
| Level 1: Manual evals | Spreadsheet review, small rubric | Convert cases to versioned JSONL or CSV |
| Level 2: Automated offline evals | Eval runner, basic metrics | Store run lineage and compare baselines |
| Level 3: CI/CD regression evals | Release gates block bad changes | Add trace-level agent evals and safety suites |
| Level 4: Production monitoring | Online traces, feedback, drift, incidents | Convert failures into evals automatically |
| Level 5: Continuous optimization | Cost-quality routing and fallback | Tune routing, models, prompts, and workflows continuously |
| Development Approach | Traditional Software (TDD) | AI Software (EDD) |
|---|---|---|
| Steps | Write tests, write code, run tests, refactor, repeat | Define quality, build scenarios, run AI system, grade outputs, analyze failures, improve system, gate production releases |
| Grading method | Best for | Risk |
|---|---|---|
| Deterministic checks | JSON schema, exact labels, required fields, tool calls | Too brittle for open-ended answers |
| Human review | High-risk, regulated, subjective cases | Expensive and slower |
| LLM-as-judge | Semantic quality, tone, groundedness, completeness | Judge bias and inconsistency |
| Hybrid evaluation | Most production AI systems | Requires orchestration and calibration |
| Workflow | Value | Risk |
|---|---|---|
| Order status | High | Low |
| Refund eligibility | High | Medium |
| Replacement initiation | High | Medium |
| Payment dispute | Medium | High |
| Policy exception | Medium | High |
| Request for another user’s data | Low | Critical |
| Metric | Baseline |
|---|---|
| Task success rate | 78% |
| Hallucination rate | 9% |
| Tool-use accuracy | 83% |
| Safety violation rate | 1.2% |
| p95 latency | 11.8 seconds |
| Cost per 1,000 tasks | $145 |
| Failure pattern | Likely fix |
|---|---|
| Hallucination | Better retrieval, stricter grounding prompt, citation requirement |
| Wrong tool | Improve tool descriptions, routing logic, examples |
| Wrong tool arguments | Stronger schema validation, deterministic checks |
| Incomplete answer | Add decomposition step or improve prompt rubric |
| Unsafe answer | Safety classifier, refusal examples, policy guardrails |
| High latency | Model routing, caching, fewer retrieval calls |
| High cost | Smaller model for low-risk cases, shorter context, batching |
| Tier | Trigger | Purpose |
|---|---|---|
| Smoke eval | Pull request | Fast check for obvious breakage |
| Regression eval | Merge to main | Compare with baseline |
| Full eval | Before staging or production | Release readiness |
| Safety eval | Before production and scheduled | Red-team and policy validation |
| Online eval | Production | Drift, incidents, feedback, canary quality |
| Level | What it looks like | Next step |
|---|---|---|
| Level 0: Demo testing | A few hand-picked prompts, no rubric | Capture representative examples |
| Level 1: Manual evals | Spreadsheet review, small rubric | Convert cases to versioned JSONL or CSV |
| Level 2: Automated offline evals | Eval runner, basic metrics | Store run lineage and compare baselines |
| Level 3: CI/CD regression evals | Release gates block bad changes | Add trace-level agent evals and safety suites |
| Level 4: Production monitoring | Online traces, feedback, drift, incidents | Convert failures into evals automatically |
| Level 5: Continuous optimization | Cost-quality routing and fallback | Tune routing, models, prompts, and workflows continuously |