11.3 정답지 생성: 결정론적 비즈니스 규칙 엔진(BRE)의 API화

11.3 정답지 생성: 결정론적 비즈니스 규칙 엔진(BRE)의 API화

이원화된 오라클 시스템(Dual-Oracle System)을 설계할 때 가장 경계해야 할 안티 패턴(Anti-Pattern)은, AI 챗봇이 검증받아야 할 비즈니스 로직(예: 금리 계산 공식, 대출 한도 규정 등)을 테스트 코드용 정답지 파일(JSON/CSV) 안에 하드코딩(Hard-coding)하는 행위다.

비즈니스 로직은 유기체처럼 끊임없이 변한다. 만약 정답지를 수동으로 관리한다면, 비즈니스 정책이 변경될 때마다 엔지니어는 수천 개의 골든 데이터셋(Golden Dataset)을 일일이 수정해야 하는 파멸적인 유지보수 부채(Technical Debt)에 직면하게 된다. 이에 대한 유일하고도 완벽한 공학적 해답은 회사 내부에 이미 존재하며 오차 없이 작동하고 있는 **‘레거시 비즈니스 규칙 엔진(BRE, Business Rule Engine)을 API화하여 동적 정답지(Dynamic Ground Truth) 생성기’**로 활용하는 것이다.

1. 단일 진실 공급원(SSOT: Single Source of Truth)의 확립

AI 챗봇 테스트를 위한 오라클은 결코 스스로 새로운 계산을 수행해서는 안 된다. 오라클의 임무는 입력된 파라미터를 들고 백엔드(Backend)의 레거시 시스템을 호출한 뒤, 그곳에서 반환된 응답을 ’절대적인 참(Ground Truth)’으로 신뢰하는 것뿐이다.

  • 접근법: 대출 심사, 기장 처리, 보험료 산출 등 기존의 자바(Java)나 C++ 기반 레거시 호스트에서 작동하던 결정론적 비즈니스 로직을 RESTful API나 gRPC 인터페이스로 감싸(Wrapping) 오라클 파이프라인에 개방하라.
  • 가치: 이 아키텍처는 정책의 변경(예: 기준 금리 인상)이 레거시 엔진에 배포되는 즉시, 오라클의 정답지에도 실시간으로 동기화됨을 보장한다. 즉, 평가의 기준점 자체가 시스템과 함께 진화하는 동적 팩토리(Dynamic Factory) 메커니즘이 완성된다.

2. API 기반의 정답지 생성 파이프라인

오라클이 정답지를 생성하는 과정은 런타임(Runtime)에 다음과 같은 선언적(Declarative) 파이프라인을 따른다.

  1. 파라미터 주입(Parameter Injection): 테스트 스위트(Test Suite)는 사용자의 자연어 발화와 함께, 추출되기를 기대하는 ’모의 파라미터(Mock Parameters)’를 정의한다.
  • Input: “나 연봉 5천인데 대출 얼마 나와?”
  • Mock: {"annual_income": 50000000, "credit_score": 850}
  1. BRE 호출(BRE Invocation): 오라클은 이 모의 파라미터를 들고 사내 BRE API(POST /api/v1/loan-calculator)를 동기적으로 호출한다.
  2. 정답지 스냅샷(Snapshotting Ground Truth): BRE API가 반환한 결정론적 결과(예: {"max_loan": 150000000, "interest_rate": 4.5})를 메모리에 캡처하여, 이번 테스트 케이스의 유일무이한 ’골든 레코드(Golden Record)’로 확정한다.

3. 멱등성(Idempotency)과 타임 머신(Time-Machine) 테스트

비즈니스 룰 API를 호출하여 정답지를 생성할 때 핵심적으로 보장해야 할 엔지니어링 원칙은 API의 **‘멱등성(Idempotency)’**이다.

동일한 파라미터를 입력하면 오늘 호출하든 내일 호출하든 수학적으로 동일한 값이 튀어나와야 한다. 하지만 프로모션 종료, 금리 변동 등 외부 상태(State)에 의존하는 BRE라면 멱등성이 깨질 수 있다.
이를 방어하기 위해 BRE API는 반드시 **‘기준 일자(Reference Date)’**를 오버라이딩(Overriding)할 수 있는 타임 머신 인터페이스를 제공해야 한다.

// 오라클이 BRE에 전송하는 정답지 생성 요청 (타임 머신 기법 적용)
{
  "user_data": { "income": 50000000 },
  "system_context": {
    "override_date": "2023-11-01T00:00:00Z" // 과거의 비즈니스 룰을 강제 적용
  }
}

오라클 파이프라인은 이처럼 통제된 가상의 시간(Virtual Time)을 BRE API에 주입함으로써, 레거시 시스템이 내뱉는 과거의 찰나를 영원불멸의 결정론적 정답지로 박제(Pinning)할 수 있다. AI의 화려한 추론(Reasoning) 뒤에는 언제나 이처럼 차갑고 견고한 API 기반의 수학적 톱니바퀴가 정확히 맞물려 돌아가고 있어야 한다.