Files

50 lines
2.3 KiB
Markdown

# 비교 설계
[개요](README.md) · [실행 절차](cookbook.md) · [측정 결과](results.md) · [문제 해결](troubleshooting.md)
## 비교 대상
| 속성 | annotation 사용 | annotation 제외 |
|---|---|---|
| 프로파일 | `HMM_HR_DATA_GPT54_PROFILE` | `HMM_HR_DATA_GPT54_NOANN_PROFILE` |
| provider | `oci` | 동일 |
| model | `openai.gpt-5.4-mini` | 동일 |
| object list | HMM HR 5개 객체 | 동일 |
| temperature | `0.1` | 동일 |
| max tokens | `1500` | 동일 |
| annotations | `true` | `false` |
credential 이름과 compartment OCID는 비밀값은 아니지만 환경 종속값이므로 문서에 복사하지 않고
DB 원본 프로파일을 기준으로 검증한다. credential 원문이나 토큰은 조회·출력하지 않는다.
## 측정 방식
```text
run 1: annotation → no annotation
run 2: no annotation → annotation
run 3: annotation → no annotation
```
호출 순서를 번갈아 배치해 첫 호출 캐시와 일시적 모델 지연이 한쪽에만 몰리는 현상을 줄인다.
각 호출은 `DBMS_CLOUD_AI.GENERATE(prompt, profile, action)` 한 번의 경과 시간을
`DBMS_UTILITY.GET_TIME`으로 측정한다.
- `showprompt`: 모델에 전달되는 metadata prompt 크기와 구성 비용 비교
- `showsql`: 실제 SQL 생성 시간과 성공 여부 비교
생성 SQL은 실행하지 않는다. SQL 생성 품질은 `SELECT`/`WITH` 시작 여부, 길이와 주요 객체 사용을
검토한다. VPD 결과 행 비교는 운영 프로파일 전환을 결정한 뒤 별도 MCP 회귀 검증에서 수행한다.
## 안전 경계
- 기존 프로파일에는 `SET_ATTRIBUTE`, disable, drop을 실행하지 않는다.
- 비교 프로파일이 이미 있으면 덮어쓰지 않고 정의를 검증한다.
- 벤치마크는 DDL/DML을 생성하거나 실행하지 않고 `showprompt``showsql`만 호출한다.
- 새 프로파일은 운영 MCP 설정에 자동 연결하지 않는다.
Oracle 공식 문서에 따르면 `annotations=true`는 table/column annotation을 LLM metadata에 포함하며,
프로파일 속성은 `DBA_CLOUD_AI_PROFILE_ATTRIBUTES`에서 확인할 수 있다.
- [Oracle DBMS_CLOUD_AI package](https://docs.oracle.com/en/database/oracle/oracle-database/26/arpls/dbms_cloud_ai1.html)
- [Oracle DBMS_CLOUD_AI views](https://docs.oracle.com/en-us/iaas/autonomous-database-serverless/doc/dbms-cloud-ai-views.html)