๐Ÿ“บ ์˜์ƒ ์š”์•ฝ ์•„์นด์ด๋ธŒ
โ† ๋ชฉ๋ก

Beyond RAG: Build a Relational Context Engine from Scratch โ€” Peter Werry, Unblocked

AI Engineer ยท 2026-10-11 19:00 ยท 38:19

ํ•œ ์ค„ ํ•ต์‹ฌ

์ด ์˜์ƒ์€ RAG๋ฅผ ๊ฒ€์ƒ‰์˜ ์ ˆ๋ฐ˜์œผ๋กœ ๋ณด๊ณ , ๋ฌธ์„œ์˜ ๊ตฌ์กฐยท์‹ ์›ยท๊ฒ€์ฆยท์žฌ์‹œ๋„๋ฅผ ๊ฒฐํ•ฉํ•œ ๊ด€๊ณ„ํ˜• ์ปจํ…์ŠคํŠธ ์—”์ง„์œผ๋กœ ์ž์—ฐ์–ด๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ์™€ ์ฑ„ํŒ… ์—์ด์ „ํŠธ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค€๋‹ค.

์‹œ๊ฐ„๋ณ„ ์š”์•ฝ

  1. 0:00
    Unblocked, ๊ทธ๋ฆฌ๊ณ  ๊ฒ€์ƒ‰์˜ ์ ˆ๋ฐ˜์— ๋ถˆ๊ณผํ•œ RAG Unblocked๋Š” ์‚ฌ๋žŒ๊ณผ ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์กฐ์ง ์ปจํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปจํ…์ŠคํŠธ ์—”์ง„์„ ๋งŒ๋“ค๋ฉฐ, ์ด ์›Œํฌ์ˆ์˜ ๋ชฉํ‘œ๋Š” ๊ธฐ์กด RAG๊ฐ€ ์ž˜ํ•˜๋Š” ์˜๋ฏธ ๊ฒ€์ƒ‰์„ ๋„˜์–ด ์ž์—ฐ์–ด๋ฅผ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋กœ ๋ฐ”๊พธ๋Š” ๋‚˜๋จธ์ง€ ์ ˆ๋ฐ˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  2. 2:58
    ํฉ์–ด์ง„ ์ปจํ…์ŠคํŠธ์™€ ๊ทธ ์•ˆ์˜ ๊ตฌ์กฐ PR, ์ด์Šˆ, ๋ฌธ์„œ, Slack ๊ฐ™์€ ๊ณณ์— ํฉ์–ด์ง„ ์ •๋ณด๋Š” ์˜๋ฏธ์ ์œผ๋กœ๋„ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ž‘์„ฑ์ž, ๋‚ ์งœ, ์ƒํƒœ, ๊ด€๊ณ„ ๊ฐ™์€ ๊ตฌ์กฐ๋„ ํ•จ๊ป˜ ๊ฐ€์ง„๋‹ค. ๋‹จ์ˆœ ๋ฒกํ„ฐ ์ €์žฅ์†Œ์— ๋‹ค ๋„ฃ๋Š” ๋ฐฉ์‹์€ ์ด๋Ÿฐ ๊ตฌ์กฐ์  ์งˆ๋ฌธ์— ์•ฝํ•˜๋ฏ€๋กœ, ๋ฌธ๋งฅ ์—”์ง„์€ ์˜๋ฏธ ๊ด€๊ณ„์™€ ๊ตฌ์กฐ ๊ด€๊ณ„๋ฅผ ํ•จ๊ป˜ ๋‹ค๋ค„์•ผ ํ•œ๋‹ค.
  3. 5:15
    "์ง€๋‚œ์ฃผ์— ๋‚ด๊ฐ€ ๋จธ์ง€ํ•œ PR"์ด ์˜๋ฏธ ๊ฒ€์ƒ‰์—์„œ ํ‹€๋ฆฌ๋Š” ์ด์œ  PRs I merged last week ๊ฐ™์€ ์งˆ๋ฌธ์€ ๋น„์Šทํ•œ ๋ฌธ์žฅ์„ ์ฐพ๋Š” ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋จธ์ง€ ์—ฌ๋ถ€์™€ ์‹œ์  ๊ฐ™์€ ๊ด€๊ณ„๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ๋‹ค. ์˜๋ฏธ์ ์œผ๋กœ ๋น„์Šทํ•˜์ง€๋งŒ 3๋…„ ์ „์— ๋จธ์ง€๋œ PR์„ ๊ฐ€์ ธ์˜ค๋ฉด ์˜ค๋‹ต์ด ๋˜๋ฏ€๋กœ, ์ด๋Ÿฐ ์งˆ๋ฌธ์—๋Š” ๊ตฌ์กฐํ™”๋œ ์ฟผ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  4. 6:39
    ๋ชจ๋ธ์— ํ•„์š”ํ•œ ๋„ค ๊ฐ€์ง€: ์Šคํ‚ค๋งˆ, ์‹ ์›, ๊ฒ€์ฆ, ์žฌ์‹œ๋„ ์ •ํ™•ํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋ชจ๋ธ์ด ์Šคํ‚ค๋งˆ๋ฅผ ์•Œ๊ณ , Peter์™€ GitHub ๋กœ๊ทธ์ธ ๊ฐ™์€ ์‹ ์› ๋งคํ•‘์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ์œ„ํ—˜ํ•œ ์ถœ๋ ฅ์€ ๊ฒ€์ฆ์œผ๋กœ ์ฐจ๋‹จํ•˜๋ฉฐ, ์‹คํŒจ ์‹œ ์Šค์Šค๋กœ ๋‹ค์‹œ ์‹œ๋„ํ•ด์•ผ ํ•œ๋‹ค. ์ „์ฒด ํ๋ฆ„์€ ์Šคํ… ์—”์ง„์—์„œ ์‹œ์ž‘ํ•ด ๋‹จ๊ณ„์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ๋ถ™์—ฌ ์‹ค์ œ ๋™์ž‘ํ•˜๋Š” ์‹œ์Šคํ…œ์œผ๋กœ ์™„์„ฑ๋œ๋‹ค.
  5. 9:16
    ์Šคํ…๋œ ์—”์ง„๊ณผ ์ฑ„ํŒ… ํƒญ ์ดˆ๊ธฐ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์•„์ง ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์ฟผ๋ฆฌ ์ž…๋ ฅ์ฐฝ๊ณผ, ๋ณ„๋„๋กœ ๊ตฌํ˜„๋œ ์ฑ„ํŒ… ํƒญ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ดํ›„์˜ ์ž‘์—…์€ ์ด ์ง„์ž…์ ์„ ์ค‘์‹ฌ์œผ๋กœ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์”ฉ ๋ถ™์—ฌ ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค.
  6. 10:11
    300๊ฐœ ๋ฌธ์„œ ์ƒ˜ํ”Œ๋ง์œผ๋กœ ์Šคํ‚ค๋งˆ ๋ฐœ๊ฒฌํ•˜๊ธฐ ์‚ฌ์ „ ์Šคํ‚ค๋งˆ๊ฐ€ ์—†์„ ๋•Œ๋Š” ๋ฌธ์„œ๋ฅผ ์ƒ˜ํ”Œ๋งํ•ด ํ•„๋“œ์™€ ํƒ€์ž…์„ ์ถ”๋ก ํ•˜๊ณ , ๋ˆ„๋ฝ๊ฐ’์€ ๊ฑด๋„ˆ๋›ฐ๋ฉฐ enum๋„ ๊ทœ์น™ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฝ‘์•„๋‚ธ๋‹ค. ์ด๋Ÿฐ ์ถ”์ถœ์€ LLM๋ณด๋‹ค ์ ˆ์ฐจ์  ์ฝ”๋“œ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ํŽธ์ด ๋” ๊ฒฐ์ •์ ์ด๊ณ , ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ๋œ ์Šคํ‚ค๋งˆ์™€ ์ธ๋ฑ์Šค๋Š” ์ดํ›„ ์ฟผ๋ฆฌ ํ•ฉ์„ฑ์— ์‚ฌ์šฉ๋œ๋‹ค.
  7. 12:28
    ์‹ ์› ํ•ด์„: Peter์™€ GitHub ๋กœ๊ทธ์ธ ์ž์—ฐ์–ด์˜ ์‚ฌ๋žŒ ์ด๋ฆ„์ด ์‹ค์ œ ์ €์žฅ์†Œ์˜ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ด๋ฆ„์„ ๊ทธ๋Œ€๋กœ ๋งค์นญํ•˜๋ฉด ์•„๋ฌด ๊ฒƒ๋„ ์ฐพ์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด Levenshtein ๊ฑฐ๋ฆฌ ๊ฐ™์€ ๋‹จ์ˆœํ•œ ํผ์ง€ ๋งค์นญ์ด๋‚˜ ๋™์  ๋งคํ•‘์„ ํ†ตํ•ด ์ž์—ฐ์–ด ์ธ๋ช…์„ ๋‚ด๋ถ€ ์‹๋ณ„์ž๋กœ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค.
  8. 14:36
    ์ฟผ๋ฆฌ ๊ณ„ํš: ๊ฐ•์ œ ๋„๊ตฌ ํ˜ธ์ถœ๊ณผ ํ˜„์žฌ ๋‚ ์งœ ์Šคํ‚ค๋งˆ์™€ ๋„๊ตฌ๋ฅผ ๋„˜๊ฒจ์ฃผ๊ณ  ์ด๋ฆ„ ์ถ”์ถœ์šฉ ๋„๊ตฌ ํ˜ธ์ถœ์„ ๊ฐ•์ œํ•˜๋ฉด ๋ชจ๋ธ์ด ์ฟผ๋ฆฌ ๊ณ„ํš์„ ์ƒ์„ฑํ•˜๊ณ  ์‹ค์ œ ์‹คํ–‰ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ์‹œ๊ฐ„ ์กฐ๊ฑด์ด ๋“ค์–ด๊ฐ„ ์งˆ๋ฌธ์€ ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ํ”„๋กฌํ”„ํŠธ์— ๋„ฃ์–ด ์ฃผ์–ด์•ผ temporal query๋ฅผ ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  9. 16:27
    ๊ฒ€์ฆ: ํ—ˆ์šฉ ๋ชฉ๋ก, ์ˆจ๊น€ ํ•„๋“œ, ํ…Œ๋„ŒํŠธ ๋ถ„๋ฆฌ ์ฟผ๋ฆฌ ์ถœ๋ ฅ์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ํ—ˆ์šฉ๋œ ์—ฐ์‚ฐ์ž์™€ ํ•„๋“œ๋งŒ ํ†ต๊ณผ์‹œํ‚ค๋Š” allow list ๊ฒ€์ฆ์ด ํ•„์š”ํ•˜๋‹ค. ๋˜ํ•œ ID๋‚˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฐ™์€ ์ˆจ๊น€ ํ•„๋“œ๋Š” LLM์— ๋…ธ์ถœํ•˜์ง€ ์•Š๊ณ , ๋ฉ€ํ‹ฐ ํ…Œ๋„ŒํŠธ ํ™˜๊ฒฝ์—์„œ๋Š” ํ…Œ๋„ŒํŠธ ์‹๋ณ„์ž๋ฅผ ๋‚ด๋ถ€์—์„œ ๋‹ค์‹œ ์ฃผ์ž…ํ•ด ๊ฒฉ๋ฆฌ๋ฅผ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค.
  10. 19:35
    ์žฌ์‹œ๋„ ๋ฃจํ”„์™€ ์ •ํ™•ํ•œ ์ผ์น˜ ์‹คํŒจ ์‹œ์˜ ์ „์ฒด ํ…์ŠคํŠธ ๊ฒ€์ƒ‰ ๊ฒ€์ฆ ์‹คํŒจ๋‚˜ ์‹คํ–‰ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด ์—๋Ÿฌ๋ฅผ ๋‹ค์‹œ ๋ชจ๋ธ์— ๋„ฃ์–ด ์ตœ๋Œ€ ํšŸ์ˆ˜๊นŒ์ง€ ์žฌ์‹œ๋„ํ•˜๋ฉฐ ์ฟผ๋ฆฌ๋ฅผ ์Šค์Šค๋กœ ์ˆ˜์ •ํ•˜๊ฒŒ ํ•œ๋‹ค. ์—ฌ์ „ํžˆ ์ •ํ™•ํ•œ ์ผ์น˜๋งŒ์œผ๋กœ ๋ถ€์กฑํ•  ๋•Œ๋Š” full text search๋ฅผ ์ถ”๊ฐ€ํ•ด ์ €์ˆ˜์ค€ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰๊ณผ ๊ตฌ์กฐ ํ•„ํ„ฐ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค.
  11. 22:29
    ๊ฐ™์€ ์—”์ง„ ์œ„์—์„œ ์ถ”๋ก ํ•˜๋Š” ์ฑ„ํŒ… ์—์ด์ „ํŠธ ์ฑ„ํŒ… ํƒญ์˜ ์—์ด์ „ํŠธ๋Š” ์ฟผ๋ฆฌ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ์™€ ๊ฐ™์€ ๋ฐฑ์—”๋“œ ์—”์ง„์„ ์“ฐ์ง€๋งŒ, ๊ฐ€์ ธ์˜จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ถ”๊ฐ€ ์ถ”๋ก ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹จ์ˆœ ์กฐํšŒ๋ฅผ ๋„˜์–ด์„œ "์ง€๋‚œ์ฃผ์— ์ธ์ฆ ๊ด€๋ จ ์ž‘์—…์ด ์žˆ์—ˆ๋Š”๊ฐ€" ๊ฐ™์€ ๋ณตํ•ฉ ์งˆ๋ฌธ์—๋„ ๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค.
  12. 23:35
    ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์•„์ด๋””์–ด ์š”์•ฝ ์ „ํ†ต์  RAG๊ฐ€ ์ž˜ ๋ชป ํ‘ธ๋Š” ๊ตฌ์กฐ์ ยท์‹œ๊ณ„์—ด์  ์งˆ๋ฌธ์—๋Š” ์Šคํ‚ค๋งˆ ์ธ์‹, ๋™์  ์Šคํ‚ค๋งˆ ๋ฐœ๊ฒฌ, ์‹ ์› ํ•ด์„, ๊ฒ€์ฆ, ์˜ค๋ฅ˜ ์žฌ์‹œ๋„๊ฐ€ ๊ฒฐํ•ฉ๋œ ์—”์ง„์ด ํ•„์š”ํ•˜๋‹ค. ์ด ์—”์ง„์€ ํ•„ํ„ฐ๋ง, ์ง‘๊ณ„, ์‹œ๊ฐ„ ๋ฒ”์œ„ ๊ฒ€์ƒ‰, full text search, ์ž๊ธฐ ์ˆ˜์ •๊นŒ์ง€ ๊ฐ–์ถ˜ ์ฑ„ํŒ… ์—์ด์ „ํŠธ์˜ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค.
  13. 25:39
    Q&A: ์Šคํ‚ค๋งˆ ํ™•์žฅ, ์ˆ˜์ง‘, Slack, MCP, ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ ์งˆ์˜์‘๋‹ต์—์„œ๋Š” ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์†Œ์Šค์™€ ํฐ ์Šคํ‚ค๋งˆ๋ฅผ ์–ด๋–ป๊ฒŒ ํ™•์žฅํ• ์ง€, ์ง€์†์  ์ˆ˜์ง‘๊ณผ ๋น„์šฉ์„ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃฐ์ง€, Slack์ด ์™œ ์งˆ๋ฌธ๊ณผ ์˜์‚ฌ๊ฒฐ์ •์— ์ค‘์š”ํ• ์ง€, MCP๋กœ ์ด๋Ÿฐ ๊ตฌ์กฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋…ธ์ถœํ• ์ง€, ์˜๋ฏธ ๊ฒ€์ƒ‰๊ณผ lexical search๋ฅผ ๊ฒฐํ•ฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰์„ ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€๊ฐ€ ๋…ผ์˜๋œ๋‹ค.

