๐Ÿ”ฅ LLM โ€” ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง๊ณผ ์ปจํ…์ŠคํŠธ ์—”์ง€๋‹ˆ์–ด๋ง

๊ด€ํƒœยท2026๋…„ 2์›” 3์ผ

๋ชจ๋‹ฅ๋ถˆ

๋ชฉ๋ก ๋ณด๊ธฐ
4/7
post-thumbnail

๋“ค์–ด๊ฐ€๋ฉฐ

Cursor๋กœ ์ž‘์—…ํ•˜๊ธฐ ์‹œ์ž‘ํ•œ ์ง€ ๊ฝค ๋๋Š”๋ฐ ์ฒ˜์Œ ๋ช‡ ๋‹ฌ์€ ์ •๋ง ํ”„๋กฌํ”„ํŠธ๋ž‘ ์”จ๋ฆ„ํ–ˆ์–ด์š”. "๋” ์ž์„ธํžˆ", "๋‹ค์‹œ ํ•ด์ค˜", "์•„๋‹ˆ ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ"๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์™œ AI๊ฐ€ ์ด๋ ‡๊ฒŒ ๋ง์„ ๋ชป ์•Œ์•„๋“ฃ์ง€? ์‹ถ์—ˆ๊ฑฐ๋“ ์š”. ๊ทผ๋ฐ ์–ด๋А ์ˆœ๊ฐ„ ํŒจํ„ด์ด ๋ณด์ด๋”๋ผ๊ณ ์š”. ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž˜ ์“ฐ๋Š” ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ AIํ•œํ…Œ ์–ด๋–ค ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด์ฃผ๋А๋ƒ๊ฐ€ ํ›จ์”ฌ ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฑธ์š”.

์ด ๊ธ€์€ Cursor๋‚˜ GitHub Copilot ๊ฐ™์€ AI ์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ์จ๋ดค๋Š”๋ฐ ์™œ AI๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”์ง€ ์ดํ•ด๊ฐ€ ์•ˆ ๋๋˜ ๋ถ„๋“ค์„ ์œ„ํ•ด ์ผ์–ด์š”. ํŠนํžˆ ํ”„๋กฌํ”„ํŠธ๋งŒ ๊ฐ–๊ณ  ์”จ๋ฆ„ํ•ด๋ณธ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๊ณต๊ฐํ•  ๋‚ด์šฉ์ด ๋งŽ์„ ๊ฑฐ์˜ˆ์š”.

๊ทผ๋ฐ ๊ทธ๊ฒŒ ๋‹จ์ˆœํžˆ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋” ๊ธธ๊ฒŒ ์“ฐ๋Š” ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๋„๋Œ€์ฒด ๋ญ˜ ๋ฐ”๊ฟ”์•ผ ํ•˜๋Š” ๊ฑธ๊นŒ์š”?


LLM์€ ๋ฌด์—‡์„ ํ•˜๋Š” ์‹œ์Šคํ…œ์ธ๊ฐ€

LLM์„ '์ง€๋Šฅ'์ด ์•„๋‹ˆ๋ผ 'ํ™•๋ฅ  ๋ชจ๋ธ'๋กœ ๋ณด๊ธฐ

AI์™€ ๋Œ€ํ™”ํ•  ๋•Œ ๋А๋ผ๋Š” '์ง€์ ์ธ ์กด์žฌ์™€ ๋Œ€ํ™”ํ•˜๋Š” ๊ธฐ๋ถ„'์€ ์‚ฌ์‹ค ์ •๊ตํ•˜๊ฒŒ ์„ค๊ณ„๋œ ์ˆ˜ํ•™์  ํ™•๋ฅ ์˜ ๊ฒฐ๊ณผ๋ฌผ์ด์—์š”. ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ดํ•ดํ•˜๋ฉด AI๊ฐ€ ์™œ ๊ฐ€๋” ์–ด์ฒ˜๊ตฌ๋‹ˆ์—†๋Š” ์‹ค์ˆ˜๋ฅผ ํ•˜๋Š”์ง€ ๊ทธ๋ฆฌ๊ณ  ์™œ '๋งฅ๋ฝ'์„ ์„ค๊ณ„ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ์–ด์š”.

AI๊ฐ€ ์„ธ์ƒ์„ ์ฝ๋Š” ๋‹จ์œ„: ํ† ํฐ(Token)

LLM์€ ํ…์ŠคํŠธ๋ฅผ ์šฐ๋ฆฌ์ฒ˜๋Ÿผ '๋‹จ์–ด'๋‚˜ '๊ธ€์ž'๋กœ ์ธ์‹ํ•˜์ง€ ์•Š์•„์š”. ํ…์ŠคํŠธ๋ฅผ ์˜๋ฏธ ์žˆ๋Š” ์ตœ์†Œ ๋‹จ์œ„์ธ 'ํ† ํฐ'์ด๋ผ๋Š” ๋ฉ์–ด๋ฆฌ๋กœ ์ชผ๊ฐœ์„œ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฑด "๋„๋Œ€์ฒด ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์ชผ๊ฐœ๋А๋ƒ"์˜ˆ์š”.

๊ธฐ์ค€์€ '๋นˆ๋„'์˜ˆ์š” (BPE ์•Œ๊ณ ๋ฆฌ์ฆ˜)

GPT ๊ณ„์—ด LLM์€ BPE(Byte Pair Encoding)๋ผ๋Š” ๋ฐฉ์‹์˜ ํ† ํฌ๋‚˜์ด์ €๋ฅผ ์‚ฌ์šฉํ•ด์š”. BERT ๊ณ„์—ด์€ WordPiece๋ฅผ ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค์€ ๋˜ ๋‹ค๋ฅธ ๋ฐฉ์‹์„ ์“ฐ๊ธฐ๋„ ํ•ด์„œ ๋ชจ๋ธ๋งˆ๋‹ค ๋‹ฌ๋ผ์š”. ๊ณตํ†ต์ ์ธ ์›๋ฆฌ๋Š” ์ด๋ž˜์š”. AI๋Š” ์‚ฌ์ „์— ์ ํžŒ ๋‹จ์–ด๋ฅผ ์™ธ์šฐ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ '๊ฐ€์žฅ ์ž์ฃผ ํ•จ๊ป˜ ๋“ฑ์žฅํ•˜๋Š” ๊ธ€์ž ์Œ'์„ ๋ฌถ์–ด์„œ ํ† ํฐ์œผ๋กœ ๋งŒ๋“ค์–ด์š”.
์ฒ˜์Œ์—” s, t, r, a, w, b, e, r, r, y์ฒ˜๋Ÿผ ํ•œ ๊ธ€์ž์”ฉ ์‹œ์ž‘ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ์†์—์„œ t์™€ h๊ฐ€ ์ž์ฃผ ๋ถ™์–ด ๋‚˜์˜ค๋ฉด th๋ฅผ ํ•œ ๋ฉ์–ด๋ฆฌ๋กœ ๋ฌถ๊ณ  ๋‚˜์ค‘์—๋Š” ing, pre, straw ๊ฐ™์€ ๋ญ‰์น˜๋“ค์„ ํ•˜๋‚˜์˜ ํ† ํฐ์œผ๋กœ ํ™•์ • ์ง€์–ด์š”.

์ค‘์š”ํ•œ ๊ฑด ์ด ๊ณผ์ •์ด ๋ชจ๋ธ์„ ๋งŒ๋“ค ๋•Œ ๋‹จ ํ•œ ๋ฒˆ๋งŒ ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”. ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋œ ๋’ค์—๋Š” ์–ดํœ˜ ํ…Œ์ด๋ธ”์ด ๊ณ ์ •๋˜์–ด ์–ด๋–ค ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•ด๋„ ํ•ญ์ƒ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ† ํฐ์ด ์ชผ๊ฐœ์ ธ์š”(๊ฒฐ์ •๋ก ์  ํ† ํฌ๋‚˜์ด์ง•).

