# 비교 설계 [개요](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)