본문으로 건너뛰기
-
skycave's Blog
skycave's Blog
  • Home
  • Investment
  • IT
    • Data engineering
    • AI
    • Programing
  • Leisure
    • Camping
    • Fishing
  • Travel
    • Domestic
    • Overseas
  • Book
  • Product
  • Hot keyword in google
  • Home
  • Investment
  • IT
    • Data engineering
    • AI
    • Programing
  • Leisure
    • Camping
    • Fishing
  • Travel
    • Domestic
    • Overseas
  • Book
  • Product
  • Hot keyword in google
닫기

검색

AI

정형·비정형 데이터를 함께 질의하는 AI 에이전트 플랫폼

By skycave
2026년 10월 13일 6 Min Read
0

정형·비정형 데이터를 함께 질의하는 AI 에이전트 플랫폼

요약

경영진·현업이 "지난 분기 종신보험 신계약 추이와, 관련 약관 변경 사항·영향 받는 상품을 함께 설명해 달라"처럼 정형(계약·실적 DW), 비정형(약관·공지·회의록), 그래프(상품–담보–약관 조항 관계)를 동시에 참조하는 복합 질의를 자연어로 한다. 사용자별 권한이 다르고, 답변의 수치는 공식 지표 정의와 일치해야 한다. 데이터 구조(시맨틱 레이어·지식 그래프·청크), 검색·질의 라우팅(Text-to-SQL·RAG·GraphRAG), 에이전트 오케스트레이션과 도구 연결(MCP 등), 권한 일관성, 평가·비용을 포함한 플랫폼을 설계한다.

1. 요구사항·제약·가정

이 문제의 본질은 세 종류의 저장소를 하나의 질의로 묶되 수치·근거·권한의 세 가지 정합성을 깨지 않는 것이다. 요구를 설계 함의로 변환하면 다음과 같다.

구분 요구 설계 함의
기능 복합 질의를 수치·문서·관계로 분해해 통합 답변 플래너 + 3개 도구(Text-to-SQL·검색·그래프) + 통합·검증 단계
수치 정합성 답변 수치가 공식 지표 정의와 일치 LLM은 물리 테이블을 조인하지 않고 시맨틱 레이어의 메트릭·차원만 선택
근거 문서는 인용, 관계는 경로 제시 청크 ID 인용 강제, 그래프 경로 반환, 근거 없으면 거부
권한 사용자별 상이, 세 도구에서 동일 기준 단일 신원(OIDC) 전파 → 행 수준 보안·ACL pre-filter·노드 라벨 + 조합 단계 재검증
비기능 p95 10초 이내, 질의당 평균 0.05 USD 상한(가정) 단계·토큰·시간 상한, 시맨틱 캐시, 모델 티어링
규제·조직 금융권(개인신용정보·망분리·데이터 레지던시), 데이터 팀 12~15명 비식별 Gold만 노출, LLM은 국내 리전 프라이빗 경로 또는 자체 호스팅, 도구는 읽기 전용
가정 Gold·시맨틱 레이어(문항 1), 하이브리드 검색·ACL 동기화(문항 2)는 운영 중, 지식 그래프는 신규 그 위에 에이전트 계층과 그래프 계층을 올리는 설계

2. 설계 원칙

  1. 수치는 시맨틱 레이어 경유로만 — LLM의 임의 SQL 지표 재정의를 구조적으로 금지한다.
  2. 근거 없는 출력은 없다 — 문서는 청크 ID, 관계는 경로, 수치는 지표 정의를 응답 메타에 남긴다.
  3. 권한은 하나의 신원으로 세 도구에서 평가하고 조합 단계에서 재검증한다.
  4. 자유도는 예산 안에서만 — 단계·도구 호출·토큰·시간 상한.
  5. 도구는 MCP로 표준화하되 공격 표면(attack surface)으로 취급해 허용목록·서명·감사를 적용한다.

3. 목표 아키텍처

(손그림: 사용자 → [분해·계획] → 세 갈래(Text-to-SQL→시맨틱 레이어→Gold / 검색→인덱스 / 그래프) → [통합·검증] → [생성·인용]. 세 갈래를 감싸는 점선 상자에 “MCP 게이트웨이(ID 전파)”, 하단에 “관측·평가” 띠를 그린다.)

