FM 앱 설계와 RAG

RAG 아키텍처 동작 원리부터 Bedrock Knowledge Bases 자동 구축, Agents 멀티스텝 작업, 벡터 DB 비교까지 초보자도 이해할 수 있게 정리합니다.

AIF-C01 시험에서 RAG 아키텍처와 FM 앱 설계 도메인은 전체의 약 24%를 차지하는 핵심 영역입니다. RAG, Bedrock Knowledge Bases, Bedrock Agents, 벡터 데이터베이스, 인퍼런스 파라미터가 중심 주제입니다.

---

 

RAG란 무엇인가? — 도서관 사서에 비유하기

RAG는 Retrieval-Augmented Generation의 줄임말로, "검색 증강 생성"이라고 번역합니다. AI가 대답을 만들기 전에 먼저 관련 문서를 찾아보게 하는 구조입니다.

도서관 사서를 떠올려 보세요. 손님이 "파이썬으로 웹 크롤링하는 방법을 알려줘"라고 물으면, 사서는 바로 아는 척 대답하지 않습니다. 관련 책을 찾아서 읽은 다음, 그 내용을 바탕으로 답변합니다. RAG가 바로 이 방식입니다.

RAG 없이 AI가 답하면 어떤 문제가 생길까요?

| 문제 | RAG 없이 | RAG 있으면 | |------|----------|-----------| | 할루시네이션 | 그럴듯하지만 없는 정보를 만들어냄 | 실제 문서를 근거로 답변 | | 지식 컷오프 | 훈련 이후 최신 정보를 모름 | 최신 문서를 실시간 검색 | | 도메인 특화 | 일반 지식만 보유 | 사내 문서, 전문 자료 활용 | | 비용 | 파인튜닝으로 지식을 추가해야 함 | 파인튜닝 없이 전문화 가능 |

---

 

RAG가 작동하는 5단계

단계를 하나씩 따라가 보겠습니다.

1단계 — 사용자가 질문을 입력한다

예: "우리 회사 연차 정책이 어떻게 돼?"

2단계 — 질문을 숫자 벡터(임베딩)로 변환한다

텍스트를 컴퓨터가 비교할 수 있는 숫자 배열로 바꿉니다. "연차 정책"과 "휴가 규정"은 의미가 비슷하므로 벡터도 비슷하게 변환됩니다.

3단계 — 벡터 데이터베이스에서 유사한 문서를 검색한다

회사 규정집, 인사 문서 등을 미리 벡터로 변환해 저장해둔 데이터베이스에서 가장 관련 있는 내용을 찾습니다.

4단계 — 찾은 문서와 원래 질문을 묶어 FM에 전달한다

"다음 문서를 참고해서 질문에 답해줘: [회사 연차 규정 내용]... 질문: 연차 정책이 어떻게 돼?" 형태로 AI에게 전달합니다.

5단계 — FM이 문서를 바탕으로 답변을 생성한다

문서를 근거로 답하므로 할루시네이션이 크게 줄어듭니다.

!RAG가 작동하는 5단계 파이프라인 다이어그램

임베딩이란? — 지도에 점 찍기

임베딩(Embedding)은 텍스트를 숫자 벡터로 변환하는 과정입니다. 어렵게 들리지만 지도에 비유하면 쉽습니다.

세계 지도에서 비슷한 나라들은 지리적으로 가까이 있습니다. 임베딩도 마찬가지입니다. 의미가 비슷한 단어나 문장은 벡터 공간에서 가까이 위치합니다.

"강아지"와 "개"는 임베딩 벡터 공간에서 매우 가깝습니다 "강아지"와 "우주선"은 멀리 떨어져 있습니다 "왕 - 남자 + 여자 = 여왕" 같은 의미 연산도 가능합니다

RAG에서 임베딩이 중요한 이유는 "연차 정책"으로 검색해도 "휴가 규정"이라고 저장된 문서를 찾아낼 수 있기 때문입니다. 단어가 달라도 의미가 비슷하면 찾아낼 수 있습니다.

---

 

벡터 데이터베이스 — 임베딩을 저장하는 특수 창고

일반 데이터베이스는 "이름이 홍길동인 사람 찾아줘"처럼 정확히 일치하는 값을 찾습니다. 벡터 데이터베이스는 "이 질문과 가장 비슷한 문서 찾아줘"처럼 유사도 기반 검색을 합니다.

AWS에서 사용할 수 있는 벡터 데이터베이스 옵션을 비교해봅니다.

