문제: 내 AWS Q Business Bot이 내 데이터를 이해하지 못했습니다
Source: Dev.to
왜 메타데이터가 Q Business에서 중요한가
일반적인 RAG 시스템에서는 임베딩, 청킹, 검색을 직접 제어하지만, AWS Q Business는 이 모든 과정을 자동으로 처리합니다. 하지만 “자동”이 곧 “완벽”을 의미하지는 않습니다.
메타데이터가 없으면 Q는 다음과 같은 문제를 겪습니다:
- 최신 콘텐츠와 오래된 콘텐츠의 우선순위 지정
- 문서 카테고리 파악
- 특정 팀이나 컨텍스트에 맞는 답변 범위 지정
- 중첩된 계층 구조를 가진 Confluence 페이지 탐색
- 버전 관리된 문서 처리
- 진실의 출처와 복제본 구분
가장 중요한 점은, Q가 “비슷해 보이는” 하지만 실제로는 올바르지 않은 내용을 검색해 버릴 수 있다는 것입니다. 메타데이터가 이를 해결합니다.
1. 정제된 입력: 잘 구조화된 데이터 소스
각 데이터 소스는 다음을 필요로 합니다:
- 명확한 폴더/프로젝트 계층 구조
- 의미를 전달하는 문서 제목
- 오래된 버전 제거
- 필요 시 명시적인 버전 번호
- 논리적인 그룹화 (S3 프리픽스 / Confluence 스페이스)
S3에서의 예시 재구성
s3://company-knowledge-base/
engineering/
architecture/
system-overview-v1.pdf
service-boundaries-v2.md
apis/
public-api-spec-v3.yaml
rate-limiting-rules-v1.pdf
deployment/
deployment-checklist-v3.md
rollback-runbook-v2.md
troubleshooting/
common-errors/
error-catalog-v2.json
service-x-known-issues.md
product/
specs/
feature-a-spec-v1.pdf
feature-b-updates-v2.pdf
roadmaps/
q4-2025-roadmap.pdf
operations/
monitoring/
alert-guide-v2.md
oncall-playbook-v1.md
logs/
access-logs-structure.json
application-log-fields.md
knowledge/
faq/
internal-faq-v1.md
glossary/
terms-v2.md
이만으로도 검색 정확도가 약 30% 향상되었습니다.
2. 메타데이터: Q Business를 “스마트”하게 만드는 비밀
Q Business는 검색 시 여러 메타데이터 키를 고려합니다.
권장 메타데이터 키
| 키 | 목적 |
|---|---|
title | 파일명을 순위 산정 시 대체 |
category | 분류에 도움 (예: “engg.”, “ops”) |
tags | 여러 라벨이 의미론적 그룹화를 향상 |
version | 오래된 응답을 피하도록 도움 |
updated_at | 최신성 점수에 영향 |
department | 권한 기반 개인화 가능 |
summary | 순위 및 재순위에 사용 |
source-of-truth | Boolean; 답변 선택에 강력한 영향 |
S3 객체에 첨부된 메타데이터 예시
{
"title": "ABC Execution Workflow",
"category": "operations",
"tags": ["abc", "execution", "workflow", "ops"],
"version": "3.0",
"updated_at": "2025-10-10",
"source-of-truth": true,
"department": "engineering",
"summary": "Detailed ABC Process execution workflow."
}
이 덕분에 Q는 매번 올바른 ABC 문서를 일관되게 선택했습니다.
3. 인덱싱 제어: 청킹, 스키마 및 접근 권한
AWS Q Business는 구조에 따라 자동으로 청킹하지만, 다음과 같이 영향을 줄 수 있습니다:
- 문서에 헤딩(
h1,h2,h3), 글머리표, 번호 매기기 섹션, 명확한 단락을 포함시킵니다. - 거대한 밀집 텍스트, 형식이 잘못된 PDF, OCR이 적용되지 않은 스캔 페이지는 피합니다.
구조화된 데이터에 대한 스키마 제공
{
"type": "object",
"properties": {
"step_name": { "type": "string" },
"description": { "type": "string" },
"owner": { "type": "string" },
"timestamp": { "type": "string" }
}
}
로그와 같은 구조화된 데이터 소스에 특히 유용합니다.
내가 사용한 최종 설정 (놀라운 효과)
- 깨끗한 구조의 S3 – 도메인 → 모듈 → 버전 순으로 정리.
- 올바른 페이지 계층 구조를 가진 Confluence – Q는 “부모 → 자식 → 하위 페이지”를 명확히 이해합니다.
- 역할 기반 접근 – 사용자는 IAM 역할에 따라 개인화된 답변을 받습니다.
- 정기적인 재인덱싱 – 소스가 업데이트될 때마다 실행.
- 콘텐츠 최신성 / 동기화 – 콘텐츠 업데이트 프로세스와 맞춘 동기화 전략.
모든 문서에 적용된 메타데이터
titletagscategoryversionupdated_atsummary
배운 점
- Q는 “설정이 전혀 필요 없는” 것이 아니라, 스마트 메타데이터가 전부입니다.
- 계층 구조와 구조가 양보다 더 중요합니다.
- 최신성 메타데이터가 오래된 콘텐츠에 대한 환상을 방지합니다.
source-of-truth: true는 매우 강력합니다.- Q Business는 훌륭하지만, 입력이 깨끗해야 합니다.
결론
처음에는 AWS Q Business가 올바른 데이터를 검색하지 못한다고 생각했지만, 실제 원인은 구조가 맞지 않았기 때문이었습니다. 데이터 소스와 메타데이터를 정리하고 나니:
- 검색 정확도가 크게 향상됨
- 도메인별 답변이 날카로워짐
- 버전 충돌이 사라짐
- 환상이 크게 감소함
엔터프라이즈 검색이나 내부 어시스턴트에 AWS Q Business를 사용한다면, 메타데이터와 인덱싱 전략이 AI 품질을 좌우합니다.