예시 질의 워크스루. "지난 분기 종신보험 신계약 추이와 관련 약관 변경·영향 상품"은 계획 단계에서 ① 수치 질의(메트릭 new_contract_count·first_premium, 차원 contract_month, 필터 product_line = 종신, 기간 2026Q3), ② 문서 질의(필터 doc_type = 약관, effective_from ≥ 2026-07-01로 하이브리드 검색), ③ 관계 질의(②가 반환한 조항 ID를 시작 노드로 그래프 순회)로 분해된다. ①·②는 병렬, ③은 ②에 의존하는 순차 호출이라 전체는 계획→병렬 호출→순차 호출→통합·검증→생성의 5단계다. 검증 단계는 ①을 시맨틱 레이어에 재조회해 생성문의 숫자와 대조하고 ②·③의 모든 doc_id·node_id가 허용 집합 안인지 재확인한다. 생성은 “추이(표) → 약관 변경(인용 [1][2]) → 영향 상품(경로: 제12조 개정 → 암진단특약 → 상품 A·B)” 순이며, 소형 모델 2회(분해·라우팅)와 대형 모델 1회(생성)로 비용 상한을 둔다.

4. 핵심 설계 결정

결정 선택 근거 대안 트레이드오프
수치 질의 경로 시맨틱 레이어(dbt MetricFlow/Cube) API를 도구로 노출, LLM은 메트릭·차원·필터만 선택 지표 통일·권한 강제·환각 차단의 3가지 가치. 조인 경로 추론이라는 최대 오류원 제거 직접 Text-to-SQL(DDL 프롬프트) 모델링 공수·애드혹 제약 vs 정확도·거버넌스
문서 질의 경로 하이브리드(BM25+nori ∥ k-NN HNSW) + RRF(k=60) + cross-encoder 재순위 + ACL pre-filter(문항 2 재사용) 정확 매칭·의미 검색 동시 충족, 후처리 필터의 재현율 손실·노출 위험 회피 벡터 단독 재순위 지연 +200~400ms vs nDCG 개선
관계 질의 경로 온톨로지 기반 지식 그래프 + 템플릿 openCypher, GraphRAG는 다중 홉에만 라우팅 벡터 RAG는 흩어진 관계·전역 요약에 약함. 보험은 상품–담보–조항 참조가 엔티티 중심 벡터 RAG 단독 / MS GraphRAG 전면 구축·유지 비용(청크당 LLM 호출 1~3회) vs 다중 홉 정확도·설명 가능성
오케스트레이션 고정 단계 워크플로(계획→병렬 호출→통합→검증→생성) + 제한된 재시도. LangGraph/Strands, AWS는 Bedrock AgentCore 자유 ReAct 루프는 지연 3~10배·비용 5~20배·실패 모드 예측 곤란 완전 자율 ReAct 유연성 vs 예측 가능성·지연
도구 연결 세 도구를 MCP 서버로 표준화, 게이트웨이에서 ID 전파·허용목록·감사·레이트리밋 커넥터 N×M→N+M, 다른 에이전트와 도구 재사용 애플리케이션 내 직접 호출 재사용 vs tool poisoning·공격 표면 확대
권한 모델 단일 OIDC 토큰 전파 → 행 수준 보안(시맨틱)+ACL pre-filter·DLS(검색)+노드 라벨(그래프), 조합 단계 재검증 서비스 계정 공유는 최소 권한 붕괴, 한 경로만 느슨해도 우회 서비스 계정 + 후처리 필터 토큰 전파 복잡도 vs 유출 0
비용·지연 통제 단계 상한 6, 도구 호출 상한 5, 토큰 30K/질의, 타임아웃 20초(가정), 시맨틱 캐시(권한·엔티티 포함 키) 상한 없는 에이전트 비용은 폭증, 캐시 오적중은 권한 사고 무제한 반복 일부 질의 부분 답변 vs 예산 예측 가능성
모델 티어링 분해·라우팅은 소형, 최종 생성만 대형; 국내 리전 프라이빗 엔드포인트 또는 자체 호스팅 비용 절감과 데이터 레지던시 동시 충족 단일 대형 모델 라우팅 복잡도 vs 비용·규제