์‹ค๋ฌด ์ธ์‚ฌ์ดํŠธ

  • ๊ตฌ์กฐ์  ์งˆ๋ฌธ์„ ๋‹ค๋ฃจ๋Š” ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ์€ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰๋งŒ์œผ๋กœ ๋๋‚˜์ง€ ์•Š๊ณ , ์Šคํ‚ค๋งˆ ์ถ”๋ก ยท์‹ ์› ๋งคํ•‘ยท๊ฒ€์ฆยท์žฌ์‹œ๋„๊นŒ์ง€ ํ•œ ํ๋ฆ„์œผ๋กœ ์„ค๊ณ„ํ•ด์•ผ ์‹ค๋ฌด์—์„œ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ์•ˆ์ „์„ฑ์€ LLM์—๊ฒŒ ๋งก๊ธฐ๊ธฐ๋ณด๋‹ค allow list, ์ˆจ๊น€ ํ•„๋“œ ์ œ๊ฑฐ, ํ…Œ๋„ŒํŠธ ์žฌ์ฃผ์ž…์ฒ˜๋Ÿผ ์ ˆ์ฐจ์  ์ฝ”๋“œ๋กœ ๊ฐ•ํ•˜๊ฒŒ ํ†ต์ œํ•˜๋Š” ํŽธ์ด ๋‚ซ๋‹ค.
  • ์˜๋ฏธ ๊ฒ€์ƒ‰์€ ๋‹จ๋… ํ•ด๋ฒ•์ด ์•„๋‹ˆ๋ผ ์‹œ์ž‘์ ์œผ๋กœ ์“ฐ๊ณ , ์ดํ›„ ๊ตฌ์กฐํ™” ์ฟผ๋ฆฌ์™€ ๋„๊ตฌ ํ˜ธ์ถœ๋กœ ์ขํ˜€ ๊ฐ€๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹์ด ๊ฐ€์žฅ ์‹ค์šฉ์ ์ด๋‹ค.