์™œ strawberry์—์„œ 'r'์˜ ๊ฐœ์ˆ˜๋ฅผ ํ‹€๋ฆด๊นŒ?

์ด๊ฒŒ ๋ฐ”๋กœ '๋นˆ๋„ ๊ธฐ๋ฐ˜' ํ† ํฐํ™”์˜ ๋งน์ ์ด์—์š”. ํ† ํฌ๋‚˜์ด์ €์— ๋”ฐ๋ผ ์ชผ๊ฐœ์ง€๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฅด์ง€๋งŒ ํ•ต์‹ฌ์€ AI๊ฐ€ ์ฒ ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋ณด๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๋ฉ์–ด๋ฆฌ๋กœ ๋ณธ๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ถ€ ํ† ํฌ๋‚˜์ด์ €์—์„œ๋Š” straw + berry์ฒ˜๋Ÿผ ์ชผ๊ฐœ์งˆ ์ˆ˜ ์žˆ์–ด์š”. AI๋Š” ์‹œ๊ฐ ์ •๋ณด๊ฐ€ ์—†์–ด์„œ ๋‹จ์–ด ๋‚ด๋ถ€์˜ ์ฒ ์ž๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ˆˆ์œผ๋กœ ์„ธ์ง€ ๋ชปํ•˜๊ณ  ๋Œ€์‹  "์ด ํ† ํฐ ๋ญ‰์น˜๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์„ ๋•Œ r์ด ๋ช‡ ๊ฐœ๋ผ๊ณ  ๋‹ตํ•  ํ™•๋ฅ ์ด ๋†’์•˜์ง€?"๋ผ๋Š” ํ†ต๊ณ„์  ์ถ”์ธก์„ ํ•ด์š”. ์ง์ ‘ ์„ธ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ '์ถ”์ธก'์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์˜ˆ์š”.

๋Œ€์†Œ๋ฌธ์ž ๋ณ€ํ™˜์ด ๊ผฌ์ด๋Š” ์ด์œ 

hello์™€ HELLO๋Š” AI ๋‚ด๋ถ€์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํ† ํฐ์œผ๋กœ ์ฒ˜๋ฆฌ๋ผ์š”. AI๋Š” ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋กœ์ง์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์†Œ๋ฌธ์ž ํ† ํฐ ๋ฉ์–ด๋ฆฌ๋ฅผ ๋ณด๊ณ  ๊ทธ์— ์–ด์šธ๋ฆฌ๋Š” ๋Œ€๋ฌธ์ž ํ† ํฐ ๋ฉ์–ด๋ฆฌ๋ฅผ ์˜ˆ์ธกํ•ด์š”. ์ด ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€์กฑํ•œ ํฌ๊ท€ ๋‹จ์–ด๋Š” ํ™•๋ฅ  ๊ฐ’์ด ํ”๋“ค๋ฆฌ๋ฉฐ ๊ธ€์ž๊ฐ€ ๊นจ์ง€๊ธฐ๋„ ํ•ด์š”.

๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ์ขŒํ‘œ๋กœ ๋ฐ”๊พธ๋Š” ๊ธฐ์ˆ : ์ž„๋ฒ ๋”ฉ(Embedding)

๊ทธ๋Ÿผ ์ชผ๊ฐœ์ง„ ํ† ํฐ๋“ค์„ AI๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ• ๊นŒ์š”? ๋ฐ”๋กœ '์ž„๋ฒ ๋”ฉ'์ด๋ผ๋Š” ๊ธฐ์ˆ ๋กœ ํ…์ŠคํŠธ๋ฅผ ์ˆ˜๋ฐฑ~์ˆ˜์ฒœ ์ฐจ์›์˜ ์ˆซ์ž ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์š”. ์—„์ฒญ ๋งŽ์€ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ขŒํ‘œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ผ์š”.

์˜๋ฏธ์˜ ์ง€๋„

'์‚ฌ๊ณผ'์™€ '๋ฐ”๋‚˜๋‚˜'๋Š” '๊ณผ์ผ'์ด๋ผ๋Š” ๊ณตํ†ต์ ์ด ์žˆ์ฃ ? ๊ทธ๋Ÿผ ์ž„๋ฒ ๋”ฉ ๊ณต๊ฐ„์—์„œ ๋‘ ๋‹จ์–ด์˜ ์ขŒํ‘œ๋Š” ์•„์ฃผ ๊ฐ€๊นŒ์šด ๊ณณ์— ์œ„์น˜ํ•˜๊ฒŒ ๋ผ์š”. ๋ฐ˜๋ฉด '์ปดํ“จํ„ฐ'๋Š” ์•„์ฃผ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ์ขŒํ‘œ์— ๋ฐฐ์น˜๋˜์ฃ . ์ž„๋ฒ ๋”ฉ์€ ์ด์ฒ˜๋Ÿผ ๋‹จ์–ด์˜ '์˜๋ฏธ'๋ฅผ ์ˆ˜์น˜ํ™”ํ•ด์„œ AI๊ฐ€ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด์—์š”. ๊ทธ๋ฆฌ๊ณ  ์ด ์ขŒํ‘œ ๊ฐœ๋…์€ ๋‚˜์ค‘์— RAG๋ฅผ ์„ค๋ช…ํ•  ๋•Œ ๋‹ค์‹œ ๋“ฑ์žฅํ•˜๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ํ•œ ๋ฒˆ ์ œ๋Œ€๋กœ ์žก์•„๋‘๋Š” ๊ฒŒ ์ข‹์•„์š”.

๊ทธ๋Ÿผ AI๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ๋งŒ๋“ค์–ด๋‚ผ๊นŒ์š”?

์ด ๋ถ€๋ถ„์ด ์ข€ ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ์ž„๋ฒ ๋”ฉ์€ ์ž…๋ ฅ ํ…์ŠคํŠธ๋ฅผ ์ˆ˜์น˜๋กœ ํ‘œํ˜„ํ•˜๋Š” ์—ญํ• ์ด๊ณ  ๋‹ค์Œ ํ† ํฐ์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฑด ์™„์ „ํžˆ ๋ณ„๊ฐœ์˜ ๊ณผ์ •์ด์—์š”.

ํ† ํฐ์ด ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜๋œ ๋’ค์—๋Š” Transformer ๋ธ”๋ก ์•ˆ์˜ Self-Attention๊ณผ Feed-Forward Network๋ฅผ ์—ฌ๋Ÿฌ ์ธต ํ†ต๊ณผํ•ด์š”. ์—ฌ๊ธฐ์„œ "์ง€๊ธˆ ์ด ํ† ํฐ์ด ๋‹ค๋ฅธ ์–ด๋–ค ํ† ํฐ๋“ค๊ณผ ์–ผ๋งˆ๋‚˜ ๊ด€๋ จ ์žˆ๋Š”๊ฐ€"๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฑฐ์˜ˆ์š”. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์— Softmax ํ•จ์ˆ˜๊ฐ€ ์ „์ฒด ์–ดํœ˜์— ๋Œ€ํ•œ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๊ณ„์‚ฐํ•ด์š”.

