직접 만들고, 내 생각을 더하다
세상의 트렌드를 읽고 싶어하는 한 사람으로, 목공 DIY를 좋아하고, AI, n8n을 사용해 자동화 프로세스를 배우고 있다.

회사 FAQ 찾기 지옥에서 탈출기: n8n RAG 시스템으로 AI 문서봇 만든 정복기

n8n RAG 시스템으로 회사 문서 자동 검색 AI 문서 봇 구축하기 - 월 100시간 절약, 95% 비용 절감 가이드- Qdrant 벡터DB 사용

회사 FAQ 찾기 지옥에서 탈출기: n8n RAG 시스템으로 AI 문서봇 만든 정복기

만약 대기업이나 공기업에 다니는 사람이라면 온갖 제도가 복잡하게 얽혀있고 그 제도의 틀에서 잘 활동해야 한다는 것을 잘 알 것이다. 그런데, 복잡한 제도를 다 파악하고 그 틀에서 움직이는 것과 복잡함 속에서 발생한 문제를 찾고 해결하는 것이 생각보다 어려울 때가 많다.
그래서, 먼저 AI에게 모든 문서를 학습시키고 출처와 함께 대답을 들으면 문제점과 해결방안을 찾을 수 있지 않을까 라는 가정하에서 상상해 보았다. 

내가 회사 1년차 직원으로 고객 지원팀에 근무한다는 가정이다.

"또 같은 질문이야... 이 문서 어디 있더라?"

지난 달까지만 해도 하루에 최소 10번은 이런 말을 했다.
우리 회사 고객 지원팀에서 일하면서 가장 답답한 순간이었다.
고객들이 묻는 질문의 90%는 이미 매뉴얼이나 FAQ에 답이 있는데, 정작 그 문서를 찾는 데만 5분씩 걸렸기 때문이다.

특히 신입사원들은 더 심각했다.
"혹시 출장비 신청 방법 아세요?", "회사 휴가 정책이 어떻게 되죠?" 같은 질문을 받을 때마다 내가 휴먼 검색엔진이 된 기분이었다.

그러던 중 n8n RAG 시스템이라는 걸 알게 됐다.
결론부터 말하면 완전 인생 역전이었다.
이제는 어떤 질문이 와도 3초 만에 정확한 답변을 찾아준다.
심지어 PDF 파일 속 깊숙한 곳에 숨어있는 내용까지 척척 찾아낸다.

오늘은 RAG가 뭔지도 몰랐던 내가 어떻게 n8n으로 회사 전용 AI 문서봇을 만들었는지, 5일간의 삽질기와 함께 솔직하게 공유해보려고 한다.

🤔 RAG가 뭐길래? (초보자도 이해하는 3분 설명)

처음 RAG라는 말을 들었을 때 완전 암호 같았다. Retrieval-Augmented Generation... 뭔 소리야?

쉽게 말하면 이런 거다:

  1. 내가 가진 문서들을 AI가 읽기 좋게 잘게 나눈다
  2. 각 조각을 "의미"로 변환해서 데이터베이스에 저장한다
  3. 질문이 들어오면 관련된 조각들을 찾는다
  4. 찾은 내용을 바탕으로 AI가 답변을 만든다

예를 들어 "출장비 신청 방법"이라고 질문하면:

  • 인사 매뉴얼에서 출장비 관련 부분을 찾고
  • 회계 규정에서 신청 절차를 찾고
  • 이 정보들을 종합해서 완전한 답변을 만들어준다

마치 똑똑한 동료가 모든 문서를 다 읽고 있다가 필요할 때 딱 필요한 내용만 골라서 설명해주는 느낌이다.

🛠️ 왜 굳이 n8n RAG 시스템을 선택했을까?

처음에는 ChatGPT에 파일 업로드해서 쓰면 되지 않을까 생각했다. 하지만 현실은 달랐다.

기존 방식의 한계점:

  • 파일 용량 제한: ChatGPT는 파일당 512MB, 파일 개수도 제한적
  • 보안 문제: 회사 기밀 문서를 외부 서비스에 올리기 부담스러움
  • 비용 문제: 매번 API 호출하면 한 달에 수십만원
  • 컨텍스트 제한: 긴 문서는 한 번에 처리가 안 됨

n8n RAG 시스템의 장점:

  • 완전한 통제: 모든 데이터가 내 서버에만 있음
  • 무제한 문서: 몇 GB든 처리 가능
  • 저렴한 비용: 한 번 구축하면 전기세만
  • 맞춤형 확장: 우리 회사에 딱 맞게 커스터마이징

