12.1.1 텍스트 유사도 기반 평가(BLEU, Rouge)의 한계와 무용성
일반적인 자연어 처리(NLP) 태스크, 예를 들어 기계 번역(Machine Translation)이나 텍스트 문서 요약(Summarization) 분야에서는 지난 수십 년간 BLEU(Bilingual Evaluation Understudy)나 ROUGE, METEOR와 같은 텍스트 N-gram 유사도 지표들이 평가 오라클(Score Oracle)의 코어 표준으로 군림해 왔다. 이 지표들의 작동 원리는 매우 단순하다. 기계 모델이 생성해 낸 출력 텍스트가, 인간 전문가가 꼼꼼히 작성해 둔 참조(Reference) 정답 텍스트와 단어의 덩어리(N-gram Token) 단위로 얼마나 많이, 그리고 얼마나 유사한 순서로 겹치는지를 확률 통계적으로 측정하는 것이다.
그러나 이러한 텍스트의 표면적 유사도(Surface Similarity)에 집착하는 평가 패러다임을, 극도로 엄격한 대수학적 논리 구조체인 SQL(Structured Query Language) 코드 생성 평가 시스템에 그대로 옮겨와 차용하는 것은, 소프트웨어 공학적으로 시스템의 신뢰성을 밑바닥부터 파괴하는 무용(Useless)하고도 위험한 행위임을 철저히 인지해야만 한다.
1. 형태는 다르나 의미가 같은 경우 (False Negative의 범람)
텍스트 유사도 기반 오라클이 코드 생태계에서 처참하게 실패하는 가장 대표적인 양상은, 전혀 다른 문자형 구문(Syntax)을 띠고 있으나 내부 DB 엔진에서는 완전히 동일한 논리적 결과를 도출해 내는 쿼리들을 마주했을 때다.
[인간이 작성한 정답 쿼리 (Golden Query)]
SELECT CustomerName FROM Orders WHERE OrderDate = '2026-12-25';
[AI가 생성한 예측 쿼리 (Predicted Query)]
SELECT c.CustomerName
FROM Customers c
INNER JOIN Orders o ON c.CustomerID = o.CustomerID
WHERE o.OrderDate = '2026-12-25';
위의 두 쿼리는 정규화된 관계형 데이터베이스 엔진 안에서 100% 완벽하게 동일한 결과 텐서(특정일의 구매 고객 이름 목록)를 반환하는 ‘논리적 동치(Logical Equivalence)’ 관계에 있다. 오히려 명시적인 INNER JOIN과 테이블 알리아스(Alias) c, o를 엄격하게 사용한 AI의 코드가 엔터프라이즈 레벨에서는 훨씬 더 견고치(Robust) 높은 모범 답안에 가깝다.
하지만 이 두 텍스트 문자열에 대해 BLEU 스코어를 계산해 보면, 단어의 출현 순서가 꼬여있고 겹치지 않는 새로운 토큰(INNER JOIN, Customers, c.CustomerID 등)이 대량으로 등장했기 때문에, 이 완벽한 정답 쿼리는 기계 검증기(Oracle)에 의해 가차 없이 ’형편없는 오답’으로 억울하게 처벌받고 기각(False Negative)된다.
2. 형태는 비슷하나 의미가 완전히 파괴된 경우 (False Positive의 재앙)
더욱 끔찍하고 아찔한 시나리오는 바로 정반대의 엣지(Edge) 케이스다. 두 코드 문자열이 99% 완벽하게 똑같이 생겼지만, 시스템의 척추를 끊어버릴 수 있는 단 하나의 핵심 연산자(Operator) 토큰만이 다른 경우다.
[비즈니스 부서장이 요구한 정답 쿼리]
SELECT SUM(Amount) FROM Corporate_Sales WHERE Region = 'Seoul';
[AI가 환각을 일으켜 생성한 치명적 예측 쿼리]
SELECT MAX(Amount) FROM Corporate_Sales WHERE Region = 'Seoul';
이 두 쿼리 텍스트는 논리 구조상 단 하나의 토큰(SUM \leftrightarrow MAX)만을 제외하고 모든 알파벳과 공백 띄어쓰기마저 동일하다. 따라서 ROUGE나 BLEU 지표로 이 코드를 채점하면 0.95(90점) 이상의 압도적이고 눈부신 고득점을 획득하게 된다.
하지만 이 쿼리가 프로덕션 런타임 데이터베이스에 던져져 실행(Execution)되면, 그 결과물은 ’서울 지역의 총 매출액 총합(수백억 원)’과 ’서울 지역에서 가본 적 있는 가장 비싼 단일 영수증 한 장의 가격(수십만 원)’이라는, 비즈니스적으로 전혀 교집합이 없는 완벽하게 파괴적인 치명적 오답을 반환한다. N-gram 기반의 피상적인 텍스트 검증기는 이 치명적인 논리 결함을 인지하지 못한 채 완벽한 정답(True)이라고 착각하여 프로덕션 파이프라인으로 무사 통과(False Positive)시켜버린다.
결론적으로, 엄격한 구문 규칙을 가진 프로그래밍 언어인 SQL의 닫힌 세계에서 텍스트 토큰의 표면적 유사도를 정규식이나 N-gram으로 측정하는 행위는, 해당 시스템 코드의 진짜 ‘논리적 진리(Logical Correctness)’ 여부와 아무런 통계적 상관관계를 갖지 못한다. 위 두 가지 증명 사례는, MLOps CI/CD 파이프라인에서 BLEU와 같은 피상적 자연어 지표를 ’코드 생성 AI 평가 오라클 시스템’에서 영구적으로 제거하고 격리(Quarantine)시켜야 하는 가장 명백하고도 차가운 수학적 당위성이다.