Files
2nd/10_Wiki/Topics/AI_and_ML/Retrieval-Augmented Generation (RAG).md
T
Antigravity Agent 0441f6e2a2 feat(wiki): implement P-Reinforce v3.0 standard & integrate 26+ new knowledge artifacts
- Formalized automatic record migration protocol in System Manual.
- Integrated high-density knowledge for RAG, AI, Business Strategy, and Leadership.
- Enhanced graph connectivity across core strategic hubs.
- Archived raw data and updated timeline records.
2026-05-04 22:40:32 +09:00

4.6 KiB


id: P-Reinforce-AUTO-RAG-001 category: AI_and_ML confidence_score: 1.00 tags: [auto-reinforced, rag, llm, ai-architecture, advanced-rag] last_reinforced: 2026-05-04

Retrieval-Augmented Generation (RAG)

📌 한 줄 통찰 (The Karpathy Summary)

"LLM의 기억력을 넘어서는 외부 지식의 실시간 보조: 모델 내부의 정적 지식에 의존하지 않고, 신뢰할 수 있는 외부 문서를 즉시 검색하여 답변에 결합함으로써 환각(Hallucination)을 획기적으로 줄이고 정확도를 극대화하는 지식 강화 아키텍처."

📖 구조화된 지식 (Synthesized Content)

검색 증강 생성(RAG)은 대규모 언어 모델(LLM)의 한계를 보완하기 위해 외부 데이터소스로부터 관련 정보를 검색하여 생성 과정에 주입하는 기술적 프레임워크입니다.

  1. 핵심 워크플로우 (Core Workflow):

    • 인덱싱 (Indexing): 문서들을 의미 있는 단위(Chunk)로 나누고, Vector Embedding을 통해 벡터화하여 데이터베이스에 저장합니다.
    • 검색 (Retrieval): 사용자의 질문과 가장 유사한 맥락을 가진 청크들을 Vector Database에서 찾아냅니다.
    • 증강 (Augmentation): 검색된 정보를 원본 질문과 결합하여 풍부한 컨텍스트를 가진 프롬프트를 생성합니다.
    • 생성 (Generation): LLM이 강화된 프롬프트를 바탕으로 근거가 명확한 최종 답변을 도출합니다.
  2. RAG의 발전 단계:

    • Naive RAG: 단순한 '검색-결합-생성'의 선형 구조입니다. 정밀도(Precision)가 낮고 관련 없는 정보를 가져올 위험이 있습니다.
    • Advanced RAG: Reranking, 하이브리드 검색, 지능적 청킹, 쿼리 재작성 등을 통해 검색 품질을 대폭 개선합니다.
    • Modular RAG: 고정된 흐름이 아닌, 유연하게 모듈을 교체하거나 추가(검색 전/후 처리 등)할 수 있는 구조입니다.
  3. 지식의 고도화 기법:

    • GraphRAG: 문서 간의 관계를 그래프 형태로 추출하여 복잡한 다단계 추론(Multi-hop Reasoning)을 수행합니다.
    • Agentic RAG: AI 스스로 검색 도구 사용 여부를 결정하고 계획을 수립하여 문제를 해결하는 자율적 검색 체계입니다.

⚖️ Trade-offs & Caveats

  • 인프라 및 비용: 벡터 DB 운영, 지속적인 임베딩 생성 및 인덱싱 비용이 발생하며, 검색 단계 추가로 인해 LLM 단독 호출 대비 응답 속도(Latency)가 증가합니다.
  • 품질의 불확실성: 검색 단계에서 관련 정보를 놓치거나(Low Recall), 관련 없는 정보가 섞여 들어오면(Low Precision) LLM이 여전히 잘못된 답변을 내놓을 수 있습니다.
  • 보안 리스크: 검색된 정보에 민감 데이터가 포함될 경우 LLM 응답을 통해 정보가 유출될 수 있으므로, 검색 계층에서의 권한 관리가 필수적입니다.

💻 실전 구현 코드 (Implementation Example)

RAG 파이프라인의 핵심인 검색 및 컨텍스트 결합 로직의 개념적 예시입니다 (Python/LangChain 기반).

from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain.chains import RetrievalQA

# 1. 벡터 데이터베이스 로드
embeddings = OpenAIEmbeddings()
vector_db = FAISS.load_local("index/rag_storage", embeddings)

# 2. 검색기(Retriever) 및 LLM 설정
retriever = vector_db.as_retriever(search_kwargs={"k": 3})
llm = ChatOpenAI(model_name="gpt-4-turbo", temperature=0)

# 3. RAG 체인 구성 (Stuff 방식: 검색된 모든 내용을 프롬프트에 주입)
rag_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=retriever,
    return_source_documents=True
)

# 4. 실행 및 출처 확인
query = "Astra 프로젝트의 P-Reinforce v3.0 표준에 대해 설명해줘."
result = rag_chain.invoke(query)

print(f"Answer: {result['result']}")
print(f"Sources: {[doc.metadata['source'] for doc in result['source_documents']]}")

🔗 지식 연결 (Graph)


Last updated: 2026-05-04