실제로 한 달 운영 비용을 계산해보니,
ChatGPT Teams($25/월)보다 n8n + Qdrant 로컬 운영이 95% 이상 저렴했다.

📅 실제 구현 과정: 5일간의 여정

1일차: 환경 설정과 첫 번째 좌절

가장 먼저 n8n에 AI 관련 노드들을 확인해야 했다.
다행히 최신 n8n 버전에는 AI 노드들이 기본 탑재되어 있어서 쉬웠다.

# Docker로 n8n 설치 (AI 노드 포함)
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

하지만 첫 번째 문제가 바로 나타났다. 벡터 데이터베이스가 뭔지도 모르겠고, 임베딩이 뭔지도 모르겠는 거였다.

해결책: 일단 가장 간단한 방법부터 시작하기로 했다. Docker로 Qdrant를 로컬에 설치해서 사용하기로 결정!

2일차: Qdrant 로컬 설치와 혼란

Docker로 Qdrant를 설치하는 것은 생각보다 간단했다.

# Qdrant Docker 컨테이너 실행
docker run -p 6333:6333 -p 6334:6334 \
  -v $(pwd)/qdrant_storage:/qdrant/storage \
  qdrant/qdrant

http://localhost:6333/dashboard 로 접속하니 멋진 대시보드가 나타났다!
하지만 여기서 또 막혔다. 컬렉션이라는 게 도대체 뭘까?

깨달음: 임베딩은 텍스트를 숫자 배열로 바꾸는 과정이고, 컬렉션은 관계형 DB의 테이블 같은 개념이었다. "출장비 신청"이라는 단어를 [0.1, 0.5, -0.3, ...] 같은 숫자들로 변환해서, 비슷한 의미의 문장들이 비슷한 숫자 패턴을 갖게 만드는 거였다. Qdrant에서는 이런 벡터들을 컬렉션에 저장하는 방식이었다.

3일차: 첫 번째 문서 업로드 성공

드디어 n8n 워크플로우를 만들기 시작했다.
첫 번째 워크플로우는 PDF 파일을 받아서 Qdrant 컬렉션에 저장하는 것이었다.

워크플로우 구조:

  1. Google Drive Trigger: 특정 폴더에 파일 업로드 감지 (자동화!)
  2. Google Drive Download: 새로 업로드된 파일 다운로드
  3. Default Data Loader: PDF 내용 추출 (pdfLoader 사용)
  4. Token Splitter: 텍스트를 1000토큰씩 나누기 (200토큰 겹침)
  5. Embeddings OpenAI: 각 조각을 벡터로 변환
  6. Qdrant Vector Store: Insert 모드로 벡터 저장

첫 번째 PDF(20페이지 인사규정)을 업로드하는 데 5분 걸렸다.
하지만 성공했을 때의 그 기쁨이란...!
더욱 놀라운 건 Google Drive에 파일만 올리면 자동으로 처리된다는 점이었다.

4일차: 검색 시스템 구축과 최적화

이제 저장된 문서에서 정보를 찾는 워크플로우를 만들 차례였다.

검색 워크플로우:

  1. 채팅 입력: 질문 받기 (chatInput)
  2. Embeddings OpenAI: 질문을 벡터로 변환
  3. Qdrant Vector Store: 유사한 문서 조각 찾기 (Retrieve 모드)
  4. Vector Store Retriever: 상위 5개 결과 선별 (topK=5)
  5. OpenAI Chat Model: GPT-4o-mini로 답변 생성 (temperature=0)
  6. Retrieval QA Chain: 컨텍스트 기반 최종 답변 생성

하지만 여기서 대참사가... 첫 번째 테스트에서 완전히 엉뚱한 답변이 나왔다.

문제: "출장비 신청 방법"을 물어봤는데 "휴가 신청 절차"를 알려주는 거였다.

원인 분석: 문서를 너무 작게 나눠서 맥락이 사라진 게 문제였다.

해결책:

  • 청크 크기를 1000토큰에서 3000토큰으로 증가
  • Token Splitter에서 청크 간 겹치는 부분(overlap) 200토큰 설정
  • Vector Store Retriever의 topK를 3개에서 5개로 증가

5일차: 완성과 감동의 순간

마침내 모든 게 제대로 작동했다! 테스트 질문 10개 중 9개에서 정확한 답변을 받았다.

성공 사례:

질문: "재택근무 신청은 어떻게 하나요?"
답변: "재택근무 신청은 다음 절차를 따르시면 됩니다:
1. 인사시스템에서 '재택근무 신청서' 작성
2. 직속 상관의 승인 받기  
3. 승인 후 HR팀에 최종 제출
신청은 희망일 3일 전까지 완료해야 하며, 월 8일까지 가능합니다."

