# [[Retrieval-Augmented Generation (RAG)]] ## ๐Ÿ“Œ Brief Summary Retrieval-Augmented Generation (RAG)๋Š” ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์˜ ์ƒ์„ฑ ๋Šฅ๋ ฅ์— ์™ธ๋ถ€ ์ •๋ณด ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ์„ ๊ฒฐํ•ฉํ•œ AI ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค [1]. ์‚ฌ์šฉ์ž ์งˆ์˜์™€ ๊ด€๋ จ๋œ ์ตœ์‹  ์ •๋ณด๋‚˜ ๋„๋ฉ”์ธ ํŠนํ™” ์ง€์‹์„ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ฆ๊ฐ•(Augment)ํ•œ ๋’ค, ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ LLM์ด ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค [2, 3]. ์ด ๊ธฐ์ˆ ์€ ์‚ฌ์ „ ํ•™์Šต๋œ ๋ฐ์ดํ„ฐ์—๋งŒ ์˜์กดํ•˜๋Š” ๊ธฐ์กด LLM์˜ ์ง€์‹ ๋‹จ์ ˆ, ํ™˜๊ฐ(Hallucination), ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋ถˆ๊ฐ€ ๋ฌธ์ œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ฉฐ, ๋ชจ๋ธ์˜ ์žฌํ•™์Šต ์—†์ด๋„ ์‘๋‹ต์˜ ์ •ํ™•์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [4-6]. ## ๐Ÿ“– Core Content **RAG ํŒŒ์ดํ”„๋ผ์ธ ์•„ํ‚คํ…์ฒ˜** * **๋ฌธ์„œ ์ˆ˜์ง‘ ๋ฐ ์ฒญํ‚น(Chunking):** ๋‹ค์–‘ํ•œ ํฌ๋งท(PDF, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ)์˜ ์ •ํ˜• ๋ฐ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•œ ๋’ค, ๋ฌธ๋งฅ์  ๊ฒฝ๊ณ„๊ฐ€ ์œ ์ง€๋˜๋„๋ก ์ ์ ˆํ•œ ํฌ๊ธฐ๋กœ ๋ถ„ํ• (Semantic chunking)ํ•ฉ๋‹ˆ๋‹ค [7-9]. * **๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค:** ๋ถ„ํ• ๋œ ํ…์ŠคํŠธ๋ฅผ ๊ณ ์ฐจ์› ์ˆซ์ž ๋ฐฐ์—ด์ธ ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์˜๋ฏธ์  ๊ด€๊ณ„๋ฅผ ์บก์ฒ˜ํ•˜๊ณ , ์ด๋ฅผ ๊ณ ์† ๊ฒ€์ƒ‰์— ์ตœ์ ํ™”๋œ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Pinecone, Weaviate, FAISS ๋“ฑ)์— ์ธ๋ฑ์‹ฑํ•˜์—ฌ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค [8-11]. * **๊ฒ€์ƒ‰(Retrieval) ๋ฉ”์ปค๋‹ˆ์ฆ˜:** ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„(Cosine similarity)์™€ ๊ฐ™์€ ๊ฑฐ๋ฆฌ ์ธก์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์˜๋ฏธ๋ก ์  ๋ฐ€์ง‘ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰(Dense Search)๊ณผ ์ „ํ†ต์ ์ธ ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ํฌ์†Œ ๊ฒ€์ƒ‰(BM25)์„ ๊ฒฐํ•ฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์งˆ์˜์™€ ๊ฐ€์žฅ ์—ฐ๊ด€์„ฑ ๋†’์€ ๋ฌธ์„œ ์ฒญํฌ๋ฅผ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค [11-13]. * **ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐ ์ƒ์„ฑ:** ์‚ฌ์šฉ์ž์˜ ์›๋ณธ ์งˆ์˜, ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋“ฑ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ข…ํ•ฉ์ ์ธ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ์ด๋ฅผ LLM์— ์ „๋‹ฌํ•˜์—ฌ ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ๊ธฐ๋ฐ˜์„ ๋‘” ์ •ํ™•ํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค [14-16]. **Advanced RAG ๋ฐ ๊ธฐ์ˆ ์˜ ์ง„ํ™”** * **๋‹จ์ˆœ RAG์˜ ํ•œ๊ณ„ ๊ทน๋ณต:** ๋‚ฎ์€ ์ •๋ฐ€๋„๋‚˜ ์˜ค๋ž˜๋œ ์ •๋ณด ๊ฒ€์ƒ‰ ๋“ฑ์œผ๋กœ ์ธํ•œ ํ™˜๊ฐ ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด, ๊ฒ€์ƒ‰ ๋ฐ ์ƒ์„ฑ ํ’ˆ์งˆ์„ ์Šค์Šค๋กœ ํ‰๊ฐ€ํ•˜๋Š” **Self-RAG**, ๊ฒ€์ƒ‰ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๋Š” **CRAG**, ์ฟผ๋ฆฌ ๋ณต์žก๋„์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰ ์ „๋žต์„ ๋™์ ์œผ๋กœ ์กฐ์ •ํ•˜๋Š” **Adaptive RAG** ๋“ฑ ์ง„๋ณด๋œ ๊ธฐ๋ฒ•์ด ์ ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [17-19]. * **์ฐจ์„ธ๋Œ€ RAG ํŒจ๋Ÿฌ๋‹ค์ž„:** ๋‹จ์ˆœํ•œ ์„ ํ˜• ํŒŒ์ดํ”„๋ผ์ธ์„ ๋„˜์–ด ์ง€์‹ ๊ทธ๋ž˜ํ”„(Knowledge Graph)๋ฅผ ํ™œ์šฉํ•˜๋Š” **Graph RAG**, ์ด๋ฏธ์ง€ ๋ฐ ์˜ค๋””์˜ค ๋“ฑ ํ…์ŠคํŠธ ์™ธ ๋ฏธ๋””์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” **๋‹ค์ค‘ ๋ชจ๋‹ฌ(Multimodal) RAG**, ๊ทธ๋ฆฌ๊ณ  ๊ฒ€์ƒ‰ ๋„๊ตฌ๋ฅผ ์ž์œจ์ ์œผ๋กœ ํ™œ์šฉํ•ด ๋‹ค๋‹จ๊ณ„ ์ถ”๋ก ์„ ์ˆ˜ํ–‰ํ•˜๋Š” **์—์ด์ „ํ‹ฑ(Agentic) RAG**๋กœ ์ง„ํ™” ์ค‘์ž…๋‹ˆ๋‹ค [13, 20-23]. ํŠนํžˆ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฒ€์ƒ‰, ๊ฒ€์ฆ, ์ ‘๊ทผ ์ œ์–ด๋ฅผ ํ†ตํ•ฉํ•œ '์ง€์‹ ์šด์˜ ์ฒด์ œ(Knowledge Runtime)'์˜ ํ˜•ํƒœ๋กœ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [24-26]. ## โš–๏ธ Trade-offs & Caveats * **์ธํ”„๋ผ ๋ณต์žก์„ฑ ๋ฐ ๊ตฌ์ถ• ๋น„์šฉ ์ฆ๊ฐ€:** RAG ์‹œ์Šคํ…œ์€ ๋‹จ์ˆœ LLM ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๋ณด๋‹ค ํ›จ์”ฌ ๋ณต์žกํ•œ ์ธํ”„๋ผ๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ „๋ฌธ์ ์ธ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๊ณ ์„ฑ๋Šฅ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ, ์ •๊ตํ•œ ๊ฒ€์ƒ‰ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ตฌ์ถ•์„ ์œ„ํ•œ ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ๋ฌธ์„œ ์ฒญํ‚น ๋ฐ ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ๋Œ€๋Œ€์ ์ธ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์ด ์ˆ˜๋ฐ˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [27, 28]. ํŠนํžˆ ๊ฐœ์ฒด ๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜๋Š” Graph RAG์˜ ๊ฒฝ์šฐ ๊ธฐ์ค€ RAG๋ณด๋‹ค 3~5๋ฐฐ์˜ LLM ํ˜ธ์ถœ ๋น„์šฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [29, 30]. * **์‹œ์Šคํ…œ ํ†ตํ•ฉ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ์˜ ๊นŒ๋‹ค๋กœ์›€:** ๋ฌธ์„œ ์ €์žฅ์†Œ, ๋ฒกํ„ฐ DB, ์ž„๋ฒ ๋”ฉ ์„œ๋น„์Šค, LLM ๊ฐ„์˜ ๋งค๋„๋Ÿฌ์šด ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ API ํ”„๋ ˆ์ž„์›Œํฌ ์„ค๊ณ„๊ฐ€ ํ•„์ˆ˜์ ์ด๋ฉฐ, ์ด๋Š” ์ง€์—ฐ ์‹œ๊ฐ„(Latency)์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [28]. ๋˜ํ•œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‹œ ์ธ๋ฑ์Šค์—์„œ ์˜ค๋ž˜๋œ ์ •๋ณด๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(Garbage collection) ๋ฌธ์ œ๊ฐ€ ์ง€์†์ ์ธ ๊ณผ์ œ๋กœ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค [31]. * **ํ‰๊ฐ€ ๋ฐ ๊ด€์ธก(Observability)์˜ ์–ด๋ ค์›€:** RAG์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€๋Š” ๋‹จ์ˆœํ•œ ์–ธ์–ด ์ดํ•ด ์ˆ˜์ค€์„ ๋„˜์–ด ๊ฒ€์ƒ‰ ์ •ํ™•๋„, ์ฒญํฌ ๊ด€๋ จ์„ฑ, ์‘๋‹ต ์ผ๊ด€์„ฑ ๋“ฑ์„ ๋ชจ๋‘ ์ธก์ •ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋งค์šฐ ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค [32]. ์‹œ์Šคํ…œ ์ž‘๋™์„ ์ถ”์ ํ•˜๊ณ  ํ™˜๊ฐ์ด๋‚˜ ํ’ˆ์งˆ ์ €ํ•˜๋ฅผ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ •๊ตํ•œ ๊ด€์ธก ์Šคํƒ์„ ์œ ์ง€ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด ๊ณผ์ •์—์„œ 20~30%์˜ ์„ฑ๋Šฅ ์ €ํ•˜(Overhead)๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [33-35]. * **๋ณด์•ˆ ๋ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค ์ œ์•ฝ:** ๊ฒ€์ƒ‰ ๊ณ„์ธต์— ์ง์ ‘ ์ ‘๊ทผ ์ œ์–ด(Access Control)๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ์Šน์ธ๋˜์ง€ ์•Š์€ ์ •๋ณด ์œ ์ถœ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋Š” ๊ฒ€์ƒ‰ ์‚ฌ๊ฐ์ง€๋Œ€๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ€์ค‘์‹œํ‚ต๋‹ˆ๋‹ค [36, 37]. ๋”๋ถˆ์–ด ์กฐ์ž‘๋œ ๋ฌธ์„œ๊ฐ€ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ํฌํ•จ๋˜์–ด ํŠน์ • LLM ๋™์ž‘์„ ์œ ๋ฐœํ•˜๋Š” ์•…์˜์  ๊ณต๊ฒฉ(BadRAG, TrojanRAG ๋“ฑ) ์ทจ์•ฝ์ ์ด ์กด์žฌํ•˜๋ฉฐ, ์ด๋ฅผ ๋ฐฉ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ฒ€์ฆ ํŒŒ์ดํ”„๋ผ์ธ์€ ์‘๋‹ต ์ง€์—ฐ(5~10% ์˜ค๋ฒ„ํ—ค๋“œ)์„ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค [37-39]. --- *Last updated: 2026-05-04*