백은규·

[5편] 온톨로지 위에 MCP를 심으면 AI가 달라진다

"쿠팡 매출 알려줘."

mcp-on-ontology-ai-change 이미지 1

"쿠팡 매출 알려줘."

이 질문을 ChatGPT에 CSV를 던져서 해봤다면, 결과가 얼마나 불안정한지 아실 겁니다. 어떤 때는 Wing 매출만, 어떤 때는 로켓그로스까지 합산하고, 또 어떤 때는 이지어드민 OMS 기준으로 답합니다. 같은 질문에 매번 다른 숫자가 나옵니다.

RAG(검색 증강 생성)를 붙여서 문서를 넣어봐도 마찬가지입니다. "경영지원 대시보드의 공헌이익률과 제품별 성과의 실 공헌이익률은 분모가 다르다"는 맥락을 문서에 넣어놔도, AI가 질문 시점에 이걸 꺼내 쓸지는 운에 달려 있습니다.

이 시리즈에서 다뤄온 문제들 — 상품명 충돌(2편), 재고/출고 괴리(3편), 광고비 배분(4편) — 을 AI가 제대로 다루려면, 데이터 위에 구조화된 관계 정의(온톨로지)가 있어야 하고, AI가 그 관계를 도구로 접근할 수 있어야 합니다.

그 도구가 MCP(Model Context Protocol)입니다.


RAG만으로 안 되는 이유

문서 기반 접근의 한계

커머스 데이터의 맥락을 문서로 정리해서 RAG에 넣는다고 합시다.

문서 1: "순매출 = 결제합계 - 카페24 환불 - 네이버페이 환불"
문서 2: "제품별 성과의 분모는 결제금액(환불 차감 전)"
문서 3: "사방넷 데이터는 정합성이 떨어질 수 있음"
문서 4: "쿠팡은 Wing/RG/공급허브 3종이 있음"

문서를 아무리 잘 써도 세 가지 문제가 남습니다.

  1. 검색 실패: "앤모드프로 수익성"이라고 물었을 때, RAG가 "문서 1"을 가져올지 보장이 없습니다. 의미적으로 관련 있지만 키워드가 다릅니다.

  2. 맥락 조합 불가: 앤모드프로의 공헌이익을 구하려면 문서 1(순매출 계산) + 4편의 광고비 배분 로직 + 2편의 상품 매핑이 동시에 필요합니다. RAG는 보통 Top-K 문서만 가져오는데, 이 세 조각이 모두 Top-K에 들어올 확률이 낮습니다.

  3. 실시간 데이터 접근 불가: 문서에는 "순매출 = 이러이러하다"는 정의만 있고, 실제 숫자는 없습니다. "이번 달 앤모드프로 순매출"을 답하려면 DB를 조회해야 합니다.

필요한 것: 정의 + 데이터 + 실행

필요한 것RAGMCP + 온톨로지
측정값 정의문서로 제공 (검색 의존)메타데이터로 구조화
관계 정의문서로 제공 (검색 의존)온톨로지로 명시
실시간 데이터불가DB 직접 조회
복합 질문여러 문서 조합 필요 (불안정)관계 그래프 탐색 (결정적)

MCP가 하는 일

MCP는 AI가 외부 도구를 호출할 수 있게 해주는 프로토콜입니다. 우리는 4개의 MCP 서버를 운영합니다.

MCP 서버역할주요 도구
MySQL MCP사용자·연결·소스 메타데이터 조회query_user, query_connection
Trino MCP실제 주문/광고/재고 데이터 조회 (READ-ONLY)trino_query
Airflow MCPETL 파이프라인 상태 확인dag_runs, task_log
Sheets MCPGoogle Sheets 데이터 조회sheets_get_data

핵심은 AI가 질문을 받으면 직접 DB를 조회한다는 것입니다. CSV를 업로드하는 게 아니라, 질문에 맞는 쿼리를 생성하고 실행합니다.


온톨로지가 MCP를 똑똑하게 만드는 과정

예시: "쿠팡 매출 알려줘"

온톨로지 없이 MCP만 있을 때:

AI가 Trino에 쿼리를 날리지만, 어떤 테이블을 조회할지 모릅니다.

-- AI가 생성하는 쿼리 (불확실)
SELECT SUM(payment_amount) FROM orders WHERE channel = 'coupang'
-- Wing만? RG 포함? 공급허브는? 이지어드민 기준?

5가지 답이 나올 수 있고, 매번 다릅니다.

온톨로지 + MCP일 때:

온톨로지에 "쿠팡 매출"의 정의가 있습니다.

개념: 쿠팡 매출
  기준 소스: [COUPANG_ADMIN_WING, COUPANG_ADMIN_RG, COUPANG_SUPPLIER_HUB]
  집계 방식: 3종 합산, 중복 제거
  측정값: 결제금액(발생환불/취소제외)
  주의: 이지어드민 데이터와 중복 가능, 채널 API 기준 사용

AI가 이 정의를 참조해서 정확한 쿼리를 생성합니다.