정확하고 상세한 답변에 감동받았다.
특히 "월 8일까지"라는 세부 정보까지 정확히 찾아내는 걸 보고 소름이 돋았다.

📊 현실적인 성과와 변화

Before (수동 문서 검색)

  • 평균 답변 시간: 5분 (문서 찾기 + 읽기 + 설명)
  • 정확도: 70% (기억에 의존해서 종종 틀림)
  • 스트레스 레벨: 😤😤😤😤😤 (5/5)
  • 일일 FAQ 처리: 20건 (지쳐서 더 못함)

After (n8n RAG 시스템)

  • 평균 답변 시간: 3초 (진짜로!)
  • 정확도: 95% (문서 원문 기반이라 정확)
  • 스트레스 레벨: 😊😊 (2/5, 가끔 시스템 오류만)
  • 일일 FAQ 처리: 무제한 (AI가 알아서)

가장 놀라운 변화: 팀 내 새로운 질문이 없어졌다. 모든 팀원이 봇에게 먼저 물어보는 문화가 생겼다.

비용 분석 (월 기준)

방식 비용 장점 단점
수동 처리 시간비용 100만원 사람의 판단력 느리고 부정확
ChatGPT Teams $25 간편함 보안 위험, 제한적
n8n + Qdrant (로컬) $2 완전 통제, 보안 초기 설정 복잡
n8n + Qdrant (클라우드) $10 관리 편함 로컬보다 비쌈

결과적으로 시간과 비용 모두에서 압도적인 절약 효과를 봤다.

😅 삽질기: 이런 실수는 피하자

1. 임베딩 모델 선택 실수

문제: text-embedding-3-small 사용했다가 정확도 떨어짐

해결: text-embedding-3-large로 변경하니 정확도 20% 향상

2. Token Splitter 설정 최적화 실패

문제: 처음에 1000토큰으로 설정했다가 맥락 손실 

해결: 3000토큰 + 200토큰 overlap이 우리 문서에 최적

3. 메타데이터 및 컬렉션 관리

문제: 어떤 문서에서 나온 답변인지 알 수 없음 

해결: Qdrant 컬렉션을 문서 유형별로 분리 ("crowd" 컬렉션 사용)

{
  "qdrantCollection": "crowd",
  "chunkSize": 3000,
  "chunkOverlap": 200,
  "topK": 5
}

4. Google Drive 자동화 구축

문제: 매번 수동으로 파일을 업로드해야 함 

해결: Google Drive Trigger로 특정 폴더 모니터링 (1분마다 체크)

{
  "triggerOn": "specificFolder",
  "event": "fileCreated",
  "pollTimes": "everyMinute"
}

🎯 초보자를 위한 단계별 시작 가이드

혹시 여러분도 회사에서 FAQ 지옥에 시달리고 있다면, 이렇게 시작해 보자:

초급 단계 (1주 목표)

  1. n8n 설치: Docker 사용해서 로컬 환경 구축
  2. Qdrant 설치: Docker로 로컬 벡터 DB 설정(또는 NAS에 있는 Docker에 설치하면 로컬PC 용량을 절약할 수 있다. NAS IP로 접속하면 됨)
  3. OpenAI API: 임베딩용 API 키 발급
  4. 첫 문서 업로드: Default Data Loader로 간단한 PDF 하나 테스트

중급 단계 (2주 목표)

  1. 워크플로우 최적화: Token Splitter 설정과 topK 값 조정
  2. Google Drive 연동: 자동 파일 감지 및 처리 시스템 구축
  3. Retrieval QA Chain: 시스템 프롬프트 최적화로 답변 품질 향상
  4. 다양한 파일 형식: Word, Excel, 텍스트 파일 지원 (Default Data Loader 활용)

고급 단계 (1개월 목표)

  1. 실시간 업데이트: 문서 변경 시 자동 벡터 갱신
  2. Vector Store as Tool: n8n 1.74.0의 새로운 기능으로 AI Agent에 직접 연결
  3. 분석 대시보드: 질문 패턴과 사용 통계 분석 (Qdrant 대시보드 활용)
  4. 다국어 지원: 영어, 한국어 동시 처리

💡 실전 운영 팁

문서 처리 전략

📁 Google Drive/main/
  ├── 📄 인사규정.pdf → Qdrant "crowd" 컬렉션
  ├── 📄 회계규정.pdf → Qdrant "crowd" 컬렉션  
  ├── 📄 기술매뉴얼.pdf → Qdrant "crowd" 컬렉션
  └── 📄 신규파일.pdf → 자동 감지 & 처리

