๋ฏธ์ธ ์กฐ์ (fine-tuning) ์์ด LLM์ด ๋ฐ์ดํฐ์ ์ ๊ทผํ๋๋ก ํ์ธ์. RAG๋ ๋ฒ์ฉ ์ธ์ด ๋ชจ๋ธ๊ณผ ๋๋ฉ์ธ๋ณ ์ง์ ๊ฐ์ ๊ฒฉ์ฐจ๋ฅผ ํด์ํฉ๋๋ค.

์กฐ์ง์ ๋ฌธ์(๊ณ์ฝ์, ์ ์ฑ , ์ง์ ๊ธฐ๋ฐ, ์ ํ ์ค๋ช ์, ์๋ฃ ๊ธฐ๋ก)์ ๋ํ ์ง๋ฌธ์ ๋ต๋ณํ๋ AI ๋น์๋ฅผ ๊ตฌ์ถํ๊ณ ์ ํ ๋์ ๋๋ค. LLM์ ๋ฐ์ดํฐ์ ๋ํด ๋ฏธ์ธ ์กฐ์ ํ๋ ๊ฒ์ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ , ๋๋ฆฌ๋ฉฐ, ํ์ต ์์ ์์ ๊ณ ์ ๋ ๋ชจ๋ธ์ ์์ฑํฉ๋๋ค. LLM์ด ์ฟผ๋ฆฌ ์์ ์ ์ต์ ๋๋ฉ์ธ๋ณ ์ ๋ณด์ ์ ๊ทผํ๊ณ , ์ถ์ฒ๋ฅผ ์ธ์ฉํ๋ฉฐ, ๋ฌธ์์ ์๋ ์ฌ์ค์ ํ๊ฐ(hallucinating)ํ์ง ์๋๋ก ํ๋ ์ํคํ ์ฒ๊ฐ ํ์ํฉ๋๋ค. RAG (Retrieval-Augmented Generation)๋ ์ด ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
Explore more design patterns and system architectures
MicrocosmWorks๋ ์์ค ๊ถํ ์์, ํ์์คํฌํ ๊ธฐ๋ฐ ์ต์ ์ฑ ๊ฐ์ค์น, ๊ทธ๋ฆฌ๊ณ ๊ฐ ๊ฒ์๋ ๊ตฌ์ ์ด ์ฃผ์ฅ์ ์ผ๋ง๋ ๊ฐ๋ ฅํ๊ฒ ๋ท๋ฐ์นจํ๋์ง ํ๊ฐํ๋ ์ ๋ขฐ๋ ์ ์ ๋ถ์ฌ๋ฅผ ํตํด RAG ํ์ดํ๋ผ์ธ์์ ์ถฉ๋ ํด๊ฒฐ์ ๊ตฌํํฉ๋๋ค. ์์ถฉ๋๋ ๊ตฌ์ ์ด ๊ฒ์๋ ๋, ๋น์ฌ์ ํ์ดํ๋ผ์ธ์ ๊ฐ์ฅ ๊ถ์ ์๋ ๋ต๋ณ์ ์ ์ํ๋ ๋์์ ๋ถ์ผ์น ๋ฐ ์ถ์ฒ ์ธ์ฉ์ ๋ช ํํ๊ฒ ๋๋ฌ๋ด์ด ์ฌ์ฉ์๊ฐ ์ ๋ณด์ ์ ๊ฐํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ํฉ๋๋ค. ๋น์ฌ๋ ๋ํ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ๊ฐ ์๋ชป๋ ํด๊ฒฐ์ ํ์ํ ์ ์๋ ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ๊ตฌ์ถํ๋ฉฐ, ์ด๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ฒ์ ์์๋ฅผ ํฅ์์ํต๋๋ค.
MicrocosmWorks๋ ๋ฌธ์ ๊ตฌ์กฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ ๋ต์ ์ ์ฉํ๋ ์ฝํ ์ธ ์ธ์ง ์ฒญํน์ ์ฌ์ฉํฉ๋๋คโ์ฐ๋ฌธ์๋ ์๋ฏธ๋ก ์ ๋ฌธ๋จ ๋ถํ , ํค๋ ์ปจํ ์คํธ๊ฐ ๋ณด์กด๋ ํ ์ด๋ธ์๋ ํ ์์ค ๋๋ ์น์ ์์ค ์ฒญํน, ์ํฌํธ ๋ฌธ(import statements)์ด ์ฒจ๋ถ๋ ์ฝ๋์๋ ํจ์ ์์ค ์ฒญํน์ ์ ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ ์ฒญํฌ์ ๋ฌธ์ ์ ๋ชฉ, ์น์ ๊ณ์ธต, ์ฝํ ์ธ ์ ํ์ ํฌํจํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ์ฌ ๊ฒ์ ๋จ๊ณ์์ ์ ํ๋ณ ์ค์ฝ์ด๋ง์ ์ ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฐ๋ฆฌ ๊ณ ๊ฐ ํ๋ก์ ํธ์ ๊ฒ์ ๊ด๋ จ์ฑ ๋ฒค์น๋งํฌ์์ ๋จ์ํ ๊ณ ์ ํฌ๊ธฐ ์ฒญํน๋ณด๋ค 25-40% ๋ ์ฐ์ํ ์ฑ๋ฅ์ ์ผ๊ด๋๊ฒ ๋ณด์ฌ์ค๋๋ค.
MicrocosmWorks๋ ์ธ ๊ฐ์ง ์ฐจ์์์ RAG ํ์ดํ๋ผ์ธ์ ํ ์คํธํ๋ ํ๊ฐ ํ๋ค์ค๋ฅผ ๊ตฌ์ถํฉ๋๋ค: ๊ฒ์ ๊ด๋ จ์ฑ(์ฌ๋ฐ๋ฅธ ์ฒญํฌ๊ฐ ๋ฐ๊ฒฌ๋๋๊ฐ), ๋ต๋ณ ์ถฉ์ค๋(์์ฑ๋ ๋ต๋ณ์ด ๊ฒ์๋ ๋ด์ฉ์ ์ค์ ๋ก ๋ฐ์ํ๋๊ฐ), ๊ทธ๋ฆฌ๊ณ ๋ต๋ณ ์์ ์ฑ(์ ์ฒด ์ง๋ฌธ์ ๋ค๋ฃจ๋๊ฐ)์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ์ ํจ๊ป ์๋ ค์ง ๋ต๋ณ ์ฟผ๋ฆฌ, ์ ๋์ ์์ง ์ผ์ด์ค, ๊ทธ๋ฆฌ๊ณ ๋ค์ค ๋ฌธ์ ํฉ์ฑ์ ์๊ตฌํ๋ ์ง๋ฌธ์ ํฌํจํ๋ ๊ณจ๋ ํ ์คํธ ์ธํธ๋ฅผ ์์ฑํฉ๋๋ค. ์ด ํ๊ฐ๋ CI/CD์์ ์๋์ผ๋ก ์คํ๋๋ฏ๋ก, ๋ชจ๋ ํ์ดํ๋ผ์ธ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐฐํฌ ์ ์ ๊ธฐ์ค ํ์ง ์งํ์ ๋ํด ๋ฒค์น๋งํน๋ฉ๋๋ค.
MicrocosmWorks๋ ๊ณ ๊ฐ์ ๊ท๋ชจ, ์ฟผ๋ฆฌ ํจํด, ์ด์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ ํฉ๋๋ค. ๊ด๋ฆฌ ์ฉ์ด์ฑ์ ์ํ Pinecone, ํ์ด๋ธ๋ฆฌ๋ ํค์๋-๋ฒกํฐ ๊ฒ์์ ์ํ Weaviate, ์ด๋ฏธ PostgreSQL์ ํฌ์ํ ํ์ ์ํ pgvector, ๊ทธ๋ฆฌ๊ณ ๊ณ ์ฑ๋ฅ ์์ฒด ํธ์คํ ๋ฐฐํฌ๋ฅผ ์ํ Qdrant๊ฐ ์์ต๋๋ค. 1์ฒ๋ง ๊ฐ ๋ฏธ๋ง์ vectors ๊ท๋ชจ์์๋ ๋๋ถ๋ถ์ ์ต์ ์ด 100ms ๋ฏธ๋ง์ ์ง์ฐ ์๊ฐ์ ์ ๊ณตํ์ง๋ง, ์์ต ๊ฐ์ vectors ๊ท๋ชจ์์๋ index type, quantization, sharding strategy๊ฐ ๋งค์ฐ ์ค์ํด์ง๋ฉด์ ๊ทธ ์ฐจ์ด๊ฐ ํฌ๊ฒ ๋ํ๋ฉ๋๋ค. ์ ํฌ๋ architecture design phase์์ ๊ณ ๊ฐ์ ์ค์ embedding dimensions์ query patterns๋ฅผ ์ต์ข ํ๋ณด ์ต์ ๋ค๊ณผ ๋น๊ตํ์ฌ ๋ฒค์น๋งํนํฉ๋๋ค.
MicrocosmWorks๋ ์๋ณธ ๋ฌธ์ ์ ์ฅ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์งํ์ฌ ์์ ๋ ์น์ ๋ง ์ฌ์ฒญํฌ ๋ฐ ์ฌ์๋ฒ ๋ฉํ๊ณ ์ ์ฒด ์ฌ์ธ๋ฑ์ฑ ์์ด ๋ฒกํฐ ์คํ ์ด๋ฅผ ์ ๋ฐ์ดํธํ๋ ์ฆ๋ถ ์์ง ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํฉ๋๋ค. ์ ํฌ๋ ์น์ ์์ค์์ ์ฝํ ์ธ ๋ณ๊ฒฝ์ ๊ฐ์งํ๋ ๋ฌธ์ ํ๊ฑฐํ๋ฆฐํ ์ ๊ตฌํํ์ฌ, ๋จ์ผ ๋จ๋ฝ ํธ์ง์ด ์ ์ฒด 200ํ์ด์ง ๋ฌธ์์ ์ฌ์ฒ๋ฆฌ๋ฅผ ์ ๋ฐํ์ง ์๋๋ก ํฉ๋๋ค. ์ค์๊ฐ ์ต์ ์ฑ ์๊ตฌ ์ฌํญ์ด ์๋ ๊ณ ๊ฐ์ ์ํด์๋ ์ต๊ทผ ์์ ๋ ๋ฌธ์๋ฅผ ์๋ณธ ์์คํ ์ ์ง์ ์ง์ํ๊ณ ํด๋น ๊ฒฐ๊ณผ๋ฅผ ๋ฒกํฐ ๊ฒ์ ๊ฒฐ๊ณผ์ ๋ณํฉํ๋ ์ค์๊ฐ ๊ฒ์ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํฉ๋๋ค.
์ฐ๋ฆฌ์ ์ํคํ ํธ๋ค์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์ด ํจํด์ ์ฌ์ฉํ์ฌ ์์คํ ์ ์ค๊ณํ๊ณ ๊ตฌ์ถํ๋ ๋ฐ ๋์์ ๋๋ฆด ์ ์์ต๋๋ค.
์ฐ๋ฝํ๊ธฐRAG๋ ์ง์ ๊ธฐ๋ฐ์์ ๊ฒ์๋ ์ปจํ ์คํธ๋ก LLM ์์ฑ์ ๋ณด๊ฐํฉ๋๋ค. ์ฟผ๋ฆฌ ์์ ์ ์์คํ ์ ์ฌ์ฉ์ ์ง๋ฌธ์ ์๋ฒ ๋ฉ์ผ๋ก ๋ณํํ๊ณ , ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์๋ฏธ์ ์ผ๋ก ์ ์ฌํ ๋ฌธ์ ์ฒญํฌ๋ฅผ ๊ฒ์ํ๋ฉฐ, ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ์ฒญํฌ๋ฅผ LLM ํ๋กฌํํธ์ ์ปจํ ์คํธ๋ก ํฌํจํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ธ์ ์๋ต์ ์ค์ ๋ฌธ์์ ๊ธฐ๋ฐ์ ๋๊ฒ ๋๊ณ , ์ถ์ฒ ์ธ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ฌํ์ต ์์ด ์ง์ ๊ธฐ๋ฐ์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค. ํ๋ก๋์ RAG ํ์ดํ๋ผ์ธ์ ์์ง(ํ์ฑ, ์ฒญํน, ์๋ฒ ๋ฉ), ๊ฒ์(๋ฒกํฐ ๊ฒ์, ์ฌ์์ํ, ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์), ๊ทธ๋ฆฌ๊ณ ์์ฑ(ํ๋กฌํํธ ๊ตฌ์ฑ, ์คํธ๋ฆฌ๋ฐ, ๊ฐ๋๋ ์ผ)์ ์ฒ๋ฆฌํฉ๋๋ค.
์ด ์ํคํ ์ฒ๋ ๋ ๊ฐ์ง ํ์ดํ๋ผ์ธ์ ๊ฐ์ง๋๋ค. ์์ง ํ์ดํ๋ผ์ธ์ ํ์ฑ(PDF, DOCX, HTML ์ถ์ถ), ์ฒญํน(์๋ฏธ๋ก ์ ๋๋ ์ค๋ณต์ ํฌํจํ ๊ณ ์ ํฌ๊ธฐ), ์๋ฒ ๋ฉ(์๋ฒ ๋ฉ ๋ชจ๋ธ์ ํตํด), ๊ทธ๋ฆฌ๊ณ ์ ์ฅ(๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค + ๋ฌธ์ ์ ์ฅ์)์ ํตํด ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ฟผ๋ฆฌ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉ์ ์ง๋ฌธ์ ๋ฐ์ ์ฟผ๋ฆฌ ์๋ฒ ๋ฉ์ ์์ฑํ๊ณ , ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋ณด ์ฒญํฌ๋ฅผ ๊ฒ์ํ๋ฉฐ, ๊ด๋ จ์ฑ์ ์ํด ์ฌ์์ํํ๊ณ , ์์ ์ฒญํฌ๋ฅผ ์ปจํ ์คํธ๋ก ํฌํจํ๋ ํ๋กฌํํธ๋ฅผ ๊ตฌ์ฑํ๋ฉฐ, ์ถ์ฒ ์ธ์ฉ๊ณผ ํจ๊ป LLM ์๋ต์ ์คํธ๋ฆฌ๋ฐํฉ๋๋ค.
text-embedding-3-large, Cohere embed-v4 ๋๋ ์คํ ์์ค ๋์(BGE, E5)๊ณผ ๊ฐ์ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค. ์์ง์ ์ํ ๋ฐฐ์น ์ฒ๋ฆฌ, ๊ฒ์์ ์ํ ๋จ์ผ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ.| ๋ ์ด์ด | ๊ธฐ์ |
|---|---|
| ๋ฌธ์ ํ์ฑ | Unstructured, Apache Tika, LlamaParse, Docling, custom OCR (Tesseract, AWS Textract) |
| ์๋ฒ ๋ฉ | OpenAI text-embedding-3-large, Cohere embed-v4, BGE-M3, E5-large-v2 |
| ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค | Milvus, Pinecone, Qdrant, Weaviate, pgvector (์๊ท๋ชจ์ฉ) |
| ํค์๋ ๊ฒ์ | Elasticsearch, OpenSearch, PostgreSQL full-text search |
| ์ฌ์์ํ | Cohere Rerank, BGE Reranker, ColBERT v2, FlashRank |
| LLM | Claude (AI Gateway ๊ฒฝ์ ), GPT-4, Gemini โ AI SDK๋ฅผ ํตํ ๊ณต๊ธ์ ์ฒด ๋ ๋ฆฝ์ |
| ์ค์ผ์คํธ๋ ์ด์ | LangChain, LlamaIndex ๋๋ ์ฌ์ฉ์ ์ง์ ํ์ดํ๋ผ์ธ (ํ๋ก๋์ ํ๊ฒฝ์์ MW ์ ํธ) |
| ์ฌ์ฉ ์์ | ํผํด์ผ ํ ์์ |
|---|---|
| ์ฌ์ฉ์๊ฐ ์กฐ์ง์ ํน์ ๋ฌธ์์ ๊ธฐ๋ฐํ ๋ต๋ณ์ ํ์๋ก ํ ๋ | ์ง์ ๊ธฐ๋ฐ์ด 50ํ์ด์ง ๋ฏธ๋ง์ผ ๋ โ ์์คํ ํ๋กฌํํธ์ ๋ฐ๋ก ๋ฃ์ผ์ธ์. |
| ๋ฌธ์๊ฐ ์์ฃผ ์ ๋ฐ์ดํธ๋๊ณ AI๊ฐ ์ต์ ์ ๋ณด๋ฅผ ํ์๋ก ํ ๋ | ๋ชจ๋ธ์ด ์๋ก์ด ์ฌ์ค์ ์ ๊ทผํ๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ด ๊ธฐ์ /ํ๋์ ํ์ตํด์ผ ํ ๋ (๋์ ๋ฏธ์ธ ์กฐ์ ) |
| ์ถ์ฒ ์ธ์ฉ ๋ฐ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ด ์๊ตฌ ์ฌํญ์ผ ๋ (๋ฒ๋ฅ , ๊ท์ ์ค์, ์๋ฃ) | ์ง๋ฌธ์ด ์์ ํ ๋ํํ์ด๋ฉฐ ์ฌ์ค์ ๊ทผ๊ฑฐ๊ฐ ํ์ํ์ง ์์ ๋ |
| ์ฌ๋ฌ ์ฌ์ฉ์ ๊ทธ๋ฃน์ด ๋ค๋ฅธ ๋ฌธ์ ํ์ ์งํฉ์ ์ ๊ทผํด์ผ ํ ๋ (๊ถํ ํํฐ๋ง RAG) | ์ฌ์ค์ ์ ํ์ฑ์ด ๋ชฉํ๊ฐ ์๋ ์ฐฝ์์ ๊ธ์ฐ๊ธฐ ๋๊ตฌ๋ฅผ ๊ตฌ์ถํ ๋ |
MW๋ ๊ฒ์ ํ์ง์ ์ค์ฌ์ผ๋ก RAG ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํฉ๋๋ค. LLM ํ๋กฌํํธ๋ฅผ ๊ฑด๋๋ฆฌ๊ธฐ ์ ์ ๊ฒ์ ์ ๋ฐ๋๋ฅผ ๋ฒค์น๋งํนํฉ๋๋ค. ํ๋ฒํ ๊ฒ์๊ณผ ํ๋ฅญํ LLM์ ๊ฐ์ง RAG ์์คํ ์ ์์ ๊ฐ ์๋ ์๋ฆฌ๋ฅผ ๋ด๋ ์๋ชป๋ ๋ต๋ณ์ ์์ฑํฉ๋๋ค. ์ ํฌ์ ํ์ค ํ์ดํ๋ผ์ธ์๋ ๊ฒ์ ํ๊ฐ ํ๋ค์ค๊ฐ ํฌํจ๋ฉ๋๋ค: ์๋ ค์ง ๊ด๋ จ ๋ฌธ์๊ฐ ์๋ ํ ์คํธ ์ฟผ๋ฆฌ ์ธํธ์ด๋ฉฐ, MRR@5 ๋ฐ NDCG@10์ผ๋ก ์ธก์ ๋ฉ๋๋ค. ์์ฑ ์ต์ ํ ์ ์ ์ฒญํน, ์๋ฒ ๋ฉ ๋ชจ๋ธ ๋ฐ ์ฌ์์ํ๋ฅผ ๋ฐ๋ณตํ์ฌ ๊ฒ์ ๋ฉํธ๋ฆญ์ด ๋ชฉํ ์๊ณ๊ฐ์ ๋๋ฌํ๋๋ก ํฉ๋๋ค. ์ ํฌ๋ ๋ฒ๋ฅ ๋ฌธ์ ๊ฒํ , ์๋ฃ ์ง์ ๊ธฐ๋ฐ, ๋ค๊ตญ์ด ๊ณ ๊ฐ ์ง์ ๋ถ์ผ์์ RAG ์์คํ ์ ๊ตฌ์ถํด์์ผ๋ฉฐ, ๊ณตํต์ ์ธ ๊ตํ์ ๊ฒ์ ํ์ง์ด ๋ต๋ณ ํ์ง์ 80%๋ฅผ ์ฐจ์งํ๋ค๋ ๊ฒ์ ๋๋ค.
1๋ง ๊ฐ์ ๋ฒกํฐ์์๋ ์๋ฒ ๋ฉ ๊ฒ์์ด ์ฝ์ต๋๋ค. P99 ์ง์ฐ ์๊ฐ์ด 100ms ๋ฏธ๋ง์ธ 1์ต ๊ฐ์ ๋ฒกํฐ์์๋ ์ธํ๋ผ ๋ฌธ์ ๊ฐ ๋๋ฉฐ, ์ด ํจํด์ด ๋ฐ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.