본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
Vercel 엔터프라이즈 AI 플랫폼

플랫폼 기초

플랫폼 아키텍처AI SDK 런타임AI Gateway 제어면

실행 런타임

Workflow 장기 실행Sandbox 실행 격리MCP 데이터 계층Queues & 비동기 작업 관리

프롬프트 & 품질

프롬프트 엔지니어링 & 가드레일RAG & 검색 증강 생성관측성·평가

운영 체계

보안·거버넌스비용·안정성배포 전략 & AI CI/CD

실전 시나리오

고객지원 에이전트 아키텍처내부 리서치 에이전트 아키텍처승인형 백오피스 자동화코딩 오케스트레이션

오케스트레이션 패턴

그래프 중심 오케스트레이션실무 오케스트레이션 플레이북멀티 에이전트 아키텍처

부록

마이그레이션 가이드레퍼런스검증 리포트업데이트 내역
핸드북›Vercel 엔터프라이즈 AI›RAG & 검색 증강 생성
한국어English

RAG & 검색 증강 생성

Vercel 환경에서 RAG 파이프라인을 설계하고 운영하는 방법을 정리합니다.

핵심 요약

  • RAG는 AI SDK tool/resource, AI Gateway 모델 제어, Queues 인덱싱을 조합해 인덱싱·쿼리 파이프라인을 분리 운영합니다.
  • 청크 크기는 256512 토큰, 오버랩 1020%를 기본값으로 두고 메타데이터에 docId·source·updatedAt를 필수로 남깁니다.
  • vector search top-k 후보를 reranker로 5개까지 좁히고, query rewriting·multi-query 같은 쿼리 변환으로 재현율을 높입니다.
  • "답이 틀렸다"는 피드백의 60% 이상은 모델이 아니라 검색 실패이므로 모델 교체 전에 retrieval recall/precision을 먼저 측정합니다.
  • 비용 태그를 인덱싱과 쿼리 모두에 붙이고 변경분만 재인덱싱해 임베딩·생성 비용을 관리합니다.

RAG(Retrieval-Augmented Generation)는 모델의 지식을 외부 데이터로 보강하는, 가장 널리 쓰는 AI 패턴입니다. Vercel 환경에서는 AI SDK의 tool/resource 구조, AI Gateway의 모델 제어, Queues의 인덱싱 파이프라인을 조합해 RAG를 운영합니다.

RAG가 필요한 시점

조건RAG 적합도이유
모델 학습 데이터에 없는 사내 정보높음외부 지식 보강 필수
정보가 자주 변경됨높음fine-tuning보다 효율적
정확한 출처가 필요함높음source attribution 가능
범용 지식만으로 충분함낮음불필요한 복잡도
실시간 데이터가 중요함중간인덱싱 지연 고려 필요

아키텍처

인덱싱 파이프라인

청킹 전략

전략장점적합한 문서 유형
고정 크기 (512 tok)구현 단순균일한 텍스트
문단 기반의미 단위 보존구조화된 문서
재귀 분할계층 구조 유지긴 기술 문서
시맨틱 분할의미적 경계 최적화다양한 주제 혼합

Queues를 활용한 분산 인덱싱

import { embedMany } from 'ai'
import { handleCallback } from '@vercel/queue'

export const POST = handleCallback(async (job) => {
  const { chunks, docId, metadata } = job

  const { embeddings } = await embedMany({
    model: 'openai/text-embedding-3-small',
    values: chunks,
    providerOptions: {
      gateway: { tags: ['feature:rag-indexing', `doc:${docId}`] },
    },
  })

  await vectorStore.upsert(
    chunks.map((chunk, i) => ({
      id: `${docId}#${i}`,
      values: embeddings[i],
      metadata: { ...metadata, chunk },
    }))
  )
})

인덱싱 운영 기준

항목권장 기본값이유
청크 크기256~512 토큰검색 정밀도와 문맥 균형
청크 오버랩10~20%경계 정보 손실 방지
임베딩 모델text-embedding-3-small 이상비용 대비 성능
인덱싱 빈도변경 감지 기반 또는 일 1회신선도와 비용 균형
메타데이터docId, source, updatedAt 필수출처 추적과 갱신 관리

쿼리 파이프라인

검색 + 리랭킹

vector similarity만으로는 정밀도가 자주 모자랍니다. 리랭킹을 더해 품질을 끌어올립니다.

import { generateText, tool } from 'ai'
import { z } from 'zod'

const searchDocs = tool({
  description: '사내 문서를 검색합니다.',
  inputSchema: z.object({ query: z.string() }),
  execute: async ({ query }) => {
    // 1. Vector search: top-k 후보
    const candidates = await vectorStore.search({
      query: await embed(query),
      topK: 20,
    })

    // 2. Rerank: 정밀도 향상
    const reranked = await reranker.rank({
      query,
      documents: candidates.map((c) => c.metadata.chunk),
      topK: 5,
    })

    return reranked.map((r) => ({
      content: r.document,
      source: candidates[r.index].metadata.source,
      score: r.score,
    }))
  },
})

