검색이 자꾸 엉뚱한 문서를 물어올 때 임베딩보다 먼저 의심해야 할 것
RAG 검색 품질이 오르지 않을 때 임베딩 모델이나 벡터 DB를 먼저 의심하기 쉽지만, 정작 원인은 문서를 기계적으로 잘라 문맥을 조각내는 청크 분할에 있다. 고정 길이 분할, 문장 중간 절단, 표와 제목 분리 같은 흔한 실수가 재현율을 어떻게 망치는지 사례와 함께 짚고, 청크 크기와 오버랩을 문서 구조에 맞게 조정하는 방법, 검색 품질을 측정하는 실용 지표까지 정리한다.
개발하며 겪은 판단을 적어요
LLM, AI 도구, 자동화 흐름과 제품 업데이트를 따라갑니다.
현재 7개의 발행 글이 이 주제에 속해 있습니다.
RAG 검색 품질이 오르지 않을 때 임베딩 모델이나 벡터 DB를 먼저 의심하기 쉽지만, 정작 원인은 문서를 기계적으로 잘라 문맥을 조각내는 청크 분할에 있다. 고정 길이 분할, 문장 중간 절단, 표와 제목 분리 같은 흔한 실수가 재현율을 어떻게 망치는지 사례와 함께 짚고, 청크 크기와 오버랩을 문서 구조에 맞게 조정하는 방법, 검색 품질을 측정하는 실용 지표까지 정리한다.
청크 크기와 분할 기준 하나가 임베딩 벡터의 품질을 좌우한다. 잘못 자르면 유사도 검색이 문맥이 끊긴 반쪽짜리 조각만 반환해 정답이 산산조각 나는데, 크게 자른다고 해결되지도 않는다. 자주 저지르는 분할 실수의 원리를 짚고, 검색 재현율과 응답 완결성을 함께 보는 실용적인 평가 지표까지 정리했다. 후보 조각 검증, 컨텍스트 회수 전략, 기준별 실험 방법을 바로 파이프라인에 적용할 수 있게 구성했다.
SSE로 LLM 응답을 토큰 단위로 흘려보내며 화면에 그리는 순간, 마크다운 문법은 중간에 깨지고 중단 요청은 제대로 전달되지 않으며 토큰마다 렌더링이 버벅인다. 이 글은 스트리밍 UI에서 실제로 부딪히는 마크다운 파싱 붕괴, abort 처리와 에러 복구, 렌더링 성능 문제를 실패 사례 순서로 훑고, 부분 렌더링과 버퍼 축적을 최소화하는 백프레셔 방식 등 검증된 해결책을 정리한다.
OpenAI의 json_object 모드는 구문 유효성만 보장할 뿐 스키마를 강제하지 않는다. Zod/Pydantic 검증, json_repair로 복구하고 validation error를 피드백해 재시도하는 단계별 방어선과 서킷 브레이커, 멀티 프로바이더 폴백까지 실무 패턴을 파헤친다.
대부분의 AI 에이전트가 여전히 서버에서 오케스트레이션을 돌리고 있지만, 브라우저가 가진 런타임 맥락과 WebGPU·WebLLM의 발전이 이 판도를 바꾸고 있다. 서버 중심과 브라우저 네이티브 아키텍처의 지연 시간, 개인정보 보호, 비용, 확장성을 비교하며 왜 지금 이 전환이 중요한지 분석한다.
Moonshot AI의 Kimi 서비스를 지탱하는 Mooncake 플랫폼의 KVCache 중심 분리형 아키텍처를 분석한다. Prefill과 Decode를 분리하고 유휴 CPU·DRAM·SSD 자원을 캐시 풀로 전환해 처리량을 75% 이상 끌어올린 설계 철학과 vLLM·SGLang 생태계 확장을 추적한다.
로컬 AI 에이전트가 마크다운, CSV, JSON 등 다양한 입력을 75가지 디자인 템플릿과 9가지 출력 형식으로 변환해 완성된 HTML을 즉시 생성하는 패러다임을 다룬다. API 키 없이 Claude Code, Cursor 등 기존 CLI 세션을 재활용하며 원클릭으로 여러 소셜 플랫폼에 배포할 수 있다.