무엇이 체크되나
Nora 는 Agent 응답에서 사실 클레임을 추출하고 그래프에 비교:- 방향 클레임 — “A 가 B 를 일으킴” (엣지 구조에 대조).
- 부호 클레임 — “A 증가는 B 증가” (엣지의 부호에 대조).
- 크기 클레임 — “A 는 200 정도” (변수의 알려진 범위에 대조).
- 값 클레임 — “상태는 ‘error’” (discrete 변수의 허용 값에 대조).
설정
- 인과 그래프 배포 (개요 참고).
- Agent 에 붙임: Agent 인스펙터 → Verification → Add graph.
- 심각도별 액션 선택:
- Warn — 답변에 경고 필드 주석; 사용자가 여전히 봄.
- Block — 답변 보류, 전송 안 함.
- Rewrite — 모순을 지적하며 Agent 에게 한 번 더 답할 기회.
warn, 하드는 block.
심각도 수준
- Hard contradiction — Agent 가 A→B 라고 하고 그래프는 B→A. 또는 Agent 가 변수 범위 밖 값을 주장.
- Soft contradiction — Agent 가 그래프가 확인 안 하는 (하지만 반박도 안 하는) 부호를 주장.
- Consistent — 모든 것이 체크.
- Uncheckable — 응답의 어떤 클레임도 그래프의 무엇과 매치 안 됨.
트레이스의 검증
검증 활성화된 모든 실행이 트레이스에 Verification 패널 표시:- 답변에서 추출된 각 클레임.
- 매치·모순·그래프에 없음 여부.
- 체크에 사용된 특정 그래프 엣지·변수.
- 취한 액션 (warn / block / rewrite).
Rewrite 루프
rewrite 로 설정되면 Agent 가 다음과 같은 시스템 메시지와 함께 후속 턴 획득:이전 답변에서 A→B 라고 했습니다. 도메인 그래프에 따르면 B→A 입니다. 다시 답해주세요.Agent 가 새 응답 생성; 검증 다시 실행. 블록으로 폴백 전 최대 3번 rewrite 시도 (설정 가능).
검증 vs. 리트리벌 그라운딩
- 그라운딩 (리트리벌 그라운딩) 은 Agent 에 히트하기 전 리트리벌된 청크 체크.
- 검증 은 사용자에 도달하기 전 Agent 의 최종 답변 체크.
성능
검증은 답변이 담은 클레임 수에 따라 실행당 100-400ms 추가. 고처리량 Agent 는 (Router 블록으로 라우팅된) 고위험 인텐트에만 검증 고려.검증을 끄는 때
일부 Agent 는 정말 검증되면 안 됨 — 창작 글쓰기, 브레인스토밍, 의견 프롬프트. 그래프를 붙이지 않거나, 모든 액션을warn 으로 설정해 붙임 (절대 블록 안 함, 항상 트레이스에 보임).