쿼리 변환 기법

기법설명효과
Query rewriting사용자 질문을 검색에 적합하게 변환검색 재현율 향상
Hypothetical document가상 답변을 생성해 검색에 사용의미 매칭 개선
Multi-query여러 관점의 쿼리를 생성해 결합커버리지 확대
Step-back prompting추상화된 상위 질문으로 검색넓은 문맥 확보

MCP resources로 RAG 노출

RAG 검색 결과를 MCP resources로 노출하면 에이전트가 문맥을 자연스럽게 끌어다 씁니다.

- docs-server (MCP): resources로 검색 결과 공급
  - searchDocs: 사내 문서 검색
  - getDocument: 특정 문서 조회
  - 모두 read-only, 앱이 주도

AI Gateway와 RAG 비용 관리

구간비용 요소절감 방법
임베딩문서량 × 토큰 단가변경분만 재인덱싱
검색 + 리랭킹API 호출 또는 compute캐싱, top-k 제한
생성context + 응답 토큰청크 수 제한, prompt caching
전체project별 집계 필요Gateway 태그로 추적

실무 해석

RAG에서 가장 자주 터지는 실패는 모델이 아니라 검색입니다. "답이 틀렸다"는 피드백의 60% 이상은 알고 보면 "필요한 문서를 못 찾았다"는 검색 실패입니다. 모델을 바꾸기 전에 검색 품질부터 재보세요.

평가 기준

지표측정 방법목표 예시
Retrieval recallgolden set 기준 상위 5개 포함율80% 이상
Retrieval precision반환 문서 중 관련 문서 비율60% 이상
Answer faithfulness응답이 context에 기반하는 비율90% 이상
Answer relevance응답이 질문에 적합한 비율85% 이상
Source attribution출처가 올바르게 표시되는 비율95% 이상

실패 모드와 대응

실패 모드증상대응
Retrieval miss관련 문서를 못 찾음청킹/쿼리 변환 개선
Context overflow너무 많은 문서를 context에top-k 축소, 리랭킹 강화
Hallucinationcontext에 없는 내용 생성인용 강제, confidence check
Stale data오래된 정보로 답변인덱싱 빈도 증가, 날짜 필터
Embedding drift모델 변경 후 검색 품질 저하전체 재인덱싱

ADR 스타일 결론

Decision

RAG는 인덱싱 파이프라인(Queues)과 쿼리 파이프라인(AI SDK tool + reranker)을 분리해 운영합니다. 검색 품질이 생성 품질을 좌우하므로 모델 튜닝보다 retrieval 평가를 앞세웁니다.

실무 체크리스트

  • 인덱싱 파이프라인이 변경 감지 기반으로 작동하는가
  • 청크 크기와 오버랩이 문서 유형에 맞게 설정됐는가
  • 리랭킹이 적용돼 있는가
  • retrieval recall/precision이 정기적으로 측정되는가
  • 응답에 source attribution이 포함되는가
  • 비용 태그가 인덱싱과 쿼리 모두에 적용되는가

관련 문서

  • AI SDK Embeddings
  • AI SDK Tools
  • AI Gateway Overview
  • Queues Docs
  • Agent Resources

관련 문서

지식기반 (KB) & 내부 위키

에이전틱 시대의 문서화 혁신 · RAG, MCP Resource, freshness, citation에 최적화된 KB 설계

검증 리포트

링크, 최신성, 추론 구간, 소스 간 충돌 여부를 점검한 결과를 기록합니다.

업데이트 내역

이 핸드북의 변경 이력과 반영 근거를 기록합니다.

Ch9. 관측 전략

Prisma Production Guardrails · API·Prisma·DB 세 레이어 지표와 OTel 트레이스, slow query 로깅, 배포 직후 강화 관측, SLO/에러버짓 기반 알림 설계를 다룹니다.

Ch3. 보안 아키텍처

AI 보안·컴플라이언스 운영 · 게이트웨이·Policy Engine·오케스트레이터·도구 샌드박스로 신뢰경계를 분리하고 Attack Surface Score로 공격 표면을 관리하는 AI 보안 아키텍처 설계

프롬프트 엔지니어링 & 가드레일

엔터프라이즈 AI 제품의 프롬프트 설계, 버전 관리, 입출력 가드레일, 안전성 통제를 정리합니다.

관측성·평가

AI Gateway, Workflow, Vercel Observability, AI SDK telemetry를 연결해 품질과 운영 신호를 하나의 루프로 관리하는 방법을 정리합니다.

On this page

RAG가 필요한 시점아키텍처인덱싱 파이프라인청킹 전략Queues를 활용한 분산 인덱싱인덱싱 운영 기준쿼리 파이프라인검색 + 리랭킹쿼리 변환 기법MCP resources로 RAG 노출AI Gateway와 RAG 비용 관리평가 기준실패 모드와 대응ADR 스타일 결론실무 체크리스트관련 문서