SELECT SUM(payment_amount)
FROM (
  SELECT payment_amount FROM coupang_wing_orders WHERE ...
  UNION ALL
  SELECT payment_amount FROM coupang_rg_orders WHERE ...
  UNION ALL
  SELECT payment_amount FROM coupang_supplier_orders WHERE ...
)

예시: "라플라스프로 공헌이익이 떨어진 이유 분석해줘"

이 질문 하나에 시리즈 전체가 동원됩니다.

  1. 상품 매핑 (2편): "라플라스프로"에 연결된 채널별 옵션명 71개를 조회

  2. 측정값 선택 (2편): 공헌이익 = 결제금액 - 원가 - 광고비 - 수수료 - 배송비 - 판매자부담배송비

  3. 광고비 확인 (4편): 4단계 매칭으로 배분된 광고비를 소스 B에서 조회

  4. 채널별 비교 (3편): 카페24 vs 쿠팡 vs 스마트스토어별 공헌이익 추이

  5. 원인 추론: 광고비 증가? 원가 상승? 환불률 증가? 특정 채널 문제?

온톨로지가 이 모든 관계를 정의하고 있기 때문에, AI는 한 번의 질문에 5단계를 자동으로 실행합니다.


"클로드용 데이터" 대시보드가 존재하는 이유

실제로 우리 고객사 중에는 AI에게 줄 데이터를 별도의 대시보드로 세팅하는 경우가 있습니다.

대시보드: 클로드용 데이터
소스 A: 기초 상품 주문 (결제금액, 원가, 실마진, 배송비 등 10개)
소스 B: 광고 (광고비)
분석 단위: 일자 × 판매처 × 기초 상품명
집계: 일별, 2026-01-01부터

이 대시보드는 사람이 보는 용도가 아닙니다. AI가 질문에 답하기 위해 미리 결합된 데이터셋을 제공하는 것입니다.

왜 이게 필요한가?

  • 경영지원 대시보드는 순매출 기준 → AI가 "매출"이라고 오해할 수 있음

  • 제품별 성과는 결제금액 기준 → 또 다른 "매출"

  • 클로드용 데이터는 가공 전 원본에 가장 가까운 형태 → AI가 필요에 따라 직접 집계


CS 태그 2단계가 AI 질문 해석을 바꾼다

CS 데이터도 온톨로지의 효과가 극명합니다.

태그가 평면적이면:

태그: "AS", "반품", "환불", "배송"
→ AI: "AS가 50건입니다"  (뭘 알 수 있나?)

태그가 2단계 트리면:

태그 1: AS/라플라스
태그 2: 불량/컨트롤러불량, 불량/제조불량, 불량/충전불량
→ AI: "라플라스 AS 50건 중 컨트롤러 불량이 28건(56%)으로 가장 많습니다.
       전월 대비 15건 증가했으며, 품질 이슈를 확인할 필요가 있습니다."

태그의 계층 구조(온톨로지)가 있으면 AI가 집계 → 비교 → 원인 추론까지 한 번에 할 수 있습니다.


실전 체크리스트: AX팀의 MCP 도입 순서

  1. READ-ONLY부터 시작하라 — AI가 데이터를 조회만 하고, 수정은 못 하게. 우리도 Trino MCP는 SELECT/SHOW/DESCRIBE만 허용

  2. 메타데이터 MCP를 먼저 만들어라 — 테이블 목록, 컬럼 의미, 관계 정의를 AI가 조회할 수 있게

  3. 측정값 사전을 구축하라 — "순매출", "결제금액", "공헌이익"의 정확한 수식과 맥락을 구조화

  4. 기준 소스 정책을 MCP에 심어라 — "쿠팡 매출 = Wing+RG+공급허브 합산"을 코드 레벨에서 정의

  5. 사람이 먼저 검증하라 — AI의 쿼리 결과를 대시보드 숫자와 대조. 불일치가 있으면 온톨로지를 보강


마무리: 온톨로지 → MCP → AI의 순서

이 시리즈에서 다룬 흐름을 정리하면:

1편: 온톨로지가 왜 필요한가 (데이터 관계 정의)

2편: 상품명 충돌 + 측정값 충돌 (같은 것의 다른 이름)
3편: OMS vs 채널 API 괴리 (같은 주문의 다른 숫자)
4편: 광고비 배분 4단계 (소재→상품 매칭)

5편(이 글): MCP로 AI가 온톨로지를 실행

CSV를 던지는 것은 AI에게 원재료를 주는 것이고, RAG를 붙이는 것은 레시피 책을 옆에 놓는 것입니다. 온톨로지 + MCP는 주방을 세팅하는 것입니다. 재료가 어디 있고, 도구가 어디 있고, 이 재료와 저 재료가 어떤 관계인지를 AI가 알고 있는 상태에서 요리하게 하는 것입니다.

커머스 AX팀이라면, AI를 붙이기 전에 온톨로지부터 세팅하세요. 그게 가장 빠른 길입니다.


커머스 데이터를 AI가 이해하게 만들기 — 시리즈 5편 (완결)