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

76 lines
4.6 KiB
Markdown

---
id: [[P-Reinforce|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)|Retrieval-Augmented Generation (RAG)]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "LLM의 기억력을 넘어서는 외부 지식의 실시간 보조: 모델 내부의 정적 지식에 의존하지 않고, 신뢰할 수 있는 외부 문서를 즉시 검색하여 답변에 결합함으로써 환각(Hallucination)을 획기적으로 줄이고 정확도를 극대화하는 지식 강화 아키텍처."
## 📖 구조화된 지식 (Synthesized Content)
검색 증강 생성(RAG)은 대규모 언어 모델(LLM)의 한계를 보완하기 위해 외부 데이터소스로부터 관련 정보를 검색하여 생성 과정에 주입하는 기술적 프레임워크입니다.
1. **핵심 워크플로우 (Core Workflow)**:
* **인덱싱 (Indexing)**: 문서들을 의미 있는 단위(Chunk)로 나누고, [[Vector Embedding|Vector Embedding]]을 통해 벡터화하여 데이터베이스에 저장합니다.
* **검색 (Retrieval)**: 사용자의 질문과 가장 유사한 맥락을 가진 청크들을 [[Vector Database|Vector Database]]에서 찾아냅니다.
* **증강 (Augmentation)**: 검색된 정보를 원본 질문과 결합하여 풍부한 컨텍스트를 가진 프롬프트를 생성합니다.
* **생성 (Generation)**: LLM이 강화된 프롬프트를 바탕으로 근거가 명확한 최종 답변을 도출합니다.
2. **RAG의 발전 단계**:
* **Naive RAG**: 단순한 '검색-결합-생성'의 선형 구조입니다. 정밀도(Precision)가 낮고 관련 없는 정보를 가져올 위험이 있습니다.
* **Advanced RAG**: [[Reranking|Reranking]], 하이브리드 검색, 지능적 청킹, 쿼리 재작성 등을 통해 검색 품질을 대폭 개선합니다.
* **Modular RAG**: 고정된 흐름이 아닌, 유연하게 모듈을 교체하거나 추가(검색 전/후 처리 등)할 수 있는 구조입니다.
3. **지식의 고도화 기법**:
* [[GraphRAG|GraphRAG]]: 문서 간의 관계를 그래프 형태로 추출하여 복잡한 다단계 추론(Multi-hop Reasoning)을 수행합니다.
* [[Agentic RAG|Agentic RAG]]: AI 스스로 검색 도구 사용 여부를 결정하고 계획을 수립하여 문제를 해결하는 자율적 검색 체계입니다.
## ⚖️ Trade-offs & Caveats
* **인프라 및 비용**: 벡터 DB 운영, 지속적인 임베딩 생성 및 인덱싱 비용이 발생하며, 검색 단계 추가로 인해 LLM 단독 호출 대비 응답 속도(Latency)가 증가합니다.
* **품질의 불확실성**: 검색 단계에서 관련 정보를 놓치거나(Low Recall), 관련 없는 정보가 섞여 들어오면(Low Precision) LLM이 여전히 잘못된 답변을 내놓을 수 있습니다.
* **보안 리스크**: 검색된 정보에 민감 데이터가 포함될 경우 LLM 응답을 통해 정보가 유출될 수 있으므로, 검색 계층에서의 권한 관리가 필수적입니다.
## 💻 실전 구현 코드 (Implementation Example)
RAG 파이프라인의 핵심인 검색 및 컨텍스트 결합 로직의 개념적 예시입니다 (Python/LangChain 기반).
```python
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)
* **기반 기술**: [[Vector Embedding|Vector Embedding]], [[Vector Database|Vector Database]], [[Semantic Search|Semantic Search]]
* **고도화 모델**: [[GraphRAG|GraphRAG]], [[Agentic RAG|Agentic RAG]], [[Adaptive RAG|Adaptive RAG]]
* **평가 지표**: [[Context Precision & Recall|Context Precision & Recall]], [[Faithfulness & Answer Relevancy|Faithfulness & Answer Relevancy]]
---
*Last updated: 2026-05-04*