Upstash
-
Context7 분석 (5) 다층 품질 스코어링IT 2026. 4. 2. 21:00
Context7 분석 시리즈(1) 문서 특화 청킹 전략(2) 코드 스니펫 vs 정보 스니펫(3) 서버 사이드 리랭킹(4) 5단계 품질 파이프라인(5) 다층 품질 스코어링 ← 현재 글 (최종편)벡터 유사도만으로는 부족하다RAG 시스템에서 검색 품질을 결정하는 가장 흔한 방식은 벡터 유사도(cosine similarity)입니다. 질문을 벡터로 변환하고, 저장된 스니펫 벡터와의 유사도가 높은 것부터 순서대로 가져오는 방식이죠.하지만 이것만으로는 한계가 있습니다. 벡터 유사도는 "표현이 비슷한 문서"를 찾는 것이지, "질문에 실제로 답이 되는 문서"를 찾는 것이 아닙니다.예를 들어, "Next.js 미들웨어에서 인증을 어떻게 구현하나요?"라고 물었을 때:유사도 높지만 쓸모없는 결과: "Next.js 미들웨어의..
-
Context7 분석 (4) 5단계 품질 파이프라인IT 2026. 4. 1. 22:00
Context7 분석 시리즈(1) 문서 특화 청킹 전략(2) 코드 스니펫 vs 정보 스니펫(3) 서버 사이드 리랭킹(4) 5단계 품질 파이프라인 ← 현재 글(5) 다층 품질 스코어링문서가 검색 가능한 스니펫이 되기까지지금까지 1~3편에서 Context7의 청킹 전략(1편), 스니펫 분리(2편), 리랭킹(3편)을 각각 살펴봤습니다. 4편에서는 이 모든 것이 실제로 어떤 순서로 일어나는지, 전체 파이프라인을 조감도처럼 살펴봅니다.GitHub 저장소에 올라간 마크다운 문서가 Context7에서 검색 가능한 스니펫이 되기까지 5개 단계를 거칩니다.Stage 1: Parse — 문서를 의미 단위로 쪼개기1편에서 자세히 다룬 단계입니다. 핵심만 요약하면:GitHub/GitLab/Bitbucket 저장소에서 마크다운..
-
Context7 분석 (3) 서버 사이드 리랭킹IT 2026. 4. 1. 21:00
Context7 분석 시리즈(1) 문서 특화 청킹 전략(2) 코드 스니펫 vs 정보 스니펫(3) 서버 사이드 리랭킹 ← 현재 글(4) 5단계 품질 파이프라인(5) 다층 품질 스코어링RAG의 고질적 문제: 검색 결과가 너무 많다RAG(Retrieval-Augmented Generation)의 기본 흐름은 간단합니다. 질문이 들어오면 벡터 데이터베이스에서 관련 문서를 검색하고, 검색 결과를 LLM의 컨텍스트에 넣어서 답변을 생성하는 방식이죠.문제는 벡터 검색이 "대충 비슷한" 결과를 많이 가져온다는 것입니다. "Next.js 미들웨어 인증"을 검색하면, 정확히 관련된 3개의 청크 외에도 "Next.js 라우팅", "Express 미들웨어", "OAuth 인증 일반론" 같은 약간 관련 있지만 핵심은 아닌 청크..
-
Context7 분석 (2) 코드 스니펫 vs 정보 스니펫IT 2026. 3. 31. 22:00
Context7 분석 시리즈(1) 문서 특화 청킹 전략(2) 코드 스니펫 vs 정보 스니펫 ← 현재 글(3) 서버 사이드 리랭킹(4) 5단계 품질 파이프라인(5) 다층 품질 스코어링청크를 왜 두 종류로 나누나?1편에서 Context7이 마크다운 문서를 H2 제목 기준으로 청킹(chunking)한다는 것을 살펴봤습니다. 그런데 Context7은 여기서 한 발 더 나갑니다. 만들어진 청크를 하나의 타입으로 통째로 저장하지 않고, 코드 스니펫(codeSnippets)과 정보 스니펫(infoSnippets)이라는 두 가지 타입으로 분류해서 인덱싱합니다."스니펫이 결국 청크인 건가?"라고 궁금할 수 있습니다. 맞습니다. 두 스니펫 모두 Context7이 문서를 쪼갠 청크입니다. 다만 모든 청크를 동일하게 취급하는..
-
Context7 분석 (1) 문서 특화 청킹 전략IT 2026. 3. 31. 21:00
Context7 분석 시리즈(1) 문서 특화 청킹 전략 ← 현재 글(2) 코드 스니펫 vs 정보 스니펫(3) 서버 사이드 리랭킹(4) 5단계 품질 파이프라인(5) 다층 품질 스코어링AI가 짜준 코드, 왜 자꾸 안 돌아갈까?ChatGPT나 Claude에게 "Next.js 미들웨어 만들어줘"라고 부탁해 본 적 있으신가요? 그럴듯한 코드가 나오지만, 실제로 돌리면 import 경로가 다르거나, 아예 존재하지 않는 함수를 호출하는 경우가 꽤 있습니다. 이게 바로 환각(Hallucination)입니다.LLM은 학습 데이터가 수개월~수년 전 시점에 고정되어 있기 때문에, 라이브러리가 업데이트되면 옛날 API를 기반으로 코드를 생성합니다. React 19에서 바뀐 훅 패턴, Next.js 15의 새로운 라우팅 규칙 ..