14분
GD 가 채점하는 자연어 성적표
GraphRAG 와 Text2Cypher
GD 가 채점하는 자연어 성적표
GraphRAG 와 Text2Cypher > GraphRAG 와 Text2Cypher
학습 목표
- 자연어 시스템을 네 축으로 정량 평가한다
- 실패 단계별로 다른 처방을 적용한다
평가 — GD 가 채점하는 자연어 성적표
시연이 아니라 측정입니다. 앞 코스 GD를 자연어 입구로 다시 돌립니다 — question(및 variants)을 파이프라인에 넣고, ④의 실행 결과를 GD 기대 결과와 비교합니다.
성적표의 네 축
| 지표 | 정의 | 우리 기준(v1 목표) |
|---|---|---|
| 실행 정확도 | 최종 결과가 기대와 일치한 비율 | hop별 분리 집계 (1-hop 95%+, 3-hop 80%+) |
| 강건성 | variants(표현 변형) 간 결과 일치율 | 90%+ |
| 음성 정확도 | 음성 문항에서 "없음"을 지어냄 없이 답한 비율 | 100% (타협 없음) |
| 거부 적절성 | 답변 불가 처리의 정당 비율 (과잉 거부·과잉 확신 모두 감점) | 리뷰 기반 |
앞 코스에서 문항 작성 시점에 variants를 미리 쌓아 둔 것이 여기서 강건성 지표가 됩니다. "지금은 안 쓰지만 나중에 가장 싸다"고 했던 그 작업입니다.
채점 하네스에 자연어 입구를 붙이는 것뿐이라 구현 추가분이 작습니다 — 검증 인프라에 투자한 프로젝트만 누리는 배당입니다.
실패 문항 분석 — 단계별로 사인이 다릅니다
- ③에서 죽었는가 → 스키마 이해 실패 → 스키마 주입 개선
- ④ 결과가 틀렸는가 → 생성 오류 → few-shot 보강
- ⑤에서 왜곡됐는가 → 조립 일탈 → 제한 강화
⚠️ 사인을 가르지 않고 프롬프트만 만지면 아무것도 나아지지 않습니다.
실습
- 채점 하네스에 자연어 입구를 붙이고 GD 전 문항을 돌립니다.
- hop 구간별 정확도를 뽑습니다. 앞 모듈에서 만든 Cypher 직접 실행 성적이 **기준선(baseline)**입니다 — 자연어 경유가 얼마나 잃는지 보세요.
- 음성 문항만 따로 돌립니다. 100%가 아니면 그것이 최우선 과제입니다.
- 실패 문항을 단계별로 분류해 처방을 적습니다.
이 모듈의 신규 용어
| 용어 | 뜻 |
|---|---|
| GraphRAG | 지식그래프로 LLM 답변을 접지(ground)하는 기법군. 검색 증강(A)과 쿼리 생성(B)로 대별 |
| Text2Cypher | 자연어 질문을 Cypher로 번역하는 기술. 경로 B의 핵심 |
| few-shot | 프롬프트에 예시 쌍을 넣어 생성 품질을 올리는 기법. 우리는 GD가 예시 은행 |
| self-correction | 검증 실패 사유를 되먹여 재생성시키는 루프 (횟수 상한 필수) |
| 개체 연결 (entity linking) | 자연어 표현("한바다호")을 그래프 식별자(IMO 번호)에 잇는 작업 |
| 접지 (grounding) | 답변을 검증 가능한 사실(DB 결과)에 묶는 것. 할루시네이션의 반대말 |
| 읽기 전용 강제 | 생성 쿼리에서 쓰기 연산을 차단하는 보안 규칙. LLM에게 펜을 주되 지우개는 주지 않는다 |
에디터 로딩 중...