๊ทธ๋Ÿฐ๋ฐ AI๊ฐ€ ๋‚ด๋ฑ‰๋Š” ๋‹จ์–ด๋Š” ๋‹จ์ˆœํžˆ "ํ™•๋ฅ ์ด ๊ฐ€์žฅ ๋†’์€ ํ† ํฐ์„ ์ง‘์–ด์˜ค๋Š” ๊ฒƒ"์ด ์•„๋‹ˆ์—์š”. ์ด ๋ถ€๋ถ„์ด ์ค‘์š”ํ•ด์š”. temperature๊ฐ€ 0์œผ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ(greedy decoding)์—๋Š” ๊ฐ€์žฅ ๋†’์€ ํ™•๋ฅ ์˜ ํ† ํฐ์„ ์„ ํƒํ•˜์ง€๋งŒ ์‹ค์ œ ์„œ๋น„์Šค์—์„œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์“ฐ์ด๋Š” temperature > 0 ์„ค์ •์—์„œ๋Š” ํ™•๋ฅ  ๋ถ„ํฌ์— ๋น„๋ก€ํ•ด ๋ฌด์ž‘์œ„๋กœ ์ƒ˜ํ”Œ๋งํ•ด์š”. ์ด ๋•Œ๋ฌธ์— ๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•ด๋„ ๋‹ต๋ณ€์ด ๋‹ฌ๋ผ์ง€๊ณ  ๊ฐ€๋” ๋‚ฎ์€ ํ™•๋ฅ ์˜ ํ† ํฐ์ด ์„ ํƒ๋˜์–ด ํ• ๋ฃจ์‹œ๋„ค์ด์…˜์ด ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•ด์š”.

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ์ž„๋ฒ ๋”ฉ์€ "๋ญ˜ ์ฝ๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋‹จ๊ณ„"์ด๊ณ  Transformer ๋ธ”๋ก์€ "๊ทธ๊ฑธ ๋ฐ”ํƒ•์œผ๋กœ ๋ญ๊ฐ€ ์˜ฌ์ง€ ์ถ”๋ก ํ•˜๋Š” ๋‹จ๊ณ„"์˜ˆ์š”. ์ด ๋‘ ๋‹จ๊ณ„๋ฅผ ๋ฌถ์–ด์„œ ๊ฒฐ๊ตญ LLM์€ ํ™•๋ฅ  ๋ถ„ํฌ์—์„œ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ๊ณ„์† ์ƒ˜ํ”Œ๋งํ•ด ๋‚˜๊ฐ€๋Š” 'ํ™•๋ฅ  ๊ณ„์‚ฐ๊ธฐ'๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

ํ”„๋กฌํ”„ํŠธ์™€ ์ปจํ…์ŠคํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์€ ์ด AI์˜ ํ™•๋ฅ  ๊ณ„์‚ฐ์ด ์—‰๋šฑํ•œ ๊ณณ์œผ๋กœ ํŠ€์ง€ ์•Š๋„๋ก ์ •ํ™•ํ•œ ๊ธธ๋ชฉ์— ์ด์ •ํ‘œ๋ฅผ ์„ธ์›Œ์ฃผ๋Š” ์ž‘์—…์ด์—์š”. ๊ทธ๊ฒŒ ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ•œ์ง€ ๋‹ค์Œ ์„น์…˜์—์„œ ํ•˜๋‚˜์”ฉ ํ’€์–ด๋ณผ๊ฒŒ์š”.


LLM์€ ์™œ ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•œ ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์„๊นŒ

AI์™€ ๋Œ€ํ™”ํ•˜๋‹ค ๋ณด๋ฉด ์•ž์˜ ๋‚ด์šฉ์„ ๊ฐ‘์ž๊ธฐ ๊นŒ๋จน๊ฑฐ๋‚˜ ๋ถ„๋ช…ํžˆ ๊ธˆ์ง€ํ•œ ์ฝ”๋”ฉ ๋ฐฉ์‹์„ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด์š”. ์ด๊ฑด ๋ชจ๋ธ์ด ๋ฉ์ฒญํ•ด์„œ๊ฐ€ ์•„๋‹ˆ๋ผ LLM์ด ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” '๊ตฌ์กฐ์  ํ•œ๊ณ„' ๋•Œ๋ฌธ์ด์—์š”.

AI์—๊ฒŒ๋Š” '๊ธฐ์–ต'์ด ์•„๋‹ˆ๋ผ '์ž…๋ ฅ'๋งŒ ์žˆ์–ด์š”

์ธ๊ฐ„์€ ๋Œ€ํ™”ํ•  ๋•Œ ๋‹น์—ฐํžˆ ์•Œ๊ณ  ์žˆ๋Š” '์ƒ์‹'์ด๋‚˜ '์–ด์ œ์˜ ๊ธฐ์–ต'์„ ๊น”๊ณ  ๊ฐ€์š”. ํ•˜์ง€๋งŒ LLM์—๊ฒŒ๋Š” ์˜ค์ง ์ง€๊ธˆ ์ž…๋ ฅ์ฐฝ์— ๋“ค์–ด์˜จ ํ…์ŠคํŠธ(์ปจํ…์ŠคํŠธ)๊ฐ€ ์„ธ์ƒ์˜ ์ „๋ถ€์˜ˆ์š”.

์ƒํƒœ(State)๊ฐ€ ์—†๋Š” ๋ชจ๋ธ

LLM์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด์ „ ๋Œ€ํ™”๋ฅผ ๊ธฐ์–ตํ•˜๋Š” '๋‡Œ'๊ฐ€ ์—†์–ด์š”. ์ฑ„ํŒ…์„ ์ด์–ด๊ฐˆ ๋•Œ ์‹œ์Šคํ…œ์€ ์‚ฌ์‹ค [์ด์ „ ๋Œ€ํ™” ์ „์ฒด + ๋ฐฉ๊ธˆ ํ•œ ์งˆ๋ฌธ]์„ ๋งค๋ฒˆ ํ†ต์งธ๋กœ ๋ฌถ์–ด์„œ AI์—๊ฒŒ ๋‹ค์‹œ ์ฝํ˜€์š”.

ํ† ํฐ ์ œํ•œ(Context Window)

์ฝ์–ด๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ์–‘(ํ† ํฐ)์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์–ด์š”. ๋Œ€ํ™”๊ฐ€ ๊ธธ์–ด์ ธ์„œ ์ด ํ•œ๊ณ„๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ์‹œ์Šคํ…œ์€ ์˜ค๋ž˜๋œ ๋Œ€ํ™”๋ถ€ํ„ฐ ์ž˜๋ผ๋‚ด์š”. ์ด๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ดˆ๊ธฐ ๊ทœ์น™์ด๋‚˜ ํ•ต์‹ฌ ์š”๊ตฌ์‚ฌํ•ญ์ด ๊ธฐ์–ต์—์„œ '๋“œ๋ž(Drop)'๋˜๋Š” ๊ฑฐ์ฃ .

Attention Mechanism: ์ง‘์ค‘๋ ฅ์˜ ํŽธํ–ฅ๊ณผ ์‹ค์ข…

LLM์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ ์€ Attention(์–ดํ…์…˜)์ด์—์š”. ๋ฌธ์žฅ ์•ˆ์—์„œ ์–ด๋–ค ๋‹จ์–ด๊ฐ€ ์ค‘์š”ํ•œ์ง€ ์ง‘์ค‘ํ•ด์„œ ๋ณด๋Š” ๊ธฐ์ˆ ์ธ๋ฐ ์ด ์ง‘์ค‘๋ ฅ์€ ์™„๋ฒฝํ•˜์ง€ ์•Š์•„์š”.

Lost in the Middle (์ค‘๊ฐ„ ์‹ค์ข… ํ˜„์ƒ)

AI๋Š” ์ž…๋ ฅ๋œ ํ…์ŠคํŠธ์˜ ๋งจ ์•ž๊ณผ ๋งจ ๋’ค๋ฅผ ๊ฐ€์žฅ ์ž˜ ๊ธฐ์–ตํ•ด์š”. ์ •์ž‘ ์ค‘๊ฐ„์— ์ ์–ด๋‘” ์ค‘์š”ํ•œ ๋กœ์ง์ด๋‚˜ ์ œ์•ฝ ์กฐ๊ฑด์€ ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ์•„์งˆ์ˆ˜๋ก Attention ๊ฐ€์ค‘์น˜๊ฐ€ ๋‚ฎ์•„์ง€๋ฉด์„œ ๋ฌด์‹œ๋  ํ™•๋ฅ ์ด ๋†’์•„์ ธ์š”. ์ด๋Š” Stanford ์—ฐ๊ตฌํŒ€(Liu et al., 2023)์ด ์‹ค์ฆํ•œ ํ˜„์ƒ์ด๊ธฐ๋„ ํ•ด์š”. ํ•ต์‹ฌ ์ง€์‹œ์‚ฌํ•ญ์ด ๊ธด ์ปจํ…์ŠคํŠธ์˜ ์ค‘๊ฐ„์— ๋ฌปํ˜€ ์žˆ์œผ๋ฉด AI๊ฐ€ ์‚ฌ์‹ค์ƒ ์ฝ์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ฑฐ์˜ˆ์š”.

๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช…์ด AI๋ฅผ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“œ๋Š” ์ด์œ 

data, item, list์ฒ˜๋Ÿผ ์˜๋ฏธ ๋ฒ”์œ„๊ฐ€ ๋„ˆ๋ฌด ๋„“์€ ์ด๋ฆ„์€ ๋‹ค์–‘ํ•œ ๋ฌธ๋งฅ์—์„œ ๋“ฑ์žฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ธ์ด ์ด ํ† ํฐ์˜ ์—ญํ• ์„ ์ถ”๋ก ํ•  ๋•Œ Attention ๊ฐ€์ค‘์น˜๊ฐ€ ๋ถ„์‚ฐ๋ผ์š”. '์ง€๊ธˆ ์ด data๋Š” API ์‘๋‹ต์ธ๊ฐ€, ํผ ์ƒํƒœ์ธ๊ฐ€?'๋ฅผ ์ปจํ…์ŠคํŠธ๋กœ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•˜๋Š”๋ฐ ๋ชจํ˜ธํ•œ ์ด๋ฆ„์ผ์ˆ˜๋ก ๊ทธ ๊ตฌ๋ถ„์ด ์–ด๋ ค์›Œ์ ธ์š”.

ํ• ๋ฃจ์‹œ๋„ค์ด์…˜: '๊ฑฐ์ง“๋ง'์ด ์•„๋‹ˆ๋ผ 'ํ™•๋ฅ ์  ํญ์ฃผ'

๊ฐ€์žฅ ๋‹นํ™ฉ์Šค๋Ÿฌ์šด 'ํ• ๋ฃจ์‹œ๋„ค์ด์…˜(ํ™˜๊ฐ)'์€ AI๊ฐ€ ๋ชจ๋ฅด๋Š” ๊ฑธ ์•„๋Š” ์ฒ™ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ์—์š”. ํ™•๋ฅ  ๊ณ„์‚ฐ์˜ ์—ฐ์‡„ ๋ฐ˜์‘์ด ๋‚ณ์€ ๊ฒฐ๊ณผ์˜ˆ์š”.

์ฒซ ๋‹จ์ถ”์˜ ์ €์ฃผ (Autoregressive)

AI๋Š” ๋ฌธ์žฅ์„ ํ•œ๊บผ๋ฒˆ์— ๋งŒ๋“œ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๋‹จ์–ด ํ•˜๋‚˜๋ฅผ ๋‚ด๋ฑ‰๊ณ  ๊ทธ ๋‹จ์–ด๋ฅผ ํฌํ•จํ•ด์„œ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•ด์š”. ๋งŒ์•ฝ ๋‹ต๋ณ€ ์ดˆ๋ฐ˜์— ๋‚ฎ์€ ํ™•๋ฅ ์ด์ง€๋งŒ ๊ทธ๋Ÿด๋“ฏํ•ด ๋ณด์ด๋Š” ์ž˜๋ชป๋œ ๋‹จ์–ด(ํ† ํฐ)๋ฅผ ์„ ํƒํ•˜๋ฉด ๊ทธ ๋’ค์˜ ๋ชจ๋“  ๋‹จ์–ด๋Š” ๊ทธ 'ํ‹€๋ฆฐ ๋‹จ์–ด'๋ฅผ ์ง„์‹ค๋กœ ๊ฐ€์ •ํ•˜๊ณ  ์˜ˆ์ธก์„ ์ด์–ด๊ฐ€์š”. ์ดˆ๋ฐ˜์˜ ์ž‘์€ ํ™•๋ฅ ์  ์ดํƒˆ์ด ๋’ค๋กœ ๊ฐˆ์ˆ˜๋ก ๊ฑท์žก์„ ์ˆ˜ ์—†๋Š” ๊ฑฐ๋Œ€ํ•œ ์†Œ์„ค(์Šค๋…ธ์šฐ๋ณผ ํšจ๊ณผ)๋กœ ๋ณ€ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”.

๊ณต๋ฐฑ ๋ฉ”์šฐ๊ธฐ

AI๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ์— ์—†๋Š” ์ •๋ณด๊ฐ€ ๋“ค์–ด์˜ค๋ฉด "๋ชจ๋ฆ…๋‹ˆ๋‹ค"๋ผ๊ณ  ํ•˜๊ธฐ๋ณด๋‹ค ์ฃผ๋ณ€์˜ ๋น„์Šทํ•œ ์ •๋ณด๋ฅผ ์ฐธ๊ณ ํ•ด ๊ทธ๋Ÿด์‹ธํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋ ค ํ•ด์š”. AI์—๊ฒŒ๋Š” "์ •ํ™•์„ฑ"๋ณด๋‹ค "๋งฅ๋ฝ์— ์–ด์šธ๋ฆฌ๋Š” ๋‹ค์Œ ํ† ํฐ์„ ์ œ์‹œํ•˜๋Š” ๊ฒƒ"์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ƒ ์šฐ์„ ์ˆœ์œ„์ด๊ธฐ ๋•Œ๋ฌธ์ด์—์š”.


ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์ด ์ž˜ ๋จนํžˆ๋Š” ์ด์œ 

์•ž์—์„œ ์‚ดํŽด๋ณธ ํ•œ๊ณ„๋“ค ์ฆ‰ ์ค‘๊ฐ„ ์‹ค์ข…, ๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช…, ํ™•๋ฅ ์  ํญ์ฃผ๋Š” ์‚ฌ์‹ค ์–ด๋А ์ •๋„ ๋ง‰์„ ์ˆ˜ ์žˆ์–ด์š”. ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์ด ๋ฐ”๋กœ ๊ทธ ์ฒซ ๋ฒˆ์งธ ๋„๊ตฌ์˜ˆ์š”.

ํ™•๋ฅ ์˜ ๊ธธ๋ชฉ์— ๊ฐ•์ œ๋กœ ์ด์ •ํ‘œ ์„ธ์šฐ๊ธฐ

ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์€ AI์˜ ์ž์œ ๋กœ์šด ํ™•๋ฅ  ํƒ์ƒ‰์„ ์ œํ•œํ•˜๊ณ  ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์œ ๋„ํ•˜๋Š” ๊ฐ€์ด๋“œ๋ผ์ธ์ด์—์š”. "๋ง ํ•œ๋งˆ๋””์— ๋‹ต๋ณ€ ํ’ˆ์งˆ์ด ์™œ ์ด๋ ‡๊ฒŒ ๋‹ฌ๋ผ์ ธ?"๋ผ๋Š” ์˜๋ฌธ์€ ์•„๋ž˜์˜ ํ™•๋ฅ ์  ์›๋ฆฌ๋กœ ์„ค๋ช…๋ผ์š”.

์—ญํ•  ๋ถ€์—ฌ(Persona): ํ™•๋ฅ  ๋ถ„ํฌ์˜ 'ํ•„ํ„ฐ๋ง'

