Full RAG: 초개인화를 위한 현대적 아키텍처
개인화는 많은 사용자 중심 제품에서 장기적인 고객 유지의 핵심입니다. 예를 들어, Netflix나 Disney는 개인화된 영화 추천을 통해 사용자 만족을 보장할 수 있고, 음식 배달 앱은 과거 주문을 기반으로 레스토랑과 요리를 제안할 수 있습니다. 인공지능은 고객의 과거 데이터를 활용하고 제품에서 개인화를 제공하기 위한 다양한 기술을 제공합니다.
Mike Del Balso, Tecton의 CEO이자 공동 창업자는 최근 Zilliz가 주최한 Unstructured Data Meetup에서 AI 추천 엔진의 개인화를 개선하기 위해 RAG 아키텍처를 사용하는 방법에 대한 강연을 진행했습니다.
Mike는 컨설팅 보고서에서 읽은 흥미로운 사실을 공유했습니다. “AI 기반 개인화로부터 전 세계 GDP에 5조 달러의 가치가 추가될 것입니다.” 그는 또한 초개인화를 달성하기 위해 Retrieval Augmented Generation(RAG)을 기반으로 한 아키텍처를 제시했습니다.
이 게시물에서는 AI 기반 개인화에 대한 그의 핵심 인사이트와 기업이 인공지능으로 제품을 강화할 수 있는 방법을 요약합니다.
생성형 AI 모델을 통한 개인화
Mike는 사용 사례 예시로 시작합니다. Booking.com이나 MakeMyTrip과 유사하지만 초개인화된 여행 추천을 제공하는 제품을 구축하는 것입니다.
GPT와 같은 대규모 언어 모델(LLMs)은 방대한 텍스트 말뭉치로 학습되며 여행 추천을 생성할 수 있습니다. 예를 들어 LLM에 “이번 여름에 어디로 가야 할까요?”라고 질의하면 Paris나 Tokyo처럼 가장 인기 있는 여름 여행지를 기반으로 한 응답을 받게 됩니다. 하지만 이러한 추천을 개별 고객에 맞게 조정할 방법이 필요합니다.
추천 모델을 개선하는 데 사용할 수 있는 두 가지 기술은 fine-tuning과 prompt engineering입니다.
이러한 기술은 사용 가능한 학습 데이터를 기반으로 모델의 응답을 더 관련성 있게 만들 수 있지만, 고객의 입력 데이터를 제공할 방법은 제공하지 않습니다. Full-RAG는 이 문제를 해결할 수 있는 방법입니다. Full-RAG가 무엇이며 어떻게 작동하는지 이해하기 전에, 전통적인 RAG가 어떻게 작동하는지 요약해 보겠습니다.
RAG 소개
Retrieval Augmented Generation (RAG)은 품질과 관련성 측면에서 대규모 언어 모델의 응답을 개선하는 기술입니다. RAG 엔진은 일반적으로 두 가지 핵심 구성 요소, 즉 Retriever와 Generator로 이루어집니다. Retriever는 임베딩 모델과 Milvus 또는 Zilliz Cloud 같은 vector database를 결합한 것이며, Generator는 LLM입니다.
검색 단계에서는 모든 문서를 저장하는 vector database를 검색하고 가장 관련성이 높은 문서를 선택합니다. Top-K 문서 또는 후보가 선택된 다음 Generative AI 모델의 입력으로 제공됩니다. 모델은 질의와 Top-K 후보를 사용하여 일관된 응답을 생성합니다.
아래의 RAG 파이프라인은 전통적인 RAG가 어떻게 작동하는지 설명합니다.
모든 문서는 vector embeddings로 변환되어 vector database에 저장됩니다.
사용자 질의도 vector embedding으로 변환됩니다.
이 벡터를 사용하여 vector database에서 가장 유사한 후보를 검색합니다.
Paris와 Tokyo 같은 이러한 상위 후보들은 LLM으로 전송되며, LLM은 응답을 생성합니다.
하지만 여기서 검색된 상위 후보들은 특정 사용자의 선호와 비선호에 대한 컨텍스트를 갖고 있지 않으므로, 이들은 “비맥락화된 후보”입니다.
Full-RAG: 검색 파이프라인에 컨텍스트 추가하기
기본 RAG 파이프라인에서 검색된 후보들은 비맥락화되어 있으므로, 더 나은 답변을 위해 해당 컨텍스트를 추가해야 합니다. 목표는 높은 컨텍스트와 전문성을 갖춘 엔진을 구축하는 것입니다.
Mike는 컨텍스트 제공이 검색된 정보를 어떻게 풍부하게 할 수 있는지 강조합니다: “_컨텍스트는 AI 모델이 상황을 이해하고 결정을 내리는 데 사용하는 관련 정보입니다.”
AI Travel Agent를 구축하는 이전 사용 사례 예시에서, 우리는 두 가지 방식으로 모델에 컨텍스트를 추가할 수 있습니다:
1: 후보(장소)의 컨텍스트 추가: 도시를 추천할 때 모델은 해당 역학의 세부 사항을 알고 있어야 합니다. 예를 들어 현재 날씨, 활동 유형, 유명한 현지 요리, 대략적인 예산, 방문할 역사 또는 유산 사이트 등이 있습니다. 이 정보는 사용자가 휴가를 계획하는 데 도움이 됩니다.
- 사용자 개인화 컨텍스트: 이는 사용자가 누구이며 어떤 선호와 제약을 가지고 있는지에 대한 정보를 제공하는 것을 의미합니다. 이 정보는 검색된 상위 후보들을 사용자 수준 정보로 풍부하게 합니다. 예를 들어 다음과 같은 질문에 대한 컨텍스트를 제공합니다:
사용자가 역사에 관심이 있나요?
사용자는 어떤 기후를 선호할까요?
사용자가 어드벤처 스포츠 활동에 관심이 있을까요?
어떤 유형의 숙박 시설을 선호하나요?
도시가 제공하는 것과 사용자가 원하는 것에 대한 컨텍스트를 통해 AI 모델은 적합한 목적지를 더 잘 매칭할 수 있습니다. 또한 사용자의 선호에 맞춘 활동, 이벤트, 숙박 옵션을 제안할 수 있습니다.
Tecton으로 놀라운 개인화 컨텍스트를 어떻게 구축할 수 있을까요?
Tecton은 다양한 비즈니스 데이터 소스를 통합하기 위한 피처 플랫폼을 개발했습니다. 추천 알고리즘에 제공해야 하는 개인화 컨텍스트를 쉽게 생성하고 관리할 수 있습니다. 피처 플랫폼은 후보와 관련 사용자 데이터를 가져와 Milvus와 같은 벡터 데이터베이스에서 맥락화된 후보를 검색합니다.
개인화 컨텍스트는 네 가지 넓은 수준에서 구축하고 관리할 수 있습니다.
수준 0: 기본
이는 추가 정보가 없는 기본 레이어 또는 시작점입니다. 아래 다이어그램은 컨텍스트 정보가 전혀 없는 상태에서 RAG가 어떻게 작동하는지 보여줍니다.
수준 1: 배치 컨텍스트
다음 수준은 여행 이력, 좋아하는 활동 등과 같은 과거 데이터를 제공합니다. 이 수준을 구현하는 것은 어렵습니다. 서로 다른 웨어하우스나 데이터 레이크에서 데이터를 검색하고 결합하는 파이프라인을 구축해야 하기 때문입니다. 또한 벤치마킹과 개발을 위해 과거 평가 데이터셋을 만들어야 합니다.
Tecton의 피처 플랫폼은 배치 컨텍스트 구축 과정을 단순화합니다. “이 사용자가 최근 방문한 다섯 곳은 어디인가?”와 같은 간단한 컨텍스트 정의로 시작할 수 있습니다. 이 플랫폼은 또한 정의를 코딩할 수 있는 Python SDK를 제공하며, 데이터를 실시간으로 읽고 평가하는 것을 지원합니다.
이 단계에서 추천 LLM은 과거 컨텍스트에서 인사이트를 도출하고 제안을 제공할 수 있습니다. 예를 들어 사용자가 과거에 많은 역사 유적지를 방문했다면, 고대 도시 Kyoto의 사원을 방문하도록 제안할 것입니다.
수준 2: 배치 + 스트리밍 데이터 컨텍스트
사용자가 시청하고 읽는 영화, 동영상, 블로그와 같은 사용자에 대한 스트리밍 정보를 추가하면 모델이 사용자의 현재 관심사를 이해하는 데 도움이 될 수 있습니다. 이 스트리밍 정보에는 사용자의 검색 데이터, 구매 데이터 또는 웹 페이지에서의 세션 상호작용이 포함될 수 있습니다.
여기서의 과제는 스트리밍 데이터 파이프라인을 통합하고 이를 프로덕션화하는 것입니다. 대규모로 구현하는 동안 모델 구축과 실시간 추론 모두에 대한 비용이 더 높아질 수 있습니다.
Tecton은 스트리밍 컨텍스트 구축을 단순화합니다. 예를 들어, "지난 한 시간 동안 사용자는 어떤 주제에 대한 동영상을 시청했는가?”라는 간단한 컨텍스트 정의에서 시작합니다. 이는 플랫폼의 Python SDK로 코딩할 수 있습니다. 이를 테스트하고, 프로덕션에 배포하고, 실시간으로 사용할 수 있습니다. 이 단계의 추천은 이전 단계보다 훨씬 더 뛰어납니다. 예를 들어, 사용자가 일본행 항공편을 검색해 왔고 파인 다이닝을 좋아한다면, LLM은 일본에서의 다이닝 경험을 큐레이션할 것입니다.
레벨 3: 배치 + 스트리밍 데이터 + 실시간 컨텍스트
다음 단계는 고품질 신호를 위해 실시간 데이터를 도입하는 것입니다. 이 컨텍스트는 모델이 사용자 의도를 더 잘 이해하도록 도울 수 있습니다. 이 데이터에는 사용자의 검색 쿼리와 다른 애플리케이션의 데이터를 실시간으로 조회하는 것이 포함됩니다. 예를 들어, 가장 저렴한 옵션을 제안하려면 실시간 항공권 가격을 조회해야 합니다.
가장 큰 과제는 서드파티 실시간 데이터 소스를 통합하고 속도와 비용 간의 트레이드오프를 관리하는 것입니다. 실시간 개인화 추천을 통해 사용자는 혼자 조사하는 대신 시간을 절약할 수 있으므로 이를 매우 가치 있게 여길 것입니다.
이 위에 피드백 수준의 컨텍스트를 추가할 수도 있습니다. 제공된 추천에 대한 사용자의 피드백은 모델이 올바른 방향으로 나아가도록 도울 수 있습니다.
결론
컨텍스트는 맞춤형 쇼핑 경험, 챗봇 구축, 개인 금융 조언 제공 또는 새로운 영화 추천과 같은 다양한 경우에 AI 개인화를 향상시킬 수 있습니다. 더 높은 수준의 개인화는 제품 경험을 개선하지만, 구축 난이도도 동시에 증가합니다.
RAG는 LLM에 더 우수하고 관련성 높은 정보를 제공하기 위해 추가적인 도메인별 정보를 제공하는 중요한 기법입니다. 또한 많은 사용자 중심 GenAI 제품에서 장기적인 고객 유지의 핵심이기도 합니다.
표준 RAG는 벡터 데이터베이스 기반 검색기와 LLM 생성기로 구성됩니다. 모든 추가 정보는 Milvus와 같은 벡터 데이터베이스에 저장되며, LLM은 사용자 쿼리와 관련된 검색된 정보를 기반으로 답변을 생성합니다.
환각을 해결하는 데 효과적이긴 하지만, 표준 RAG 시스템은 초개인화 추천을 제공하는 것과 같은 사용 사례에서는 한계가 있습니다. 이는 검색된 top-k 후보가 특정 사용자의 선호와 비선호에 대한 더 개인화된 컨텍스트를 가지고 있지 않을 수 있기 때문입니다.
Tecton은 LLM을 위한 개인화된 컨텍스트를 조립하는 솔루션을 제공하여 기업의 프로세스를 간소화합니다. 그러나 버전 관리, 모델 거버넌스, 근본 원인을 찾기 위한 디버깅과 같은 중요한 과제는 여전히 남아 있습니다.
이 주제에 대한 자세한 내용은 Mike의 meetup 동영상 녹화를 시청하세요.
계속 읽기

A Few Notes from Databricks Data + AI Summit 2026: Why the Data Layer Matters Again
James Luan shares notes from Databricks Data + AI Summit 2026 on why production AI is pushing the data layer back to the center of infrastructure.

DeepSeek-OCR Explained: Optical Compression for Scalable Long-Context and RAG Systems
Discover how DeepSeek-OCR uses visual tokens and Contexts Optical Compression to boost long-context LLM efficiency and reshape RAG performance.

Vector Databases vs. Time Series Databases
Use a vector database for similarity search and semantic relationships; use a time series database for tracking value changes over time.


