2.6 KiB
2.6 KiB
731. SGMP QA Vector MCP 도구
목표
백오피스 MCP에 저장된 QA 벡터 예제를 조회·저장하는 두 도구를 추가한다.
- 조회 도구는 현재 질문과 유사한 예제 SQL을 Select AI 호출 전에 확인하여 few-shot 컨텍스트로 사용할 수 있게 한다.
- 저장 도구는 검토된 Select AI 결과를 다음 질의 품질 개선용 예제 SQL로 저장한다.
MCP 계약
| 도구 | 입력 | 반환 | 용도 |
|---|---|---|---|
oracle.select_ai.qa_vector_search |
question, 선택 topK(기본 3) |
예제 ID, 질문, 답 SQL, 답변, cosine distance | Select AI 실행 전 few-shot 후보 확인 |
oracle.select_ai.qa_vector_store |
question, answerSql, 선택 answer |
저장된 exampleId, 모델 | 검토된 Select AI 예제 SQL 축적 |
도구 이름·표시명·설명은 모두 BACKOFFICE_MCP_QA_VECTOR_* 환경 변수로
바꿀 수 있다. MCP의 공통 prompt 인자를 재사용하지 않아 검색과 저장의
입력 의미를 명확히 분리한다.
연결 및 보안
- HTTP Bearer Token은 기존 업무 사용자 토큰 검증을 통과해야 한다.
- 벡터 DB 호출은
BACKOFFICE_SELECT_AI_DB_*로 만든 SGMP_POC 연결만 사용한다. - API 서명 키, DB 비밀번호, credential 이름은 MCP 응답·로그에 포함하지 않는다.
- 검색은
SG_QA_VECTOR_SEARCHDB 함수만 호출한다. 저장은SG_QA_VECTOR_STOREDB 함수만 호출한다. - 저장 도구는 호출자가 검토한 결과만 보내는 운영 계약이다. Select AI 실행 결과를 자동으로 저장하지 않는다.
Select AI 연계 순서
- Agent가 사용자 질문으로
qa_vector_search를 호출한다. - 반환된 상위 2~3개 예제의 질문·답 SQL을 Select AI 프롬프트의 few-shot 컨텍스트로 사용한다.
- 기존 Text2SQL 도구로 SQL을 생성·검토·실행한다.
- 검토 통과한 질문·생성 SQL·필요 시 답변을
qa_vector_store로 저장한다.
현재 MCP는 검색 결과를 반환한다. Text2SQL tool의 내부 Select AI prompt에 자동 주입하는 변경은 별도 단계로 두어, 검색 결과와 실제 prompt 구성을 운영자가 먼저 확인할 수 있게 한다.
검증
tools/list에 기존 두 도구와 새 두 도구가 함께 노출된다.- 검색의
topK기본값은 3이고 범위는 1~20이다. - 저장 도구는 question·answerSql 없이는 호출되지 않는다.
- Bearer Token 누락 시 네 도구 모두 기존과 같은 권한 거절 응답을 반환한다.
- 서비스 단위 테스트는 DB 대신 캡처 구현으로 MCP 입력·응답 계약을 검증한다.