"๋„ˆ๋Š” 10๋…„ ์ฐจ ์‹œ๋‹ˆ์–ด ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์•ผ"๋ผ๊ณ  ์—ญํ• ์„ ์ •ํ•ด์ฃผ๋Š” ๊ฑด ๋‹จ์ˆœํžˆ ๊ธฐ๋ถ„์„ ๋งž์ถ”๋Š” ๊ฒŒ ์•„๋‹ˆ์—์š”. ์ด ๋ฌธ์žฅ์„ ๋„ฃ๋Š” ์ˆœ๊ฐ„ AI๋Š” '์ดˆ๋ณด์ž์˜ ์‹ค์ˆ˜ ์ฝ”๋“œ'๋‚˜ '๋ธ”๋กœ๊ทธ์˜ ์ดˆ๊ธ‰ ์˜ˆ์ œ' ํ† ํฐ๋“ค์ด ๋‚˜์˜ฌ ํ™•๋ฅ ์„ ๋‚ฎ์ถ”๊ณ  ๋Œ€์‹  'ํด๋ฆฐ ์ฝ”๋“œ', '๋””์ž์ธ ํŒจํ„ด', '์„ฑ๋Šฅ ์ตœ์ ํ™”'์™€ ๊ด€๋ จ๋œ ํ† ํฐ๋“ค์ด ๋‹ค์Œ ๋‹จ์–ด๋กœ ์„ ํƒ๋  ๊ฐ€์ค‘์น˜๋ฅผ ๋Œ€ํญ ๋†’์—ฌ์š”. AI๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ํ™•๋ฅ ์˜ ์˜์—ญ(Search Space) ์ž์ฒด๋ฅผ ์ขํ˜€๋ฒ„๋ฆฌ๋Š” ์•„์ฃผ ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ด์—์š”.

๋„ˆ๋Š” 10๋…„ ์ฐจ ์‹œ๋‹ˆ์–ด ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์•ผ.
React, TypeScript ์ „๋ฌธ๊ฐ€์ด๊ณ  ์„ฑ๋Šฅ ์ตœ์ ํ™”์™€ ํด๋ฆฐ ์ฝ”๋“œ๋ฅผ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•ด.
์•„๋ž˜ ์ปดํฌ๋„ŒํŠธ์˜ ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง ์›์ธ์„ ์ฐพ์•„์„œ ์ˆ˜์ •ํ•ด์ค˜.

์˜ˆ์‹œ ์ฃผ๊ธฐ(Few-shot): ์ž„๋ฒ ๋”ฉ์˜ '๋‚˜์นจ๋ฐ˜'

"A๋Š” B์ฒ˜๋Ÿผ ๋ฐ”๊ฟ”์ค˜"๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์˜ˆ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋‘ ๊ฐœ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒŒ ํ›จ์”ฌ ๊ฐ•๋ ฅํ•ด์š”. ์˜ˆ์‹œ๋Š” AI์—๊ฒŒ "์ด๋Ÿฐ ํ† ํฐ ํŒจํ„ด์„ ๋”ฐ๋ผ๊ฐ€๋ผ"๋Š” ๋ฌผ๋ฆฌ์ ์ธ ์ฆ๊ฑฐ๊ฐ€ ๋ผ์š”. ๋ฐฑ ๋งˆ๋”” ์„ค๋ช…๋ณด๋‹ค ํ•˜๋‚˜์˜ ์˜ˆ์‹œ ํ† ํฐ ๋ญ‰์น˜๊ฐ€ AI์˜ ํ™•๋ฅ ์  ํญ์ฃผ(ํ• ๋ฃจ์‹œ๋„ค์ด์…˜)๋ฅผ ๋ง‰๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๋ธŒ๋ ˆ์ดํฌ์˜ˆ์š”.

์•„๋ž˜ ํ˜•์‹์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•ด์ค˜.

[๋ณ€ํ™˜ ์ „]
function handleClick(data) {
  process(data);
}

[๋ณ€ํ™˜ ํ›„]
function handleUserProfileClick(userProfile: UserProfile): void {
  updateUserProfile(userProfile);
}

์ด ํŒจํ„ด์œผ๋กœ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ”์ค˜:
function handler(item) {
  doSomething(item);
}

์ƒ๊ฐ์˜ ์‚ฌ์Šฌ(Chain of Thought): ํ™•๋ฅ ์˜ '์ง•๊ฒ€๋‹ค๋ฆฌ' ๋†“๊ธฐ

"๋‹จ๊ณ„๋ณ„๋กœ ์ƒ๊ฐํ•ด์„œ ๋‹ตํ•ด์ค˜"๋ผ๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ž˜ ๋จนํžˆ๋Š” ์ด์œ ๋„ ํ™•๋ฅ  ๋•Œ๋ฌธ์ด์—์š”. ํ•œ ๋ฒˆ์— ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋ผ๊ณ  ํ•˜๋ฉด ๋„ˆ๋ฌด ๋„“์€ ํ™•๋ฅ  ๋ฒ”์œ„์—์„œ ์ •๋‹ต์„ ์ฐพ๋‹ค ๊ธธ์„ ์žƒ๋Š”๋ฐ "๋‹จ๊ณ„๋ณ„๋กœ ์ƒ๊ฐํ•˜๋ผ"๊ณ  ํ•˜๋ฉด AI๋Š” ์ •๋‹ต์œผ๋กœ ๊ฐ€๋Š” ์ค‘๊ฐ„ ๊ณผ์ •์˜ ํ† ํฐ๋“ค์„ ๋จผ์ € ์ƒ์„ฑํ•ด์š”. ์ด ์ค‘๊ฐ„ ํ† ํฐ๋“ค์ด ์ƒˆ๋กœ์šด ์ปจํ…์ŠคํŠธ๊ฐ€ ๋˜์–ด ์ตœ์ข… ์ •๋‹ต ํ† ํฐ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋‚˜์˜ฌ ํ™•๋ฅ ์„ ๋น„์•ฝ์ ์œผ๋กœ ๋†’์—ฌ์ฃผ๋Š” ์ง•๊ฒ€๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•ด์š”.

์•„๋ž˜ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•ด์ค˜. ๋‹จ, ๋ฐ”๋กœ ์ฝ”๋“œ๋ฅผ ์“ฐ์ง€ ๋ง๊ณ 
1. ๋ฒ„๊ทธ์˜ ์›์ธ์ด ๋ญ”์ง€ ๋ถ„์„
2. ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ์ˆ˜์ •ํ• ์ง€ ์„ค๋ช…
3. ์ˆ˜์ •๋œ ์ฝ”๋“œ ์ž‘์„ฑ
์ˆœ์„œ๋Œ€๋กœ ๋‹จ๊ณ„๋ณ„๋กœ ์ƒ๊ฐํ•ด์„œ ๋‹ตํ•ด์ค˜.

ํ•œ๊ณ„: ์™œ ํ”„๋กฌํ”„ํŠธ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ• ๊นŒ?

ํ•˜์ง€๋งŒ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์€ ๊ฒฐ๊ตญ '์ž„์‹œ๋ฐฉํŽธ'์ด์—์š”.

ํ† ํฐ์˜ ํœ˜๋ฐœ์„ฑ: ์งˆ๋ฌธ์ด ๊ธธ์–ด์งˆ์ˆ˜๋ก ํ”„๋กฌํ”„ํŠธ ์ž์ฒด๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ํ† ํฐ์ด ๋งŽ์•„์ ธ์„œ ์ •์ž‘ ์ฝ”๋“œ๋ฅผ ์งค ๊ณต๊ฐ„์ด ์ค„์–ด๋“ค์–ด์š”.

๊ด€๋ฆฌ์˜ ์–ด๋ ค์›€: ์งˆ๋ฌธ์„ ์‚ด์ง๋งŒ ๋ฐ”๊ฟ”๋„ ํ™•๋ฅ  ๋ถ„ํฌ๊ฐ€ ๋’คํ‹€๋ ค ๋‹ต๋ณ€์ด ์™„์ „ํžˆ ๋‹ฌ๋ผ์ง€๋Š” '์ทจ์•ฝ์„ฑ'์ด ์žˆ์–ด์š”.

