Skip to main content
Summary

목표는 '검색되는 노트'가 아니라 '도와주는 비서'입니다

이 장의 목표는 개인 노트와 문서를 바탕으로 답하는 AI 지식 비서를 설계하는 것입니다. 단순히 문서를 벡터 DB에 넣고 검색하는 수준에서 끝내지 않습니다. 사용자가 질문하면 관련 문서를 찾고, 필요한 부분만 추려 답변하고, 근거가 된 원문 위치를 함께 보여주는 흐름까지 완성합니다.

좋은 지식 비서는 세 가지를 해야 합니다. 첫째, 내 문서를 정확히 찾습니다. 둘째, 찾은 내용을 바탕으로 답합니다. 셋째, 사용자가 직접 확인할 수 있도록 출처를 남깁니다.

최종 프로젝트: 내 노트 기반 AI 지식 비서 만들기

1단계: 문서 업로드와 텍스트 표준화

먼저 다양한 문서를 하나의 처리 형식으로 바꿉니다. 입력은 마크다운, 일반 텍스트, 블로그 글, 책 원고, PDF에서 추출한 텍스트가 될 수 있습니다. 형식은 달라도 RAG 파이프라인 안에서는 표준 텍스트와 메타데이터로 다루는 것이 좋습니다.

업로드 단계에서는 다음 정보를 함께 만듭니다.

  • 문서 ID

  • 제목

  • 원본 형식

  • 작성자 또는 소유자

  • 작성일과 수정일

  • 태그와 카테고리

  • 접근 권한

  • 원문 위치 정보

이 정보는 나중에 검색 필터, 출처 표시, 권한 검사에 사용됩니다. 특히 개인 지식 비서에서는 권한이 중요합니다. 사용자가 볼 수 없는 문서는 검색 결과에도 나오면 안 됩니다.

2단계: 문서 유형에 맞게 청킹하기

모든 문서를 같은 길이로 자르면 편하지만 품질은 떨어질 수 있습니다. 노트는 짧은 문단 중심으로, 책 원고는 챕터와 섹션 구조를 보존하며, 블로그 글은 제목과 소제목을 기준으로 나누는 것이 좋습니다.

청크에는 본문만 저장하지 않습니다. 다음처럼 문맥을 함께 붙입니다.

  • 문서 제목

  • 상위 섹션 제목

  • 청크 순서

  • 앞뒤 청크 ID

  • 태그

  • 원문 링크 또는 위치

예를 들어 "이 방법은 성능을 높인다"라는 문장만 보면 의미가 모호합니다. 하지만 상위 제목이 "Reranking 적용하기"라면 훨씬 정확하게 이해할 수 있습니다. 청킹은 문서를 자르는 작업이 아니라, 검색 가능한 지식 단위로 다시 구성하는 작업입니다.

3단계: 임베딩과 검색 API 만들기

청크가 준비되면 각 청크의 임베딩을 생성해 벡터 DB에 저장합니다. 이때 원문 텍스트, 메타데이터, 문서 ID를 함께 저장합니다. 그래야 검색 결과가 나왔을 때 답변 생성과 출처 표시까지 이어갈 수 있습니다.

검색 API는 처음부터 벡터 검색만 쓰기보다 하이브리드 검색으로 설계하는 것이 좋습니다. 벡터 검색은 의미가 비슷한 내용을 잘 찾고, 키워드 검색은 정확한 용어와 고유명사를 잘 찾습니다. 예를 들어 "BM25"나 "Tilnote" 같은 단어는 키워드 검색이 강하고, "답변에 근거를 붙이는 방법" 같은 질문은 벡터 검색이 강합니다.

기본 흐름은 단순합니다.

  1. 사용자 질문을 받습니다.

  2. 권한과 필터 조건을 확인합니다.

  3. 키워드 검색과 벡터 검색을 함께 실행합니다.

  4. 결과를 합칩니다.

  5. Reranking으로 다시 정렬합니다.

  6. 상위 청크를 답변 컨텍스트로 사용합니다.

4단계: 출처 기반 Q&A 완성하기

검색된 청크를 그대로 모델에 넣는다고 좋은 답변이 나오지는 않습니다. 프롬프트에는 역할과 규칙을 분명히 적어야 합니다.

예를 들어 다음 원칙을 넣습니다.

  • 제공된 문서 내용만 근거로 답합니다.

  • 근거가 부족하면 모른다고 말합니다.

  • 답변에는 사용한 출처를 연결합니다.

  • 서로 다른 문서가 충돌하면 충돌 사실을 알려줍니다.

답변 생성 후에는 모델이 실제로 사용한 청크와 출처를 함께 보여줍니다. 출처에는 문서 제목, 섹션 제목, 작성일, 원문 위치가 포함되면 좋습니다. 사용자는 답변을 읽고 바로 원문으로 이동할 수 있어야 합니다. 이것이 일반 챗봇과 지식 비서의 차이입니다.

5단계: 관련 노트와 이어 읽기 추천

좋은 지식 비서는 답만 하지 않습니다. 다음에 읽을 문서도 제안합니다. 답변에 사용된 청크와 비슷한 청크를 다시 검색하면 관련 노트를 추천할 수 있습니다. 같은 태그, 같은 책의 다음 섹션, 최근에 수정한 문서도 추천 기준이 됩니다.

추천 영역은 다음처럼 구성할 수 있습니다.

  • 답변에 직접 사용된 원문

  • 함께 읽으면 좋은 노트

  • 같은 주제의 오래된 기록

  • 질문과 관련된 책의 다음 섹션

  • 아직 답변에 쓰이지 않았지만 관련도가 높은 문서

이 기능은 개인 지식베이스의 가치를 높입니다. 사용자는 질문 하나로 잊고 있던 노트와 다시 연결됩니다.

최종 구조

내 노트 기반 AI 지식 비서는 다음 구조로 완성됩니다.

문서 업로드 → 텍스트 변환 → 청킹 → 메타데이터 생성 → 임베딩 → 벡터 DB 저장 → 하이브리드 검색 → Reranking → 출처 기반 답변 → 관련 노트 추천.

이 흐름에서 하나라도 약하면 전체 품질이 흔들립니다. 문서가 지저분하면 검색이 어렵고, 청킹이 나쁘면 답변이 흐려지며, 출처가 없으면 신뢰를 얻기 어렵습니다.

RAG는 한 번에 완성되는 기술이 아닙니다. 질문 로그를 보고, 실패한 검색을 고치고, 문서 구조를 다듬으며 좋아집니다. 결국 좋은 AI 지식 비서는 좋은 문서 관리 습관과 좋은 검색 설계가 만나는 지점에서 만들어집니다.

책 목록

처음 만나는 RAG와 AI 지식베이스: 내 문서와 노트를 이해하는 AI 만들기

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기