4.1 시맨틱 레이어 경유 Text-to-SQL의 4중 안전장치. 첫째, 도구 입력 스키마가 제한된다. 도구는 {metrics[], dimensions[], filters[], time_grain}만 받으므로 LLM은 자유 SQL을 쓰지 않고 시맨틱 모델이 노출하는 지표만 고른다. "종신보험 신계약 건수"는 new_contract_count 메트릭 + product_line 필터로 매핑되고, fct_contract–dim_product 조인은 레이어가 생성한다. 둘째, 허용 테이블 목록(allowlist)이다. 시맨틱 모델이 참조하는 Gold 테이블만 보이는 읽기 전용 역할로 실행한다. 셋째, 실행 전 정적 검증이다. 생성 SQL을 파서로 검사해 SELECT 외 문장·외부 참조를 차단하고 행 제한(예: 1,000행)·실행 시간(예: 10초)·스캔 바이트 상한을 강제한다. 넷째, 결과 설명이다. 사용한 지표 정의·필터·기간을 응답 메타에 넣어 "어떤 정의의 숫자"인지 보인다. 실패 모드는 모델에 없는 지표를 물었을 때 LLM이 유사 지표로 대체하는 것이다. 도구가 "정의되지 않은 지표"와 가까운 후보 목록을 반환해 생성 단계가 대체 대신 확인 질문을 하게 한다.

4.2 GraphRAG 적용 범위. 그래프는 상품–담보(특약)–약관 조항–개정 이력–공지 다섯 엔티티를 온톨로지로 모델링한다. 다중 홉 예는 "제12조(암진단 정의) 2026-07 개정 → 참조 담보 ‘암진단특약’ → 담보를 포함한 상품 ‘종신보험 A·B’ → 영향 공지"의 4홉이다. 벡터 검색은 개정 공지 청크는 찾아도 영향 상품 목록을 완결적으로 재구성하지 못한다. 범위를 제한하는 이유는 비용이다. Microsoft GraphRAG식 전역 커뮤니티 요약은 인덱싱 LLM 호출이 청크 수에 비례하고 갱신 시 재계산된다. 따라서 ① 엔티티·관계 추출은 약관·공지처럼 구조가 있는 문서에 한정하고 추출 프롬프트에 사내 온톨로지를 제공하며, ② 질의는 시작 노드 유형과 홉 수(≤4)를 고정한 openCypher 템플릿으로 제한하고, ③ 전역 요약은 상품군 단위 서브그래프에만 만든다. 갱신이 잦으면 증분 갱신을 지원하는 LightRAG류를 검토한다. 실패 모드는 한국어 고유명사·조항 번호 추출 오류이며, 골든셋의 “정답 경로” 일치율로 감시한다.

4.3 단일 ID 전파와 3중 권한 일관성. 사용자의 OIDC 토큰(그룹 평탄화된 주체 집합 포함)을 MCP 게이트웨이가 세 도구에 그대로 전달한다(OAuth 2.1 위임, 서비스 계정 공유 금지). ① 시맨틱 레이어는 행 수준 보안(예: 지점 사용자는 자기 branch_id만)을 SQL에 자동 주입하고, ② 검색 도구는 acl_principals pre-filter에 엔진 DLS를 이중화하며, ③ 그래프는 노드·엣지 라벨(민감 등급·부서)에 정책을 바인딩해 허용 노드만 확장한다. 결과 조합 단계는 세 결과의 doc_id·node_id·행 보안 라벨을 허용 집합과 다시 대조해 불일치 조각을 제거하고 "일부 근거가 권한으로 제외됨"을 표시한다. 실패 모드는 권한 없는 노드를 경유한 경로의 결론만 노출되는 경우다. 경로의 전 노드가 허용될 때만 출력하고, 아니면 경로 없이 거부한다.

