refs #749: compare HMM Select AI annotation profiles

This commit is contained in:
devmrko
2026-08-11 11:01:25 +09:00
parent 2d0b5a3c1e
commit 9ce0341102
7 changed files with 526 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
# HMM Select AI annotation 제외 프로파일 비교
Redmine: #749
상태: Approved
구현 대상: `database/adb/85_hmm_hr_select_ai_no_annotation_profile.sql`,
`database/adb/86_hmm_select_ai_annotation_benchmark.sql`
## 목적
HMM HR Select AI에서 Oracle table/column annotation을 프롬프트에 포함할 때와 제외할 때의 응답
시간과 SQL 생성 결과를 같은 조건으로 비교한다. 운영 프로파일과 MCP 설정은 변경하지 않는다.
## 범위와 결정사항
- 기준 프로파일은 `HMM_HR_DATA_GPT54_PROFILE`이며 현재 `annotations=true`다.
- 비교 프로파일은 `HMM_HR_DATA_GPT54_NOANN_PROFILE`로 만들고 `annotations=false`를 명시한다.
- provider, credential, model, region, compartment, object list, temperature, max tokens는 동일하게 유지한다.
- 같은 한국어 질문으로 `showprompt` 크기·시간과 `showsql` 생성 시간·성공 여부를 교차 반복 측정한다.
- 한국어 질문은 SQLcl에 직접 넣지 않고 UTF-8 Base64를 Oracle 안에서 복원한다.
- 측정 결과만으로 운영 프로파일을 자동 전환하지 않는다.
## 전체 구성
```text
동일 HR 질문
├─ HMM_HR_DATA_GPT54_PROFILE ─ annotations=true ─ showprompt/showsql
└─ HMM_HR_DATA_GPT54_NOANN_PROFILE ─ annotations=false ─ showprompt/showsql
시간·prompt 크기·SQL 비교
```
두 경로의 유일한 의도적 차이는 `annotations`다. 기존 선사 Federation 프로파일은 이미 annotation을
사용하지 않으므로 이번 A/B 대상이 아니다.
## 성공 기준
- 두 프로파일의 비교 대상 속성이 `annotations` 외에는 같다.
- 각 프로파일이 같은 질문에 유효한 읽기 전용 SQL을 생성한다.
- 측정 회차별 시간, 성공 여부, 생성 SQL 길이를 남긴다.
- 기존 프로파일과 운영 `BACKOFFICE_SELECT_AI_PROFILE` 값이 바뀌지 않는다.
## 문서 지도
- [비교 설계](architecture.md)
- [생성·측정·롤백 절차](cookbook.md)
- [측정 결과](results.md)
- [문제 해결](troubleshooting.md)
## 현재 상태
2026-08-11 비교 프로파일 생성과 3회 교차 측정을 완료했다. 현재 HR object list에는 실제
annotation이 0건이어서 prompt 크기는 34자만 줄었고, `showsql` 평균은 annotation 사용 2.453초,
제외 2.483초로 의미 있는 개선이 없었다. 운영 프로파일은 변경하지 않았다.