Pattern Skills

reopt-evaluation-and-guardrails

평가와 가드레일

허용 판단과 위험 판단을 평가 기준과 안전 규칙으로 구분한다.

OCLS SHARPEN

설치

cp skills/patterns/reopt-evaluation-and-guardrails/SKILL.md <your-project>/.claude/skills/reopt-evaluation-and-guardrails/SKILL.md

이 레포의 파일을 당신의 프로젝트에 복사하면 Claude Code 세션에서 바로 활성화된다.

markdownskills/patterns/reopt-evaluation-and-guardrails/SKILL.md
---
name: reopt-evaluation-and-guardrails
description: 에이전트 출력의 품질·안전성 검증이 필요할 때. 가드레일을 사전·사후에 배치할지 결정. 평가 파이프라인 설계, 할루시네이션 감지, 금지 동작 차단.
---

# 평가와 가드레일 (Evaluation and Guardrails)

OCLS 단계: **SHARPEN** · 허용되는 판단과 위험한 판단을 평가 기준과 안전 규칙으로 구분한다.

## 핵심 규칙

- 각 에이전트·모듈에 정량적 평가 기준(성공률, 응답 품질 점수, 비용 효율)과 안전 가드레일(비용 한도, 권한 범위, 금지 동작)을 함께 부여한다.
- 가드레일은 실행 전에 검증하고, 평가는 실행 후에 수행한다.
- 평가 결과가 기준 이하이면 자동 알림 또는 실행 중단 정책을 적용한다.
- 비결정적 에이전트 평가: 도구적 용도는 pass@k(k번 중 1회 이상 성공), 고객 대면은 일관성 요구 pass^k(k번 모두 성공).
- 평가를 capability eval(낮은 통과율, 어려운 과제)과 regression eval(100% 유지, 퇴행 감지)로 이원화. Capability가 안정되면 regression으로 "졸업"시킨다.

## 판단 질문

**품질과 리스크를 어떤 기준으로 측정할 것인가?**

## 적용 체크

1. 정량 평가 기준(점수, 임계값)이 정의되어 있는가?
2. 사전 가드레일과 사후 평가가 둘 다 있는가?
3. 기준 미달 시 자동 조치(알림, 차단)가 있는가?
4. capability eval과 regression eval의 경계가 명시되어 있는가?

## 코드 예시

```typescript
// 사전 가드레일 (실행 전)
function preGuard(input: RequestInput): GuardResult {
  if (detectPII(input.text)) return { block: true, reason: "PII detected" };
  if (input.text.length > 5000) return { block: true, reason: "input too long" };
  if (estimateCost(input) > 0.5) return { block: true, reason: "cost cap" };
  return { block: false };
}

// 사후 평가 (실행 후)
interface EvalCriteria {
  relevance: { min: 0.8 };
  toneConsistency: { min: 0.7 };
  hallucination: { max: 0 };
}

async function evaluate(response: Response, graders: Grader[]): Promise<Score> {
  const results = await Promise.all(graders.map((g) => g.grade(response)));
  return aggregate(results);
}

// capability eval: 어려운 케이스 — 낮은 통과율로 시작
const capabilityEval = new EvalSet("hard-legal-cases", { target: 0.6 });
// regression eval: 통과한 케이스 — 100% 유지 요구
const regressionEval = new EvalSet("passed-cases", { target: 1.0 });
```

## 안티패턴

**고객 상담**: 평가 기준 없이 운영하면 "최근 고객 불만이 늘었는데 원인을 모르겠다"는 상황이 반복된다. 가드레일 없이 운영하면 에이전트가 카드 번호를 응답에 포함하거나 존재하지 않는 환불 정책을 안내하는 사고가 사후에야 발견된다.

**코딩 에이전트**: 평가 없이 코드 생성만 반복하면 모델 업그레이드 효과를 판단할 데이터가 없다. 테스트 통과율·보안 취약점 탐지율을 regression eval로 고정하면 퇴행을 즉시 감지한다.

## 호출 예시

```
"Response Agent에 평가와 가드레일을 추가해줘.
사전 가드레일: PII·비용·길이 검증.
사후 평가: 관련성 0.8+, 톤 일관성 0.7+, 할루시네이션 0.
capability eval(하드 케이스)과 regression eval(통과 케이스)을 분리해."
```

## 관련 패턴

- Module Contract — 계약 위반 감지 기반
- Human Approval — 평가 실패 시 에스컬레이션 경로
- Decision Traceability — 평가 결과 기록

연결된 패턴

Evaluation and Guardrails평가와 가드레일허용되는 판단과 위험한 판단을 평가 기준과 안전 규칙으로 구분한다.