๋…ธ๋™ ์ง‘์•ฝ์ : ๋งค๋ฒˆ ์ฑ„ํŒ…์ฐฝ์— ๊ธธ๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๊ฑด ๊ฐœ๋ฐœ์ž์˜ ์ƒ์‚ฐ์„ฑ์„ ์˜คํžˆ๋ ค ๊ฐ‰์•„๋จน์–ด์š”.


ํ”„๋กฌํ”„ํŠธ์˜ ํ•œ๊ณ„๋ฅผ ๋„˜๋Š” ๋ฐฉ๋ฒ•: ์ปจํ…์ŠคํŠธ ์—”์ง€๋‹ˆ์–ด๋ง

ํ”„๋กฌํ”„ํŠธ๋Š” '๊ธฐ์ˆ '์ด๊ณ , ์ปจํ…์ŠคํŠธ๋Š” '์„ค๊ณ„'์˜ˆ์š”

ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์ด "์ง€๊ธˆ ๋‹น์žฅ ์ด ๋ฌธ์ œ๋ฅผ ์ž˜ ํ’€์–ด๋ด!"๋ผ๊ณ  ์™ธ์น˜๋Š” '์‘์›'์ด๋ผ๋ฉด ์ปจํ…์ŠคํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์€ "๋„ค ์ฑ…์ƒ ์œ„์— ์ด ์ฐธ๊ณ ์„œ๋“ค์„ ์˜ฌ๋ ค๋‘˜๊ฒŒ. ์—ฌ๊ธฐ์„œ ์ •๋‹ต์„ ์ฐพ์•„์„œ ํ’€์–ด"๋ผ๊ณ  ํ™˜๊ฒฝ์„ ์„ธํŒ…ํ•ด ์ฃผ๋Š” '์ง€์›'์ด์—์š”.

RAG (Retrieval-Augmented Generation): ์™ธ๋ถ€ ์ง€์‹์˜ ์‹ค์‹œ๊ฐ„ ์ฃผ์ž…

LLM์€ ํ•™์Šต์ด ๋๋‚œ ์‹œ์  ์ดํ›„์˜ ์ •๋ณด๋‚˜ ๋กœ์ปฌ ์ปดํ“จํ„ฐ์—๋งŒ ์žˆ๋Š” '๋‚˜๋งŒ์˜ ์ฝ”๋“œ'๋ฅผ ์•Œ์ง€ ๋ชปํ•ด์š”. ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•ต์‹ฌ ๊ธฐ์ˆ ์ด ๋ฐ”๋กœ RAG(๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ, Retrieval-Augmented Generation)์˜ˆ์š”.

์ž‘๋™ ์›๋ฆฌ (๊ฒ€์ƒ‰ ํ›„ ์ƒ์„ฑ)

  1. ์‚ฌ์šฉ์ž๊ฐ€ "์ด ์ปดํฌ๋„ŒํŠธ ๋กœ์ง ์ข€ ๊ณ ์ณ์ค˜"๋ผ๊ณ  ์งˆ๋ฌธํ•ด์š”.
  2. ์‹œ์Šคํ…œ์ด ์งˆ๋ฌธ ํ…์ŠคํŠธ๋ฅผ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์š”.
  3. ํ”„๋กœ์ ํŠธ ๋‚ด ๋ฌธ์„œ, ์ฝ”๋“œ ์กฐ๊ฐ๋“ค๋„ ๋ฏธ๋ฆฌ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์ €์žฅํ•ด๋’€๊ธฐ ๋•Œ๋ฌธ์— ์งˆ๋ฌธ ๋ฒกํ„ฐ์™€ ๊ฐ ๋ฌธ์„œ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ cosine similarity(์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„)๋ฅผ ๋น„๊ตํ•ด์š”.
  4. ์œ ์‚ฌ๋„๊ฐ€ ๋†’์€ ๊ด€๋ จ ์ฝ”๋“œ ์กฐ๊ฐ์ด๋‚˜ API ๋ช…์„ธ์„œ๋ฅผ ์ถ”์ถœํ•ด์„œ ํ”„๋กฌํ”„ํŠธ ์•ž์— '์ฐธ๊ณ ์ž๋ฃŒ'๋กœ ๋ถ™์—ฌ AI์—๊ฒŒ ๋ณด๋‚ด์š”.

์•ž์„œ ์„ค๋ช…ํ•œ ์ž„๋ฒ ๋”ฉ์ด ๋ฐ”๋กœ ์ด ๊ณผ์ •์—์„œ ์‹ค์ œ๋กœ ์จ๋จนํ˜€์š”. ์งˆ๋ฌธ๊ณผ ๋ฌธ์„œ๋ฅผ ๊ฐ™์€ ์ขŒํ‘œ ๊ณต๊ฐ„ ์œ„์— ์˜ฌ๋ ค๋†“๊ณ  ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฒƒ๋“ค์„ ์ฐพ์•„๋‚ด๋Š” ๊ฑฐ์ฃ .

์™œ ๊ฐ•๋ ฅํ•œ๊ฐ€?

AI๊ฐ€ ์ž์‹ ์˜ ํฌ๋ฏธํ•œ 'ํ™•๋ฅ ์  ๊ธฐ์–ต'์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ๋ˆˆ์•ž์— ์žˆ๋Š” '์‹ค์ œ ์ž๋ฃŒ(Ground Truth)'๋ฅผ ๋ณด๊ณ  ๋‹ต๋ณ€ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์ด์—์š”. ํ• ๋ฃจ์‹œ๋„ค์ด์…˜์„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ฐฉ์–ดํ•˜๋Š” ๊ฐ€์žฅ ํ™•์‹คํ•œ ๋ฐฉ๋ฒ•์ด์ฃ .

Cursor์—์„œ @Codebase๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ์ ํŠธ ์ „์ฒด๋ฅผ ๋ฒกํ„ฐ ์ธ๋ฑ์‹ฑํ•ด ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด ์ฃผ์ž…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ RAG์™€ ์œ ์‚ฌํ•œ ๋™์ž‘์„ ํ•ด์š”. ๋ฐ˜๋ฉด @ํŒŒ์ผ๋ช…์œผ๋กœ ํŠน์ • ํŒŒ์ผ์„ ์ง€์ •ํ•˜๋Š” ๊ฑด ํ•ด๋‹น ํŒŒ์ผ ์ „์ฒด๋ฅผ ์ปจํ…์ŠคํŠธ์— ์ง์ ‘ ๋ถ™์—ฌ๋„ฃ๋Š” ๋ฐฉ์‹(Context Stuffing)์œผ๋กœ RAG์™€๋Š” ๊ตฌ๋ณ„๋ผ์š”.

๊ตฌ์กฐํ™”๋œ ์ง€์‹ ์„ค๊ณ„: ์ •์  ์ปจํ…์ŠคํŠธ์™€ ๋™์  ์ปจํ…์ŠคํŠธ

์ปจํ…์ŠคํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์˜ ํ•ต์‹ฌ์€ "๋ฌด์—‡์„ ๊ณ ์ •ํ•˜๊ณ  ๋ฌด์—‡์„ ์œ ๋™์ ์œผ๋กœ ์ค„ ๊ฒƒ์ธ๊ฐ€"๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”.

์ •์  ์ปจํ…์ŠคํŠธ (Static Context)

ํ”„๋กœ์ ํŠธ ์ „์ฒด์— ์ ์šฉ๋˜๋Š” ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ทœ์น™์ด์—์š”. Cursor ๊ธฐ์ค€์œผ๋กœ๋Š” .cursor/rules/ ๋””๋ ‰ํ„ฐ๋ฆฌ ์•„๋ž˜์— .mdc ํ˜•์‹์œผ๋กœ ๊ทœ์น™ ํŒŒ์ผ์„ ๋‘๋Š” ๋ฐฉ์‹์ด ํ˜„์žฌ ํ‘œ์ค€์ด์—์š” (๊ณผ๊ฑฐ์— ์“ฐ๋˜ .cursorrules ํŒŒ์ผ์€ Cursor 0.45 ์ดํ›„ deprecated๋์–ด์š”). ๋งค ์งˆ๋ฌธ๋งˆ๋‹ค "์šฐ๋ฆฌ๋Š” Tailwind๋ฅผ ์จ"๋ผ๊ณ  ๋งํ•  ํ•„์š” ์—†์ด ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ๊ฐ’(Default)์œผ๋กœ ํ™•๋ฅ ์„ ๊ณ ์ •ํ•ด๋ฒ„๋ ค์š”.

