# [[Retrieval-Augmented Generation (RAG)|Retrieval-Augmented Generation (RAG)]] ## πŸ“Œ Brief Summary RAG(Retrieval-Augmented Generation)λŠ” λͺ¨λΈ λ‚΄λΆ€μ˜ νŒŒλΌλ―Έν„° μ§€μ‹μ—λ§Œ μ˜μ‘΄ν•˜μ§€ μ•Šκ³ , μ™ΈλΆ€ λ°μ΄ν„°λ² μ΄μŠ€λ‚˜ λ¬Έμ„œ μ €μž₯μ†Œμ—μ„œ ν˜„μž¬ 질문과 κ΄€λ ¨λœ 정보λ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ κ²€μƒ‰ν•˜μ—¬ μ»¨ν…μŠ€νŠΈμ— μ£Όμž…ν•¨μœΌλ‘œμ¨ λ‹΅λ³€μ˜ μ •ν™•μ„±κ³Ό μ΅œμ‹ μ„±μ„ λ†’μ΄λŠ” κΈ°μˆ μ΄λ‹€. 에이전틱 μ‹œμŠ€ν…œμ—μ„œλŠ” λ‹¨μˆœν•œ 지식 쑰회λ₯Ό λ„˜μ–΄, μ—μ΄μ „νŠΈκ°€ 슀슀둜 무엇을 검색할지 κ²°μ •ν•˜κ³  검색 κ²°κ³Όλ₯Ό λ°”νƒ•μœΌλ‘œ λ‹€μŒ 행동을 κ³„νšν•˜λŠ” λŠ₯동적 λ„κ΅¬λ‘œ ν™œμš©λœλ‹€. ## πŸ“– Core Content * **RAG의 3단계 ν”„λ‘œμ„ΈμŠ€**: * **Retrieval (검색)**: μ‚¬μš©μžμ˜ μ§ˆλ¬Έμ„ λ²‘ν„°λ‘œ λ³€ν™˜ν•˜μ—¬ μœ μ‚¬ν•œ λ¬Έμ„œλ₯Ό μ°Ύκ±°λ‚˜, ν‚€μ›Œλ“œ 검색을 μˆ˜ν–‰. * **Augmentation (보강)**: κ²€μƒ‰λœ κ²°κ³Ό 쀑 κ°€μž₯ κ΄€λ ¨μ„± 높은 쑰각을 골라 μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈλ‚˜ μ»¨ν…μŠ€νŠΈμ— μ‚½μž…. * **Generation (생성)**: λ³΄κ°•λœ 정보λ₯Ό λ°”νƒ•μœΌλ‘œ λͺ¨λΈμ΄ μ΅œμ’… 닡변을 생성. * **에이전틱 RAG (Agentic RAG)**: * **Self-querying**: μ—μ΄μ „νŠΈκ°€ 검색어 자체λ₯Ό μ΅œμ ν™”ν•˜κ±°λ‚˜ μ—¬λŸ¬ 번의 검색을 μˆ˜ν–‰. * **Corrective RAG**: 검색 κ²°κ³Όκ°€ λΆ€μ μ ˆν•  경우 검색 μ „λž΅μ„ μˆ˜μ •ν•˜κ±°λ‚˜ μ™ΈλΆ€ μ›Ή κ²€μƒ‰μœΌλ‘œ μ „ν™˜. * **Multi-hop Retrieval**: λ³΅μž‘ν•œ μ§ˆλ¬Έμ„ μ—¬λŸ¬ λ‹¨κ³„λ‘œ λ‚˜λˆ„μ–΄ 순차적으둜 κ²€μƒ‰ν•˜κ³  톡합. * **벑터 λ°μ΄ν„°λ² μ΄μŠ€ (Vector DB)**: ν…μŠ€νŠΈμ˜ 의미적 μœ μ‚¬μ„±μ„ 고차원 벑터 κ³΅κ°„μ—μ„œ κ³„μ‚°ν•˜μ—¬ κ²€μƒ‰ν•˜λŠ” 핡심 μ €μž₯μ†Œ. * **μ‹œλ§¨ν‹± 검색 (Semantic Search)**: λ‹¨μˆœν•œ ν‚€μ›Œλ“œ 맀칭이 μ•„λ‹Œ λ¬Έμž₯의 λ§₯락과 의미λ₯Ό μ΄ν•΄ν•˜μ—¬ κ°€μž₯ κ°€κΉŒμš΄ 정보λ₯Ό μ°ΎλŠ” 방식. ## βš–οΈ Trade-offs & Caveats * **μ»¨ν…μŠ€νŠΈ μ˜€μ—Ό**: κ²€μƒ‰λœ 정보에 λ…Έμ΄μ¦ˆκ°€ μ„žμ—¬ μžˆκ±°λ‚˜ κ΄€λ ¨ μ—†λŠ” 정보가 포함될 경우 λͺ¨λΈμ˜ λ‹΅λ³€ ν’ˆμ§ˆμ΄ 였히렀 μ €ν•˜λ  수 μžˆλ‹€. * **μ§€μ—° μ‹œκ°„**: μ™ΈλΆ€ μ €μž₯μ†Œ 검색과 벑터 λ³€ν™˜ κ³Όμ •μ—μ„œ μ˜€λ²„ν—€λ“œκ°€ λ°œμƒν•˜μ—¬ λ‹΅λ³€ 속도가 λŠλ €μ§„λ‹€. * **κ²€μƒ‰μ˜ ν•œκ³„**: 벑터 검색은 단어 κ°„μ˜ λ³΅μž‘ν•œ 논리적 κ΄€κ³„λ‚˜ ꡬ쑰적 지식을 νŒŒμ•…ν•˜λŠ” 데 ν•œκ³„κ°€ μžˆλ‹€. (이λ₯Ό μœ„ν•΄ [[GraphRAG (α„€α…³α„…α…’α„‘α…³ 가ᄇᅑᆫ α„€α…₯ᆷᄉᅒᆨ α„Œα…³α†Όα„€α…‘α†Ό ᄉᅒᆼᄉα…₯α†Ό)|GraphRAG]]κ°€ λ„μž…λ¨) ## πŸ”— Knowledge Connections ### Related Concepts * [[Agent Memory System|Agent Memory System]] * μ—°κ²° 이유: RAGλŠ” μ—μ΄μ „νŠΈμ˜ λ©”λͺ¨λ¦¬ 쀑 'μ™ΈλΆ€ 지식'κ³Ό 'μž₯κΈ° 이λ ₯'을 λΆˆλŸ¬μ˜€λŠ” μ‹€μ§ˆμ μΈ λ©”μ»€λ‹ˆμ¦˜μ΄λ‹€. * [[GraphRAG & Knowledge Graph Memory|GraphRAG & Knowledge Graph Memory]] * μ—°κ²° 이유: λ‹¨μˆœ 벑터 κ²€μƒ‰μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ κ΄€κ³„ν˜• 지식을 ν™œμš©ν•˜λŠ” μ§„ν™”λœ RAG ν˜•νƒœμ΄λ‹€. * [[Context Engineering|Context Engineering]] * μ—°κ²° 이유: κ²€μƒ‰λœ λ°©λŒ€ν•œ κ²°κ³Ό 쀑 μ–΄λ–€ 것을 μ»¨ν…μŠ€νŠΈμ— 넣을지 κ²°μ •ν•˜λŠ” μ „λž΅μ΄λ‹€. ### Deeper Research Questions * λͺ¨λΈμ˜ μ»¨ν…μŠ€νŠΈ μœˆλ„μš°κ°€ λ¬΄ν•œνžˆ 컀진닀면(Long-context), μ—¬μ „νžˆ RAGκ°€ ν•„μš”ν•œκ°€? (Compute Economics κ΄€μ μ˜ 뢄석) * κ²€μƒ‰λœ 정보가 λͺ¨λΈμ˜ λ‚΄λΆ€ 지식과 μΆ©λŒν•  λ•Œ, λͺ¨λΈμ΄ 'μ™ΈλΆ€ κ·Όκ±°'λ₯Ό μš°μ„ μ‹œν•˜κ²Œ λ§Œλ“œλŠ” 졜적의 ν”„λ‘¬ν”„νŠΈ κ°€μ€‘μΉ˜ 쑰절 방법은 무엇인가? * 수백만 개의 λ¬Έμ„œ 쀑 'μ΅œμ‹ μ„±'κ³Ό 'μ •ν™•μ„±'을 λ™μ‹œμ— λ§Œμ‘±ν•˜λŠ” 정보λ₯Ό μˆœμœ„ν™”(Re-ranking)ν•˜λŠ” ν•˜μ΄λΈŒλ¦¬λ“œ μ•Œκ³ λ¦¬μ¦˜μ€ 무엇인가? ### Practical Application Contexts * **Implementation:** LangChain의 `VectorStoreRetriever`λ₯Ό μ‚¬μš©ν•˜μ—¬ μ—μ΄μ „νŠΈμ—κ²Œ 지식 베이슀 검색 도ꡬλ₯Ό λΆ€μ—¬ν•œλ‹€. * **System Design:** 검색 결과의 ν’ˆμ§ˆμ„ 높이기 μœ„ν•΄ μ‚¬μš©μž μ§ˆλ¬Έμ„ ν™•μž₯(Query Expansion)ν•˜κ±°λ‚˜, κ²€μƒ‰λœ λ¬Έμ„œλ₯Ό λ‹€μ‹œ μˆœμœ„ν™”(Re-ranking)ν•˜λŠ” νŒŒμ΄ν”„λΌμΈμ„ κ΅¬μΆ•ν•œλ‹€. --- *Last updated: 2026-05-01*