5. 권한·보안

  • 도구 권한 최소화: 세 도구 모두 읽기 전용. 쓰기 도구는 별도 MCP 서버 + 사람 승인 단계.
  • tool poisoning 방어: 서버 허용목록, 도구 설명 서명·변경 리뷰, 게이트웨이 감사 로그·레이트리밋.
  • 간접 프롬프트 인젝션: 문서·그래프 속성은 데이터로만 취급, 인제스천 시 숨김 텍스트 제거, 출력 URL·명령 허용목록.
  • 대화 메모리: 세션 격리, PII 보존 기간·암호화·삭제권.
  • 감사: 누가·언제·어떤 도구를 어떤 인자로 호출해 어떤 ID가 컨텍스트에 들어갔는지 불변 저장(S3 Object Lock).
  • 규제: 개인신용정보는 비식별 Gold만 노출, LLM은 국내 리전 프라이빗 경로, 클라우드 이용 시 전자금융감독규정 제14조의2 절차(중요도 평가·사후보고).

6. 평가·비용

항목 설계
유형별 골든셋 수치 150건(exact match, 지표 정의 포함), 문서 200건(faithfulness·context recall), 관계 100건(정답 경로 일치율), 복합 100건, “답 없음” 10~20% 포함(가정)
에이전트 트레이스 Langfuse/OpenTelemetry로 계획 산출물·도구 호출 인자·결과·지연·비용·검증 판정을 단계별 저장
임계(가정) 수치 정확도 ≥ 99%, faithfulness ≥ 0.9, 경로 일치율 ≥ 0.85, 복합 완료율 ≥ 90%, p95 ≤ 10초, 권한 위반 0
비용 통제 시맨틱 캐시(키 = 정규화 질의 + 엔티티·기간 + 권한 집합 해시), 모델 티어링, 단계·토큰 상한, 월 예산 알림
회귀 게이트 시맨틱 모델·인덱스·그래프·프롬프트·모델 변경 시 골든셋 자동 실행, 임계 미달 시 배포 차단

LLM-as-judge는 사람 라벨 100~200건과의 상관으로 보정하고, 복합 질의는 단계별 성공(분해·도구 선택·통합)을 따로 채점해 깨진 단계를 드러낸다.

7. 로드맵 (단계별 품질 게이트)

단계 범위 진입 조건 종료 게이트
1 (M0~3) Text-to-SQL 단독(시맨틱 경유), 경영진 지표 50개 시맨틱 모델·행 수준 보안 존재 수치 정확도 ≥ 99%, 권한 위반 0
2 (M4~6) 검색 결합, 수치+문서 복합 질의 하이브리드 인덱스·ACL 동기화 운영 중 faithfulness ≥ 0.9, 복합 완료율 ≥ 90%, p95 ≤ 10초
3 (M7~10) 그래프 결합, 다중 홉 온톨로지 확정, 약관·공지 그래프 구축 경로 일치율 ≥ 0.85, 비용/질의 상한 내
4 (M11~12) MCP 도구 공유, 운영 이관 1~3 게이트 통과 월간 회귀 통과, 런북·온콜

8. 트레이드오프·결론

세 가지 트레이드오프를 명시한다. ① 에이전트 유연성 ↔ 예측 가능성·지연 — 고정 단계 워크플로와 제한된 재시도를 택해 일부 질의가 부분 답변으로 끝나더라도 비용·지연을 예측 가능하게 한다. ② 그래프 정확도 ↔ 구축 비용 — 약관·공지와 4홉 이내 템플릿 질의로 한정한다. ③ 관리형(Bedrock AgentCore/Knowledge Bases) ↔ 자체 구축(LangGraph/Strands) — 파일럿은 관리형, 권한·규제 요건이 확정된 핵심 경로는 자체 구축 또는 혼합이다. 결론적으로 본 설계는 "수치는 시맨틱 레이어, 문서는 하이브리드+인용, 관계는 범위 한정 그래프, 권한은 단일 신원 3중 적용+재검증, 자유도는 예산 안에서"로 요약되며, 12개월 4단계 게이트로 수치 정확도 99%·권한 위반 0·p95 10초를 달성한다.

작성자

skycave

Follow Me
다른 기사
Previous

레거시 키워드 검색 → 하이브리드·RAG 검색 전환

Next

RAG 답변 품질 저하

댓글 없음! 첫 댓글을 남겨보세요.

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Copyright 2026 — skycave's Blog. All rights reserved. Blogsy WordPress Theme