๋™์  ์ปจํ…์ŠคํŠธ (Dynamic Context)

ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ํŒŒ์ผ, ๊ด€๋ จ๋œ ํƒ€์ž… ์ •์˜, ์ตœ์‹  API ์‘๋‹ต ๊ฐ’ ๋“ฑ ์งˆ๋ฌธ์— ๋”ฐ๋ผ ๋ฐ”๋€Œ๋Š” ์ •๋ณด์˜ˆ์š”. RAG๊ฐ€ ์ด ๋ถ€๋ถ„์„ ๋‹ด๋‹นํ•ด์„œ AI์—๊ฒŒ ํ•„์š”ํ•œ ๋งŒํผ์˜ ์ •๋ณด๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณต๊ธ‰ํ•ด์š”.

๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ (SoC)์™€ ํ† ํฐ ๋‹ค์ด์–ดํŠธ

AI๊ฐ€ ํ•œ ๋ฒˆ์— ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ† ํฐ(Context Window)์€ ์œ ํ•œํ•ด์š”. ๋ฌด์กฐ๊ฑด ๋งŽ์ด ์ฃผ๋Š” ๊ฒŒ ๋Šฅ์‚ฌ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๋œป์ด์—์š”. ๋„ˆ๋ฌด ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฃผ๋ฉด ์˜คํžˆ๋ ค AI์˜ ์ง‘์ค‘๋ ฅ(Attention)์ด ํฉ์–ด์ง€๊ฑฐ๋“ ์š”.

ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ชผ๊ฐœ๋“ฏ ์ปจํ…์ŠคํŠธ๋„ ์ชผ๊ฐœ์•ผ ํ•ด์š”. ์ „์—ญ ๊ทœ์น™์€ ๋ฃจํŠธ์˜ ์„ค์ • ํŒŒ์ผ์— ํŠน์ • ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊นŠ์€ ์„ค๋ช…์€ ํ•ด๋‹น ํด๋”์˜ README.md์— ๋ฐฐ์น˜ํ•ด์„œ AI๊ฐ€ ํ•„์š”ํ•œ ์ˆœ๊ฐ„์— ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ์ฝ๋„๋ก ์œ ๋„ํ•˜๋Š” ๊ฒŒ ์ง„์ •ํ•œ ์—”์ง€๋‹ˆ์–ด๋ง์ด์—์š”.


ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” LLM์„ ์–ด๋–ป๊ฒŒ ๋‹ค๋ค„์•ผ ํ• ๊นŒ

์™œ ์ธ๊ฐ„์ด ๋ณด๊ธฐ ์ข‹์€ ์ฝ”๋“œ๊ฐ€ AI์—๊ฒŒ๋„ ์ข‹์„๊นŒ?

LLM์€ ์ธ๊ฐ„๊ณผ ๋ฌธ๋งฅ์„ ์ดํ•ดํ•˜๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฅด์ง€๋งŒ(์ˆซ์ž์™€ ํ™•๋ฅ ) ์—ญ์„ค์ ์œผ๋กœ ์ธ๊ฐ„์ด ์ฝ๊ธฐ ์ข‹๊ฒŒ ์ง  ์ฝ”๋“œ์—์„œ ์••๋„์ ์ธ ํผํฌ๋จผ์Šค๋ฅผ ๋‚ด์š”. ๊ทธ ์ด์œ ๋Š” LLM์˜ 'ํ•™์Šต ๋ฐ์ดํ„ฐ'์™€ '์ถ”๋ก  ๋ฐฉ์‹'์— ์ˆจ๊ฒจ์ ธ ์žˆ์–ด์š”.

LLM์˜ ๊ต๊ณผ์„œ๋Š” '์‚ฌ๋žŒ์ด ์“ด ๊นจ๋—ํ•œ ์ฝ”๋“œ'์˜ˆ์š”

LLM์€ GitHub์— ๊ณต๊ฐœ๋œ ์ˆ˜์–ต ์ค„์˜ ์ฝ”๋“œ๋ฅผ ํ•™์Šตํ–ˆ์–ด์š”. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ AI๊ฐ€ ์„ฑ๋Šฅ์ด ๊ฒ€์ฆ๋œ ์˜คํ”ˆ์†Œ์Šค๋‚˜ ์œ ๋ช… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€์žฅ ๋น„์ค‘ ์žˆ๊ฒŒ ๊ณต๋ถ€ํ–ˆ๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”. ์ด๋Ÿฐ ๊ณ ํ€„๋ฆฌํ‹ฐ ํ”„๋กœ์ ํŠธ๋“ค์€ 'ํด๋ฆฐ ์ฝ”๋“œ ๊ฐ€์ด๋“œ'๋ฅผ ์ฒ ์ €ํžˆ ๋”ฐ๋ผ์š”.

AI ์ž…์žฅ์—์„œ const a = 1; ๊ฐ™์€ ์ฝ”๋“œ๋ณด๋‹ค const userCount = 1; ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๋” '์ต์ˆ™ํ•˜๊ณ  ์ •๋‹ต์ผ ํ™•๋ฅ ์ด ๋†’์€' ๋ฐ์ดํ„ฐ์˜ˆ์š”. ํด๋ฆฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด AI๋Š” ์ž์‹ ์ด ํ•™์Šตํ–ˆ๋˜ ๊ฐ€์žฅ ํ›Œ๋ฅญํ•œ ์ฝ”๋“œ๋“ค์˜ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ์ •๋‹ต์„ ๋‚ด๋†“๊ฒŒ ๋ผ์š”.

๋ณ€์ˆ˜๋ช…์ด AI์˜ ์ถ”๋ก  ํ’ˆ์งˆ์„ ๋ฐ”๊ฟ”์š”

๋‚˜์œ ์˜ˆ์‹œ

// AI๊ฐ€ ์ด ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œ์š”
function handler(data: any) {
  process(data);
}

data, handler, process ๊ฐ™์€ ์ด๋ฆ„์€ ์˜๋ฏธ ๋ฒ”์œ„๊ฐ€ ๋„ˆ๋ฌด ๋„“์–ด์„œ, ๋ชจ๋ธ์ด ์ด ํ† ํฐ์˜ ์—ญํ• ์„ ์ถ”๋ก ํ•  ๋•Œ Attention ๊ฐ€์ค‘์น˜๊ฐ€ ๋ถ„์‚ฐ๋ผ์š”. ์‹ค์ œ๋กœ ์ด๋Ÿฐ ์ƒํ™ฉ์„ ๊ฒช์—ˆ์–ด์š”. data๋ผ๋Š” ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๊ฐ€ API ์‘๋‹ต ์ฒ˜๋ฆฌ ํ•จ์ˆ˜์™€ ํผ ์ƒํƒœ ๊ด€๋ฆฌ ํ•จ์ˆ˜ ๋‘ ๊ณณ์— ์žˆ์—ˆ๋Š”๋ฐ AI์—๊ฒŒ ์ˆ˜์ •์„ ์š”์ฒญํ–ˆ๋”๋‹ˆ ์—‰๋šฑํ•œ ์ชฝ์„ ๊ฑด๋“œ๋ ธ๊ฑฐ๋“ ์š”. "๋ถ„๋ช…ํžˆ API ์ชฝ ๊ณ ์น˜๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ?" ์‹ถ์—ˆ๋Š”๋ฐ ์•Œ๊ณ  ๋ณด๋‹ˆ AI๊ฐ€ '์ง€๊ธˆ ์ด data๋Š” API ์‘๋‹ต์ธ๊ฐ€, ํผ ์ƒํƒœ์ธ๊ฐ€?'๋ฅผ ์ปจํ…์ŠคํŠธ๋กœ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•˜๊ณ  ๊ธธ์„ ์žƒ์€ ๊ฑฐ์˜€์–ด์š”.

