11.6.2 오라클 주입(Oracle Injection): 생성된 질문에 대한 정답 쌍(Pair) 매핑
앞선 11.6.1절의 파이프라인을 통해 Generator LLM을 쥐어짜 내어 수십만 건의 날것 그대로인 ’기상천외한 모의 질문 텍스트(합성 데이터)’를 메모리 상에 생성해 내는 데 성공했다면, 그다음 단계는 단순히 생성된 이 문자열 껍데기들에 소프트웨어적인 생명력을 불어넣는 작업이다. 즉, 제아무리 까다롭고 비정형적이며 문법이 파괴된 문장이라 할지라도, 테스트 환경 내의 메인 챗봇(SUT) 시스템이 파싱(Parsing)과 추론을 거쳐 궁극적으로 도달해 내야만 하는 **수학적이고 결정론적인 정답(Ground Truth)**을 미리 계산(Pre-computation)하여 1:1 쌍(Pair)으로 강력히 묶어두는 매핑(Mapping) 과정이다. 이 가장 핵심적인 테스트 픽스처(Test Fixture) 완성 공정을 본 서적에서는 **‘오라클 주입(Oracle Injection)’**이라고 명명한다.
1. 다이렉트 API 호출을 통한 정답 생성 파이프라인
데이터 생성 엔지니어가 합성 데이터를 만들 때, 우리는 Generator LLM에게 무작위로 생성한 특정 ’타겟 매개변수 집합(예: customer_age: 23, coverage_type: Premium)’을 던져주고 이를 지능적으로 꼬아서 은닉한 문장을 만들도록 지시했다. 오라클 주입(Oracle Injection) 프로세스는 그 텍스트에서 은닉된 이 원본 타겟 파라미터 변수들을 그대로 들고 가서, 불안정한 LLM 프론트엔드 계층을 완전히 바이패스(Bypass)한 채, **11.3장에서 Python으로 가장 단단하게 구축해 둔 레거시 오라클(비즈니스 룰 엔진, BRE API)을 다이렉트로 직접 호출(Direct API Call)**하는 행위를 기계적으로 수행한다.
- Step 1 (Source Data): Generator에 주입되었던 순수한 조합 파라미터 세트
{"age": 23, "coverage": "Premium", "blackbox": "Y"} - Step 2 (Direct Oracle Call): 이원화 시스템의 최후방에 있는 흔들리지 않는 룰 엔진(Rule Engine) 오라클 모듈에 수학 함수를 호출하듯 이 인자를 직접 투입하여 순수 연산(Pure Function Call)을 실행한다.
- Step 3 (Return Truth): 오라클이 사내 보험료 산출 테이블과 복리 이자율 수식을 참조하여 한 치의 오버플로우나 오차도 없이 계산해 낸 절대적인 요금 결과값 산출
{"final_premium_amount": 1500000, "is_waived": false} - Step 4 (Injection & Mapping): Generator가 만든 악랄한 ’자연어 문장’과, 오라클이 토해낸 차가운 ’절대 결괏값’을 하나의 구조화된 JSON 블록 안에 영구적인 동맹(Pairing) 형태로 결합한다.
2. 골든 데이터셋(Golden Dataset) 레코드의 무결한 완성 구조
수만 건의 반복 루프(Loop)를 돌며 이러한 ‘오라클 직접 주입(Oracle Direct Injection)’ 스크립트가 완료되면, 비로소 엔터프라이즈 데이터베이스에는 다음과 같이 완벽한 입출력 인과관계 쌍(I/O Pair)을 굳건히 가진, 이른바 골든 데이터셋(Golden Dataset) 레코드가 무수히 탄생하게 된다.
[오라클이 주입되어 완성된 골든 데이터셋 JSON 블록]
{
"test_trace_id": "TC-SYN-91823-OB",
"input_chaos_utterance": "헐 대박 방금 첫 차 뽑음요! 나 02년생 말띠~ 블박 당빠 달았고요. 갓성비 풀옵션 보험 달에 얼마 깨짐?",
"oracle_injected_truth": {
"expected_parsed_arguments": {
"customer_age": 22,
"coverage_type": "Premium",
"has_blackbox_event": true
},
"expected_deterministic_final_value": 1500000
}
}
이 주입된 데이터셋 리스트는 향후 CI/CD 파이프라인 상에서 메인 챗봇 시스템(SUT)의 인지 능력과 파라미터 추출 능력을 무자비하게 자동 평가(Automated Testing)할 때 의존해야 할, 우주에서 가장 완벽하고 단어 한 글자도 함부로 반박할 수 없는 **최종 채점의 기준(Absolute Standard)**이자 법전(Code)이 된다. 제아무리 똑똑한 최신 상용 LLM이 화려한 수사학으로 텍스트를 생성하려 발버둥 쳐 보아도, 오버라이딩(Overriding)된 이 명료한 수학적 진리(Truth)만큼은 결코 우회하거나 속일 수 없는 결정론적 감옥이 완성된 것이다.