| 서비스 | 특징 | 언제 선택? | |--------|------|-----------| | Amazon OpenSearch Serverless | 관리형, 서버리스, Bedrock Knowledge Bases의 기본 옵션 | 특별한 이유가 없다면 이것 | | Aurora PostgreSQL (pgvector) | 기존 RDS를 쓰는 환경과 통합 가능 | 이미 RDS를 쓰고 있을 때 | | Amazon Neptune Analytics | 그래프 DB와 벡터 검색을 결합 | 관계 데이터도 함께 다룰 때 | | Redis OSS (ElastiCache) | 인메모리, 초고속 응답 | 밀리초 단위 응답이 필요할 때 |

시험 꿀팁: 특별한 조건이 없으면 Bedrock Knowledge Bases의 기본 벡터 DB는 Amazon OpenSearch Serverless입니다.

---

 

Bedrock Knowledge Bases — RAG 파이프라인 자동 구축

직접 임베딩 모델을 선택하고, 벡터 DB를 설정하고, 검색 로직을 코딩하는 것은 복잡합니다. Bedrock Knowledge Bases는 이 모든 과정을 자동화해줍니다.

사용 방법

S3 버킷에 문서를 업로드합니다 (PDF, Word, HTML, Markdown 등) Bedrock Knowledge Bases를 연결합니다 자동으로 문서를 청킹(잘게 자르기)하고 임베딩으로 변환합니다 벡터 DB에 저장합니다 이후 질문이 들어오면 자동으로 검색하고 FM에 전달합니다

청킹 전략 — 문서를 어떻게 자를까?

긴 문서를 통째로 저장하면 검색이 비효율적입니다. 적당한 크기로 잘라서 저장해야 합니다.

| 전략 | 설명 | 언제 사용? | |------|------|----------| | 고정 크기 (Fixed) | 일정 토큰 수로 균일하게 자름 | 일반적인 텍스트 문서 | | 계층적 (Hierarchical) | 큰 청크와 작은 청크를 계층 구조로 유지 | 구조가 있는 긴 문서 | | 시맨틱 (Semantic) | 의미 단위로 자름 | 품질이 중요할 때 |

---

 

Bedrock Agents — AI가 직접 일을 처리한다

일반적인 AI 챗봇은 질문에 답만 합니다. Bedrock Agents는 AI가 외부 시스템과 상호작용하여 실제로 작업을 수행할 수 있게 합니다.

예시를 들어봅니다. "지난달 매출 데이터를 분석해서 개선 제안을 작성하고, 팀장에게 이메일로 보내줘"라는 요청을 처리한다고 합시다.

일반 AI: "저는 그런 작업을 직접 할 수 없습니다. 직접 데이터를 확인하고 이메일을 보내세요."

Bedrock Agent: 데이터베이스 API를 호출해 매출 데이터를 가져옵니다 데이터를 분석합니다 개선 제안 보고서를 작성합니다 이메일 API를 호출해 팀장에게 전송합니다

Agent의 핵심 구성 요소

| 개념 | 설명 | |------|------| | Action Groups | Agent가 호출할 수 있는 API와 함수들의 집합 | | Tool Use | FM이 외부 도구(API, DB, 계산기 등)를 직접 호출하는 기능 | | Memory | 대화 히스토리를 기억하여 맥락을 유지 | | Orchestration | 여러 단계 작업을 자동으로 계획하고 순서대로 실행 |

Agentic AI: 사람이 매 단계를 지시하지 않아도 목표를 스스로 달성하기 위해 행동을 결정하는 AI 구조를 말합니다.

---

 

인퍼런스 파라미터 — FM의 응답 특성 조절하기

FM을 사용할 때 응답의 특성을 세밀하게 조절할 수 있습니다. 라디오 주파수를 맞추듯 원하는 방향으로 조정합니다.

| 파라미터 | 역할 | 낮으면 | 높으면 | |---------|------|--------|--------| | Temperature | 창의성 vs 일관성 | 항상 비슷한 안전한 답변 | 매번 다른 창의적 답변 | | Top-p | 선택 토큰 범위 | 가장 확률 높은 단어만 | 다양한 단어 후보군 | | Top-k | 선택 토큰 수 | 상위 몇 개만 선택 | 더 넓은 범위에서 선택 | | Max tokens | 최대 응답 길이 | 짧은 답변 | 긴 답변 |

온도(Temperature) 예시: 법률 문서 요약 → Temperature 0.1 (정확하고 일관된 요약) 광고 카피 아이디어 → Temperature 0.9 (다양하고 창의적인 아이디어)

블로그 목록으로 돌아가기