์ข‹์€ ์˜ˆ์‹œ

// AI๊ฐ€ ์ด ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ๋งฅ๋ฝ์„ ์ฆ‰์‹œ ํŒŒ์•…ํ•ด์š”
async function fetchUserProfileById(userId: string): Promise<UserProfile> {
  return await userApi.getProfile(userId);
}

fetchUserProfileById์ฒ˜๋Ÿผ ๋ช…ํ™•ํ•œ ์ด๋ฆ„์€ ๋ชจ๋ธ์ด ์ด ํ† ํฐ์˜ ์—ญํ• ์„ ์ถ”๋ก ํ•  ๋•Œ Attention์ด ์ •ํ™•ํ•œ ๊ณณ์— ์ง‘์ค‘ํ•ด์š”. ์ด๋ฆ„๋งŒ ๋ณด๊ณ ๋„ "์•„, ์ด๊ฑด ์‚ฌ์šฉ์ž ํ”„๋กœํ•„์„ ID๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๋น„๋™๊ธฐ ํ•จ์ˆ˜๊ตฌ๋‚˜!"๋ผ๊ณ  AI๊ฐ€ ํ™•์‹ ์„ ๊ฐ–๊ณ  ๋‹ค์Œ ๋กœ์ง์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ผ์š”.

ํ† ํฐ ํšจ์œจ์„ฑ: ์ ์€ ์–‘์œผ๋กœ ์ตœ๋Œ€์˜ ์ •๋ณด๋Ÿ‰ ์ „๋‹ฌ

์ธ๊ฐ„์ด ๋ณด๊ธฐ ์ข‹์€ ์ฝ”๋“œ๋Š” ๋ณดํ†ต '๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ(SoC)'๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ์–ด์š”. ํ•œ ํŒŒ์ผ์— 2,000์ค„์ด ๋“ค์–ด์žˆ๋Š” ์ฝ”๋“œ๋Š” AI์—๊ฒŒ๋„ 'ํ† ํฐ ๊ณผ๋ถ€ํ•˜'๋ฅผ ์ค˜์š”. ์ค‘์š”ํ•œ ์ •๋ณด(๋งฅ๋ฝ)๊ฐ€ ์ค‘๊ฐ„์— ์„ž์—ฌ์„œ ์ง‘์ค‘๋ ฅ(Attention)์ด ํ๋ ค์ง€๊ธฐ ๋•Œ๋ฌธ์ด์—์š”. ๊ธฐ๋Šฅ์„ ์ž‘๊ฒŒ ์ชผ๊ฐœ๊ณ  ์ด๋ฆ„์„ ์ž˜ ์ง€์–ด๋†“์œผ๋ฉด AI๋Š” ์•„์ฃผ ์ ์€ ์–‘์˜ ํ† ํฐ๋งŒ ์ฝ๊ณ ๋„ ํ˜„์žฌ ์ƒํ™ฉ์„ ์™„๋ฒฝํ•˜๊ฒŒ ํŒŒ์•…ํ•ด์š”.

TypeScript: AI์—๊ฒŒ ์ฃผ๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ '์ง€๋„'

๊ฐœ๋ฐœ์ž์—๊ฒŒ TypeScript๋Š” ๊ท€์ฐฎ์€ ์กด์žฌ?์ผ ์ˆ˜ ์žˆ์ง€๋งŒ AI ํ˜‘์—…์—์„œ๋Š” ์น˜ํŠธํ‚ค์˜ˆ์š”.

// ํƒ€์ž… ์ •์˜๊ฐ€ ์žˆ์œผ๋ฉด AI๋Š” ์ด ๊ตฌ์กฐ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ด์š”
interface UserProfile {
  id: string;
  name: string;
  email: string;
  role: 'admin' | 'user' | 'guest';
}

// ํƒ€์ž… ์—†์ด ์ž‘์„ฑํ•˜๋ฉด AI๊ฐ€ ์—†๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ๋„ ํ•ด์š”
function updateUser(user: UserProfile): void {
  // AI๊ฐ€ user.password ๊ฐ™์€ ์—†๋Š” ํ•„๋“œ๋ฅผ ์“ฐ๋Š” ํ™˜๊ฐ์„ ์ค„์—ฌ์ค˜์š”
}

ํƒ€์ž… ์ •์˜๋Š” AI์—๊ฒŒ "์ด ๊ฐ์ฒด๋Š” ์ด ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์จ์ค˜"๋ผ๊ณ  ๊ฐ•๋ ฅํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์น˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์•„์š”. ํƒ€์ž…์„ ์ž˜ ์ ์–ด๋‘๋ฉด AI๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ• ๋ฃจ์‹œ๋„ค์ด์…˜์„ ์ƒ๋‹นํžˆ ์ค„์ผ ์ˆ˜ ์žˆ์–ด์š”. ๋‹ค๋งŒ ํƒ€์ž…์ด ์žˆ๋‹ค๊ณ  AI ์ฝ”๋“œ ๊ฒ€ํ† ๋ฅผ ์ƒ๋žตํ•ด๋„ ๋œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹ˆ์—์š”.


์ •๋ฆฌ

๋‚ด์ผ ๋‹น์žฅ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์š”.

  1. AI ๊ทœ์น™ ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ - Cursor๋ฅผ ์“ด๋‹ค๋ฉด .cursor/rules/ ๋””๋ ‰ํ„ฐ๋ฆฌ์— .mdc ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”. ๊ธฐ์ˆ  ์Šคํƒ, ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜, ์ ˆ๋Œ€ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š” ํŒจํ„ด์„ ์ ์–ด๋‘๋ฉด ๋งค ๋Œ€ํ™”๋งˆ๋‹ค ๋ฐ˜๋ณต ์„ค๋ช…ํ•˜๋Š” ์‹œ๊ฐ„์ด ์‚ฌ๋ผ์ ธ์š”.
  2. any ์ค„์ด๊ธฐ - TypeScript ํƒ€์ž… ์ •์˜๋ฅผ ๋А์Šจํ•˜๊ฒŒ any๋กœ ์“ฐ๋˜ ๊ณณ์ด ์žˆ๋‹ค๋ฉด ํ•˜๋‚˜์”ฉ ์ขํ˜€๊ฐ€์„ธ์š”.
  3. ๋ณ€์ˆ˜๋ช… ๋‹ค๋“ฌ๊ธฐ - data, item, temp๋กœ ๋œ ๊ณณ์ด ์žˆ๋‹ค๋ฉด ์—ญํ• ์ด ๋“œ๋Ÿฌ๋‚˜๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ”๋ณด์„ธ์š”.

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

AI๊ฐ€ ์–ด๋””์„œ ๊ธธ์„ ์žƒ๋Š”์ง€ ์•Œ๊ณ  ๋‚˜๋ฉด ์ด์ œ ์šฐ๋ฆฌ๊ฐ€ ํ•  ์ผ์€ ๊ทธ ๊ธธ๋ชฉ์— ์ด์ •ํ‘œ๋ฅผ ๋ฏธ๋ฆฌ ์„ธ์›Œ๋‘๋Š” ๊ฑฐ์˜ˆ์š”. ๊ทธ๊ฒŒ ์ „๋ถ€์˜ˆ์š”.


์ฐธ๊ณ  ์ž๋ฃŒ

profile
์–ด์ œ๋ณด๋‹ค ๋‚˜์€ ์˜ค๋Š˜

0๊ฐœ์˜ ๋Œ“๊ธ€