Token Splitter 최적화 설정

  • 토큰 기반 분할: 3000토큰 (약 2250단어)
  • 겹침 설정: 200토큰 (컨텍스트 보존)
  • PDF 페이지 분할: splitPages=true로 페이지별 처리

검색 최적화 공식

// Token Splitter 설정
chunk_size = 3000  // 토큰 기준
overlap = 200      // 컨텍스트 보존

// Vector Store Retriever 설정  
topK = 5          // 상위 5개 결과
temperature = 0   // 일관된 답변 (GPT-4o-mini)

🔮 앞으로의 확장 계획

현재도 충분히 만족스럽지만, 더 발전시킬 아이디어들이 있다:

1. 스마트 자동화 시스템

  • Google Drive 폴더 모니터링으로 실시간 문서 업데이트
  • 파일 업로드 즉시 자동 벡터 변환 및 저장
  • 수동 작업 완전 제거

2. Retrieval QA Chain 고도화

  • 커스텀 시스템 프롬프트로 답변 품질 향상
  • 컨텍스트 기반 정확한 정보 제공
  • "모르겠다"는 답변으로 헛갈리는 정보 방지

3. 외부 시스템 연동

  • Slack 봇으로 확장
  • 이메일 자동 답변 시스템
  • CRM과의 고객 문의 연동

💡 마무리: RAG 시스템의 진짜 가치

5일간의 삽질과 한 달간의 운영을 통해 깨달은 것은, n8n RAG 시스템은 단순한 검색 도구가 아니라는 점이다.

이것은 조직의 지식을 민주화하는 도구다.

신입사원도 베테랑처럼 정확한 정보에 접근할 수 있고, 부서 간 정보 격차도 줄어들었다.
무엇보다 반복적인 질문 답변에서 해방되어 더 창의적인 업무에 집중할 수 있게 됐다.

월 100시간을 절약했다는 것은 새로운 프로젝트를 시작할 수 있다는 의미이기도 하다.

물론 초기 설정은 까다롭다. 특히 임베딩이나 벡터 검색 같은 개념이 생소할 수 있다.
하지만 한 번 구축해놓으면 그 이후의 편리함은 상상 이상이다.

특히 고객 지원팀, HR팀, 기술 문서팀이라면 투자할 가치가 충분하다고 확신한다.

📌 핵심 포인트 요약

  • 95% 정확도로 3초 만에 문서 검색 및 답변 생성
  • 월 $2 비용으로 무제한 질문 처리 (97% 비용 절약)
  • 완전한 데이터 통제로 보안 걱정 없음 (로컬 Qdrant)
  • 월 100시간 절약으로 핵심 업무에 집중
  • 초보자도 1주면 기본 시스템 구축 가능

회사에서 매일 같은 질문에 지쳐 있다면 지금 당장 시작하지 않을 이유가 있을까?

n8n이 이미 설치되어 있다면 오늘 저녁에 Qdrant Docker 컨테이너부터 실행해보자.

아직 n8n도 없다고? 그럼 더욱 좋다. 처음부터 AI 노드가 포함된 최신 버전으로 설치하고, 로컬 Qdrant와 함께 완전히 내 통제 하에 있는 AI 시스템을 만들어보자!

🚀 지금 당장 시작하는 3단계

1단계: 환경 준비 (30분)

# n8n 설치 (AI 노드 포함)
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

# Qdrant 설치 (별도 터미널)
docker run -p 6333:6333 -p 6334:6334 \
  -v $(pwd)/qdrant_storage:/qdrant/storage \
  qdrant/qdrant

2단계: API 키 설정 (10분)

  • OpenAI API 키 발급 ($5 크레딧으로 충분)
  • Qdrant는 로컬 설치라 별도 계정 불필요!

3단계: 첫 워크플로우 (1시간)

  • Google Drive 특정 폴더 설정
  • PDF 업로드 → 자동 벡터 변환 워크플로우 구축
  • Retrieval QA Chain으로 질문-답변 테스트

총 소요 시간: 1시간 40분

꿀팁: Google Drive 폴더에 파일만 업로드하면 자동으로 처리되니까, 설정 한 번만 해두면 끝!

이 정도 투자로 앞으로 수백 시간을 절약할 수 있다면, 시작하지 않을 이유가 있을까?

💬 마지막 한마디

댓글로 여러분의 FAQ 지옥 경험담도 공유해보자. 어떤 질문을 매일 받고 있는지, 문서 찾기가 얼마나 어려운지...

지금 이 순간이 여러분의 업무 방식을 바꿀 수 있는 기회다.

더 이상 똑같은 질문에 시달리지 말고, AI에게 맡기고 정말 중요한 일에 집중해보자. 🎯

댓글 쓰기