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

RLM: Recursive Language Models for Large Codebases - Shashi, Superagentic AI

AI Engineer ยท 2026-07-13 08:00 ยท 17:27

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

๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ ์„ฑ๋Šฅ์ด ๋ฌด๋„ˆ์ง€๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋ชจ๋ธ ์•ˆ์— ๋ชจ๋“  ์ปจํ…์ŠคํŠธ๋ฅผ ๋„ฃ๊ธฐ๋ณด๋‹ค, RLM์ฒ˜๋Ÿผ ๋ณ„๋„ ์‹คํ–‰ ํ™˜๊ฒฝ์ด ์ปจํ…์ŠคํŠธ๋ฅผ ์ˆ˜์ง‘ยท์š”์•ฝยท์žฌ์ฃผ์ž…ํ•˜๋Š” ํ•˜๋„ค์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค.

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

  1. 0:00
    ์ด ์˜์ƒ์€ RLM(Recursive Language Models)์„ ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ๋ฉฐ, ์ž‘์€ ์ €์žฅ์†Œ์—์„œ๋Š” ์ž˜ ์ž‘๋™ํ•˜๋Š” ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ํฐ ๋ชจ๋…ธ๋ ˆํฌ์—์„œ๋Š” ์ปจํ…์ŠคํŠธ ๋ฌธ์ œ๋กœ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค๋Š” ๋ฌธ์ œ์˜์‹์—์„œ ์ถœ๋ฐœํ•œ๋‹ค. ๊ฒ€์ƒ‰, ์˜๋ฏธ ๊ฒ€์ƒ‰, ์••์ถ• ์š”์•ฝ, ๋ฉ”๋ชจ๋ฆฌ ๊ฐ™์€ ๊ธฐ์กด ์ ‘๊ทผ์„ ์†Œ๊ฐœํ•œ ๋’ค, ์ด ๋ฌธ์ œ๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ํ‘ธ๋Š” ๋Œ€์•ˆ์œผ๋กœ RLM์„ ์ œ์‹œํ•œ๋‹ค.
  2. 2:01
    RLM์˜ ํ•ต์‹ฌ์€ ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ๋ฅผ ๋ชจ๋ธ ๋ฐ–์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์‹คํ–‰ ํ™˜๊ฒฝ์œผ๋กœ ์™ธ๋ถ€ํ™”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ €์žฅ์†Œ ์ „์ฒด๋ฅผ ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ๋‹ค๋ฃจ๊ฒŒ ํ•˜๊ณ , ๋ชจ๋ธ์ด ์ฝ”๋“œ๋กœ ํ•„์š”ํ•œ ์Šฌ๋ผ์ด์Šค๋ฅผ ๊ฒ€์‚ฌยท์ถ”์ถœยท๊ณ„์‚ฐํ•ด ๋ฉ”์ธ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์— ๋„ฃ์„ ๊ฐ’์„ ์ง์ ‘ ๋งŒ๋“ค์–ด๋‚ด๊ฒŒ ํ•˜๋ฉด, ๋‹จ์ˆœํ•œ ์ž…๋ ฅ ํ™•์žฅ๋ณด๋‹ค ๋” ์•ˆ์ •์ ์ธ ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.
  3. 4:00
    ์ด ๊ตฌ์กฐ๋Š” ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ฒ˜์Œ ๋งก์€ ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด์˜ ์ž‘์—… ๋ฐฉ์‹๊ณผ ๋น„์Šทํ•˜๋‹ค. ์ „์ฒด๋ฅผ ํ•œ ์ค„์”ฉ ์ฝ๊ธฐ๋ณด๋‹ค ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ณ , ์˜์กด์„ฑ๊ณผ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜๊ณ , ๋ง‰ํžˆ๋ฉด ๋‹ค๋ฅธ ์ „๋ฌธ๊ฐ€์—๊ฒŒ ์งˆ๋ฌธํ•ด ๋…ธํŠธ๋ฅผ ์ •๋ฆฌํ•˜๋“ฏ, RLM๋„ ์ฝ”๋“œยท๋ฌธ์„œยท์„ค์ •ํŒŒ์ผ์„ ๋Œ€์ƒ์œผ๋กœ ํƒ์ƒ‰๊ณผ ์งˆ์˜๋ฅผ ๋ฐ˜๋ณตํ•ด ์ตœ์ข…์ ์ธ ์ •๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ ๋‹ค.
  4. 6:01
    RLM์€ ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์•„๋‹ˆ๋ผ ํŒจํ„ด์ด๋ฉฐ, RLM code๋Š” ์ด๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ์ฐธ๊ณ  ๊ตฌํ˜„์ด๋‹ค. ๋กœ์ปฌ ๋ชจ๋ธ์ด๋‚˜ ํด๋ผ์šฐ๋“œ ๋ชจ๋ธ ๋ชจ๋‘์— ๋ถ™์ผ ์ˆ˜ ์žˆ๊ณ , ๊ด€์ธก์„ฑ ํ”„๋ ˆ์ž„์›Œํฌ์™€๋„ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹ค์ œ ๋ฐ๋ชจ์—์„œ๋Š” ์ƒŒ๋“œ๋ฐ•์Šค ์•ˆ์—์„œ Python ripple ์ฝ”๋“œ๊ฐ€ ์ปจํ…์ŠคํŠธ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  LLM query๊ฐ€ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๋Š” ํ๋ฆ„์„ ํ™•์ธํ•œ๋‹ค.
  5. 10:01
    ๋ฐ๋ชจ์—์„œ๋Š” Docker ์ƒŒ๋“œ๋ฐ•์Šค ์•ˆ์—์„œ ์‹คํ–‰๋œ RLM ์ฝ”๋“œ๊ฐ€ ripple ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , evidence๋ฅผ ๋งŒ๋“ค๊ณ , LLM query๋ฅผ ํ˜ธ์ถœํ•œ ๋’ค ์ตœ์ข… ๋‹ต๋ณ€์„ ๋‚ด๋†“๋Š” ๊ณผ์ •์ด ์ถ”์ ๋œ๋‹ค. ์‹คํ–‰ ํšŸ์ˆ˜, ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰, ์„ธ์…˜๊ณผ trajectory, JSONL ํ˜•ํƒœ์˜ ๋กœ๊ทธ๊นŒ์ง€ ๋‚จ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ ๋ถ„์„์ด๋‚˜ ์˜จ๋ณด๋”ฉ, ๋ฃจํŠธ์ฝ”์ฆˆ ๋ถ„์„์šฉ ํ•˜๋„ค์Šค๋กœ ์‹ค๋ฌด์— ๋ฐ”๋กœ ์‘์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

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

  • ๋Œ€๊ทœ๋ชจ ์ €์žฅ์†Œ์—์„œ ์—์ด์ „ํŠธ ์„ฑ๋Šฅ์ด ํ”๋“ค๋ฆฌ๋ฉด ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋” ๋Š˜๋ฆฌ๊ธฐ๋ณด๋‹ค, ์ปจํ…์ŠคํŠธ๋ฅผ ์ถ”์ถœยท์••์ถ•ยท์žฌ์ฃผ์ž…ํ•˜๋Š” ๋ณ„๋„ ํ•˜๋„ค์Šค๋ฅผ ๋จผ์ € ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ด๋‹ค.
  • RLM ๋ฐฉ์‹์€ ๋‹ต์„ ๋ฐ”๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค, ์–ด๋–ค ํŒŒ์ผ์„ ๋ณด๊ณ  ์–ด๋–ค ๊ทผ๊ฑฐ๋ฅผ ๋ชจ์•˜๋Š”์ง€๊นŒ์ง€ ๋‚จ๊ฒจ์•ผ ํ•˜๋Š” ์ฝ”๋“œ ๋ฆฌ๋ทฐยท์˜จ๋ณด๋”ฉยท์žฅ์•  ๋ถ„์„ ์—…๋ฌด์— ํŠนํžˆ ์ž˜ ๋งž๋Š”๋‹ค.
  • ์‹ค๋ฌด ์ ์šฉ ์‹œ์—๋Š” ์ตœ๋Œ€ step, recursion depth, ์˜ˆ์‚ฐ, ๋กœ๊ทธ ํฌ๋งท์„ ํ•จ๊ป˜ ์„ค๊ณ„ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ทธ๋ž˜์•ผ ์žฌํ˜„์„ฑ๊ณผ ๊ด€์ธก์„ฑ์ด ํ™•๋ณด๋œ๋‹ค.