← /geode/portfolioGEODE . 문서
GitHub
검증과 가드레일
레퍼런스

가드레일 G1-G4

LLM 출력에 대한 4단계 점진적 검사. Schema, Range, Grounding, Consistency. fail-fast, 사다리 구조.

사다리

G1 Schema      — does the JSON parse and match the type?
   ↓ pass
G2 Range       — are numeric scores in [1,5], probabilities in [0,1]?
   ↓ pass
G3 Grounding   — is each finding backed by evidence in the input?
   ↓ pass
G4 Consistency — do the findings imply the score?
   ↓ pass
output accepted

각 게이트는 다음 단계보다 저렴합니다. G1은 Pydantic 검증, G2는 수치 검사입니다. G3는 verifier LLM이 입력을 다시 읽고 인용된 각 사실을 확인합니다. G4는 verifier LLM이 점수가 findings로부터 따라 나오는지 묻습니다. G1이 이미 실패했다면 G4 비용은 지불하지 않습니다.

검증 엔진

core/verification/engine.py가 사다리를 오케스트레이션합니다.core/verification/guardrails.pyGuardrailType enum과 타입별 validator를 정의합니다.

실패 시 동작

실패는 VERIFICATION_FAIL 훅을 발화시키며, AgenticLoop의ErrorRecoveryStrategy가 이를 잡을 수 있습니다. 기본 복구는 모델에 구조화된 re-ask를 보냅니다.

  • 위반된 규칙
  • 실패한 정확한 필드
  • 기대 형태 (정답을 흘리지 않는 선에서)

최대 N회 재시도 (설정 가능). 그 이상은 analyst 출력이 analyst_failed로 표시되고 synthesizer가 해당 기여자를 건너뜁니다.

가드레일이 다루지 않는 영역

가드레일은 출력의 형상방어 가능성을 검사합니다. 편향 검사는 다루지 않습니다. 편향과 도메인별 캘리브레이션은 외부 도메인 플러그인의 책임입니다. cross_llm.md 템플릿이 독립 재스코어링으로 제공하는 Cross-LLM 일관성도 별도 검증 계층입니다.

원인 분류 (synthesizer 잠금)

검증 후 별도의 결정 트리가 원인을 분류합니다. 6가지 중 하나:conversion_failure, undermarketed,discovery_failure, genre_mismatch,technical_debt, none. synthesizer는 재분류가 금지됩니다. 서술만 가능합니다. 이 분리는 서술이 증거에 모순되는 원인을 만들어 내는 것을 막습니다.