(๋ฒˆ์—ญ) AI ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์ข‹์€ ์ŠคํŽ™ ์ž‘์„ฑ๋ฒ•

์›๋ฌธ : How to write a good spec for AI agents

TL;DR: AI๋ฅผ ์••๋„ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์ถฉ๋ถ„ํžˆ ์„ธ๋ฐ€ํ•œ ์ง€์นจ(๊ตฌ์กฐ, ์Šคํƒ€์ผ, ํ…Œ์ŠคํŠธ, ๊ฒฝ๊ณ„ ์กฐ๊ฑด ๋“ฑ์„ ํฌํ•จ)์„ ๋‹ด์•„ ๋ช…ํ™•ํ•œ ์ŠคํŽ™์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜์„ธ์š”. ํฐ ์ž‘์—…์„ ํ•˜๋‚˜์˜ ๊ฑฐ๋Œ€ํ•œ ํ”„๋กฌํ”„ํŠธ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ž‘์€ ์ž‘์—… ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋จผ์ € ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ์—์„œ ๊ณ„ํš์„ ์„ธ์šด ๋’ค, ์‹คํ–‰ํ•˜๊ณ  ์ง€์†์ ์œผ๋กœ ๋ฐ˜๋ณต ๊ฐœ์„ ํ•˜์„ธ์š”.

โ€œAI ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์ข‹์€ ์ŠคํŽ™ ์ž‘์„ฑ์— ๋Œ€ํ•ด ๋งŽ์ด ๋“ค์—ˆ์ง€๋งŒ, ์•„์ง ์ œ๋Œ€๋กœ ๋œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ฐพ์ง€๋Š” ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. RFC์— ๋งž๋จน๋Š” ์ŠคํŽ™์„ ์“ธ ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ์–ด๋А ์ˆœ๊ฐ„ ์ปจํ…์ŠคํŠธ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ ธ์„œ ๋ชจ๋ธ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.โ€

๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ด์™€ ๊ฐ™์€ ์ขŒ์ ˆ์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ๋ฐฉ๋Œ€ํ•œ ์ŠคํŽ™์„ AI ์—์ด์ „ํŠธ์—๊ฒŒ ๋˜์ ธ์ฃผ๋Š” ๋ฐฉ์‹์€ ํšจ๊ณผ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์˜ ํ•œ๊ณ„์™€ ๋ชจ๋ธ์˜ โ€˜์ฃผ์˜๋ ฅ ์˜ˆ์‚ฐ(attention budget)โ€™์ด ์ด๋ฅผ ๋ฐฉํ•ดํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ์Šค๋งˆํŠธํ•œ ์ŠคํŽ™์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์—์ด์ „ํŠธ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์•ˆ๋‚ดํ•˜๋ฉด์„œ๋„ ์‹ค์šฉ์ ์ธ ์ปจํ…์ŠคํŠธ ํฌ๊ธฐ๋ฅผ ์œ ์ง€ํ•˜๊ณ , ํ”„๋กœ์ ํŠธ์™€ ํ•จ๊ป˜ ์ง„ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ๋Š” Claude Code, Gemini CLI ๋“ฑ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์–ป์€ ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, AI ์—์ด์ „ํŠธ๋ฅผ ์ง‘์ค‘๋ ฅ ์žˆ๊ณ  ์ƒ์‚ฐ์ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ์ŠคํŽ™ ์ž‘์„ฑ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” ํ›Œ๋ฅญํ•œ AI ์—์ด์ „ํŠธ ์ŠคํŽ™์„ ์œ„ํ•œ ๋‹ค์„ฏ ๊ฐ€์ง€ ์›์น™์„ ๋‹ค๋ฃจ๋ฉฐ, ๊ฐ ์›์น™์€ ๊ตต์€ ํ•ต์‹ฌ ์š”์•ฝ์œผ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

1. ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋น„์ „๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ณ , ์„ธ๋ถ€ ์‚ฌํ•ญ์€ AI๊ฐ€ ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜๋„๋ก ํ•˜์„ธ์š”

ํ”„๋กœ์ ํŠธ๋Š” ๊ฐ„๊ฒฐํ•œ ์ƒ์œ„ ์ˆ˜์ค€ ์ŠคํŽ™์œผ๋กœ ์‹œ์ž‘ํ•œ ๋’ค, AI๊ฐ€ ์ด๋ฅผ ๊ตฌ์ฒดํ™”ํ•˜์—ฌ ์ƒ์„ธ ๊ณ„ํš๊นŒ์ง€ ์ž‘์„ฑํ•˜๋„๋ก ํ•˜์„ธ์š”.

์ฒ˜์Œ๋ถ€ํ„ฐ ๊ณผ๋„ํ•˜๊ฒŒ ์„ค๊ณ„ํ•˜๋ ค ํ•˜์ง€ ๋ง๊ณ , ๋ช…ํ™•ํ•œ ๋ชฉํ‘œ ์„ค๋ช…๊ณผ ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. ์ด๋ฅผ โ€œ์ œํ’ˆ ๋ธŒ๋ฆฌํ”„โ€์ฒ˜๋Ÿผ ๋‹ค๋ฃจ๊ณ , ์—์ด์ „ํŠธ๊ฐ€ ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋” ์ •๊ตํ•œ ์ŠคํŽ™์„ ์ƒ์„ฑํ•˜๊ฒŒ ํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฐฉํ–ฅ์„ฑ์€ ์—ฌ๋Ÿฌ๋ถ„์ด ํ†ต์ œํ•˜๋ฉด์„œ, ์„ธ๋ถ€ ํ™•์žฅ์€ AI์˜ ๊ฐ•์ ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ˜๋“œ์‹œ ์ถฉ์กฑํ•ด์•ผ ํ•  ๋งค์šฐ ๊ตฌ์ฒด์ ์ธ ๊ธฐ์ˆ  ์š”๊ตฌ์‚ฌํ•ญ์ด ์ด๋ฏธ ์žˆ๋‹ค๋ฉด ์˜ˆ์™ธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฐฉ์‹์ด ํšจ๊ณผ์ ์ธ ์ด์œ 

LLM ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ๋Š” ๋ช…ํ™•ํ•œ ์ƒ์œ„ ์ง€์นจ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๊ตฌ์ฒดํ™”ํ•˜๋Š” ๋ฐ ๋งค์šฐ ๋›ฐ์–ด๋‚˜์ง€๋งŒ, ๋ถ„๋ช…ํ•œ ๋ฏธ์…˜์ด ์—†์œผ๋ฉด ์‰ฝ๊ฒŒ ๋ฐฉํ–ฅ์„ ์žƒ์Šต๋‹ˆ๋‹ค. ์งง์€ ๊ฐœ์š”๋‚˜ ๋ชฉํ‘œ ์„ค๋ช…์„ ์ œ๊ณตํ•˜๊ณ , AI์—๊ฒŒ ์ „์ฒด ์ŠคํŽ™(์˜ˆ: spec.md)์„ ์ž‘์„ฑํ•˜๋„๋ก ์š”์ฒญํ•˜๋ฉด, ์—์ด์ „ํŠธ๊ฐ€ ๊ณ„์† ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์†์ ์ธ ๊ธฐ์ค€์ ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜๋ก ์‚ฌ์ „ ๊ณ„ํš์˜ ์ค‘์š”์„ฑ์€ ๋” ์ปค์ง‘๋‹ˆ๋‹ค. ๋จผ์ € ๊ณ„ํš์„ ๋ฐ˜๋ณต ๊ฐœ์„ ํ•œ ๋’ค, ์—์ด์ „ํŠธ์—๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋„๋ก ๋„˜๊ธธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์ŠคํŽ™์€ ์—ฌ๋Ÿฌ๋ถ„๊ณผ AI๊ฐ€ ํ•จ๊ป˜ ๋งŒ๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ์‚ฐ์ถœ๋ฌผ์ด ๋ฉ๋‹ˆ๋‹ค.

์‹ค๋ฌด์ ์ธ ์ ‘๊ทผ๋ฒ•

์ƒˆ๋กœ์šด ์ฝ”๋”ฉ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ๋•Œ ์ด๋ ‡๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์จ๋ณด์„ธ์š”. โ€œ๋‹น์‹ ์€ AI ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด์ž…๋‹ˆ๋‹ค. [ํ”„๋กœ์ ํŠธ X]์— ๋Œ€ํ•ด ๋ชฉํ‘œ, ๊ธฐ๋Šฅ, ์ œ์•ฝ ์กฐ๊ฑด, ๋‹จ๊ณ„๋ณ„ ๊ณ„ํš์„ ๋ชจ๋‘ ํฌํ•จํ•œ ์ƒ์„ธ ์ŠคํŽ™์„ ์ž‘์„ฑํ•˜์„ธ์š”.โ€ ์ดˆ๊ธฐ ํ”„๋กฌํ”„ํŠธ๋Š” ๋ฐ˜๋“œ์‹œ ์ƒ์œ„ ์ˆ˜์ค€์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, โ€œ์‚ฌ์šฉ์ž๊ฐ€ ํ•  ์ผ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์•ฑ์„ ๋งŒ๋“œ์„ธ์š”(ํ•  ์ผ ๋ชฉ๋ก), ์‚ฌ์šฉ์ž ๊ณ„์ •, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๊ฐ„๋‹จํ•œ UI ํฌํ•จโ€์ฒ˜๋Ÿผ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ๋งŒ ๊ฐ„๋‹จํžˆ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•ด ์—์ด์ „ํŠธ๋Š” ๊ฐœ์š”, ๊ธฐ๋Šฅ ๋ชฉ๋ก, ๊ธฐ์ˆ  ์Šคํƒ ์ œ์•ˆ, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋“ฑ ๊ตฌ์กฐํ™”๋œ ์ดˆ์•ˆ ์ŠคํŽ™์œผ๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ž‘์„ฑ๋œ ์ŠคํŽ™์€ ์—ฌ๋Ÿฌ๋ถ„๊ณผ AI ๋ชจ๋‘๊ฐ€ ๊ณ„์†ํ•ด์„œ ์ฐธ๊ณ ํ•˜๋Š” โ€œ๋‹จ์ผ ์ง„์‹ค์˜ ์›์ฒœ(source of truth)โ€์ด ๋ฉ๋‹ˆ๋‹ค. GitHub์˜ AI ํŒ€์€ ์ŠคํŽ™ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ์ง€์ง€ํ•˜๋ฉฐ, โ€œ์ŠคํŽ™์€ ํ”„๋กœ์ ํŠธ์™€ ํ•จ๊ป˜ ๋ฐœ์ „ํ•˜๋Š” ๊ณต์œ ๋œ ์†Œ์Šค์ด๋ฉฐ, ์‚ด์•„์žˆ๋Š” ์‹คํ–‰ ์‚ฐ์ถœ๋ฌผ์ด๋‹คโ€๋ผ๊ณ  ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— AI๊ฐ€ ์ž‘์„ฑํ•œ ์ŠคํŽ™์„ ๋ฐ˜๋“œ์‹œ ๊ฒ€ํ† ํ•˜๊ณ , ์—ฌ๋Ÿฌ๋ถ„์˜ ๋น„์ „๊ณผ ๋งž๋Š”์ง€ ํ™•์ธํ•˜๋ฉฐ ํ™˜๊ฐ์ด๋‚˜ ๋ฐฉํ–ฅ์ด ์–ด๊ธ‹๋‚œ ๋ถ€๋ถ„์€ ์ˆ˜์ •ํ•˜์„ธ์š”.

๊ณ„ํš ์šฐ์„  ๋ฐฉ์‹์„ ์ ์šฉํ•˜๋ ค๋ฉด Plan Mode๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”

Claude Code์™€ ๊ฐ™์€ ๋„๊ตฌ์—๋Š” ์—์ด์ „ํŠธ๋ฅผ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์ œํ•œํ•˜๋Š” Plan Mode๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ƒ์„ธ ๊ณ„ํš์„ ์ž‘์„ฑํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ์ฝ”๋“œ ์ž‘์„ฑ์€ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„ํš ๋‹จ๊ณ„์— ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. Plan Mode(Claude Code์—์„œ๋Š” Shift+Tab)๋ฅผ ์ผœ๊ณ  ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๊ฒƒ์„ ์„ค๋ช…ํ•˜๋ฉด, ์—์ด์ „ํŠธ๊ฐ€ ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ ์ŠคํŽ™์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ชจํ˜ธํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•˜๋„๋ก ์š”์ฒญํ•˜์„ธ์š”. ์•„ํ‚คํ…์ฒ˜, ๋ชจ๋ฒ” ์‚ฌ๋ก€, ๋ณด์•ˆ ์œ„ํ—˜, ํ…Œ์ŠคํŠธ ์ „๋žต์„ ๊ฒ€ํ† ํ•˜๊ฒŒ ํ•˜์„ธ์š”. ์˜คํ•ด์˜ ์—ฌ์ง€๊ฐ€ ์—†์„ ๋•Œ๊นŒ์ง€ ๊ณ„ํš์„ ๋‹ค๋“ฌ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ์—์•ผ Plan Mode๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰ํ•˜๋„๋ก ํ—ˆ์šฉํ•˜์„ธ์š”. ์ด ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์ŠคํŽ™์ด ์ถฉ๋ถ„ํžˆ ๋‹ค๋“ฌ์–ด์ง€๊ธฐ ์ „์— ๊ณง๋ฐ”๋กœ ์ฝ”๋“œ ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•˜๋Š” ํ”ํ•œ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ŠคํŽ™์„ ์ปจํ…์ŠคํŠธ๋กœ ํ™œ์šฉํ•˜์„ธ์š”

์Šน์ธ๋œ ์ŠคํŽ™์€ SPEC.md ๊ฐ™์€ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ณ , ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๊ด€๋ จ ์„น์…˜์„ ์—์ด์ „ํŠธ์—๊ฒŒ ์ œ๊ณตํ•˜์„ธ์š”. ๊ฐ•๋ ฅํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ด ๋ฐฉ์‹์„ ์”๋‹ˆ๋‹ค. ์ŠคํŽ™ ํŒŒ์ผ์€ ์„ธ์…˜ ๊ฐ„์—๋„ ์œ ์ง€๋˜๋ฉฐ, ์ž‘์—…์„ ์žฌ๊ฐœํ•  ๋•Œ๋งˆ๋‹ค AI๊ฐ€ ๊ธฐ์ค€์ ์„ ์žƒ์ง€ ์•Š๋„๋ก ์žก์•„์ค๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€ํ™” ๊ธฐ๋ก์ด ๊ธธ์–ด์ง€๊ฑฐ๋‚˜ ์—์ด์ „ํŠธ๋ฅผ ์žฌ์‹œ์ž‘ํ•ด์•ผ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” โ€˜๋ง๊ฐโ€™์„ ์™„ํ™”ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์—์„œ PRD๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ, ์ธ๊ฐ„๊ณผ AI ๋ชจ๋‘๊ฐ€ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ํ•œ ์—”์ง€๋‹ˆ์–ด์˜ ๋ง์ฒ˜๋Ÿผ, โ€œ๋จผ์ € ์ข‹์€ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด, ๋ชจ๋ธ์€ ๊ทธ ์ž…๋ ฅ๋งŒ์œผ๋กœ๋„ ๊ตฌํ˜„์„ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹คโ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ฌธ์„œ๊ฐ€ ๋ฐ”๋กœ ์ŠคํŽ™์ž…๋‹ˆ๋‹ค.

๋ชฉํ‘œ ์ค‘์‹ฌ์œผ๋กœ ์œ ์ง€ํ•˜์„ธ์š”

AI ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์ƒ์œ„ ์ˆ˜์ค€ ์ŠคํŽ™์€ ์ดˆ๊ธฐ์—๋Š” โ€˜์–ด๋–ป๊ฒŒโ€™๋ณด๋‹ค โ€˜๋ฌด์—‡โ€™๊ณผ โ€˜์™œโ€™์— ์ง‘์ค‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ์™€ ์ˆ˜์šฉ ๊ธฐ์ค€์„ ๋– ์˜ฌ๋ ค ๋ณด์„ธ์š”. ๋ˆ„๊ฐ€ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€? ๋ฌด์—‡์ด ํ•„์š”ํ•œ๊ฐ€? ์„ฑ๊ณต์˜ ๊ธฐ์ค€์€ ๋ฌด์—‡์ธ๊ฐ€? (์˜ˆ: โ€œ์‚ฌ์šฉ์ž๋Š” ํ•  ์ผ์„ ์ถ”๊ฐ€, ์ˆ˜์ •, ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋Š” ์˜๊ตฌ ์ €์žฅ๋˜๊ณ  ์•ฑ์€ ๋ฐ˜์‘ํ˜•์ด๋ฉฐ ์•ˆ์ „ํ•ด์•ผ ํ•œ๋‹คโ€). ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด AI๊ฐ€ ๋‹จ์ˆœํ•œ ๊ธฐ์ˆ ์  ํ•  ์ผ ๋ชฉ๋ก์ด ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž์™€ ๊ฒฐ๊ณผ์— ๊ธฐ๋ฐ˜ํ•ด ์ƒ์„ธ ์ŠคํŽ™์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. GitHub Spec Kit ๋ฌธ์„œ์—์„œ๋„ โ€œ๋ฌด์—‡์„ ์™œ ๋งŒ๋“œ๋Š”์ง€์— ๋Œ€ํ•œ ์ƒ์œ„ ์ˆ˜์ค€์˜ ์„ค๋ช…์„ ์ œ๊ณตํ•˜๊ณ , ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ์„ฑ๊ณต ๊ธฐ์ค€์— ์ดˆ์ ์„ ๋งž์ถ˜ ์ƒ์„ธ ์ŠคํŽ™์€ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ์ƒ์„ฑํ•˜๊ฒŒ ํ•˜๋ผโ€๋ผ๊ณ  ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ํฐ ๊ทธ๋ฆผ์ด ์ดํ›„ ์ฝ”๋”ฉ ๋‹จ๊ณ„์—์„œ ๋‚˜๋ฌด๋งŒ ๋ณด๊ณ  ์ˆฒ์„ ๋ณด์ง€ ๋ชปํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค.

2. ์ „๋ฌธ์ ์ธ PRD(๋˜๋Š” SRS)์ฒ˜๋Ÿผ ์ŠคํŽ™์„ ๊ตฌ์กฐํ™”ํ•˜์„ธ์š”

AI ์ŠคํŽ™์„ ์ •๋ฆฌ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ๊ฐ€ ์•„๋‹ˆ๋ผ, ๋ช…ํ™•ํ•œ ์„น์…˜์„ ๊ฐ€์ง„ ๊ตฌ์กฐํ™”๋œ ๋ฌธ์„œ(PRD)๋กœ ๋‹ค๋ฃจ์„ธ์š”.

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

์—ฌ์„ฏ ๊ฐ€์ง€ ํ•ต์‹ฌ ์˜์—ญ

GitHub๊ฐ€ 2,500๊ฐœ ์ด์ƒ์˜ ์—์ด์ „ํŠธ ์„ค์ • ํŒŒ์ผ์„ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ, ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ์ŠคํŽ™์—๋Š” ๊ณตํ†ต์ ์œผ๋กœ ์—ฌ์„ฏ ๊ฐ€์ง€ ์˜์—ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์™„์„ฑ๋„ ์ ๊ฒ€์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜์„ธ์š”.

1. ๋ช…๋ น์–ด(Commands)

๋‹จ์ˆœํ•œ ๋„๊ตฌ ์ด๋ฆ„์ด ์•„๋‹ˆ๋ผ, ํ”Œ๋ž˜๊ทธ๊นŒ์ง€ ํฌํ•จํ•œ ์‹ค์ œ ์‹คํ–‰ ๋ช…๋ น์–ด๋ฅผ ์•ž๋ถ€๋ถ„์— ๋ฐฐ์น˜ํ•˜์„ธ์š”. (์˜ˆ: npm test, pytest -v, npm run build) ์—์ด์ „ํŠธ๋Š” ์ด๋ฅผ ์ง€์†์ ์œผ๋กœ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

2. ํ…Œ์ŠคํŠธ(Testing)

ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ฐฉ๋ฒ•, ์‚ฌ์šฉํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ, ํ…Œ์ŠคํŠธ ํŒŒ์ผ ์œ„์น˜, ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋Œ€์น˜ ๋“ฑ์„ ๋ช…์‹œํ•˜์„ธ์š”.

3. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ(Project structure)

์†Œ์Šค ์ฝ”๋“œ, ํ…Œ์ŠคํŠธ, ๋ฌธ์„œ์˜ ์œ„์น˜๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”. (์˜ˆ: โ€œsrc/๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ, tests/๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ, docs/๋Š” ๋ฌธ์„œโ€)

4. ์ฝ”๋“œ ์Šคํƒ€์ผ(Code style)

์Šคํƒ€์ผ์„ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ๋‹จ ์„ธ ๊ฐœ๋ณด๋‹ค, ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์ œ ํ•˜๋‚˜๊ฐ€ ํ›จ์”ฌ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ๋ช…๋ช… ๊ทœ์น™, ํฌ๋งทํŒ… ๊ทœ์น™, ์ข‹์€ ์ถœ๋ ฅ ์˜ˆ์‹œ๋ฅผ ํฌํ•จํ•˜์„ธ์š”.

5. Git ์›Œํฌํ”Œ๋กœ์šฐ(Git workflow)

๋ธŒ๋žœ์น˜ ๋ช…๋ช… ๊ทœ์น™, ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ํ˜•์‹, PR ์š”๊ตฌ์‚ฌํ•ญ ๋“ฑ์„ ๋ช…์‹œํ•˜๋ฉด ์—์ด์ „ํŠธ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6. ์ž‘์—… ๊ฒฝ๊ณ„(Boundaries)

์—์ด์ „ํŠธ๊ฐ€ ์ ˆ๋Œ€ ๊ฑด๋“œ๋ ค์„œ๋Š” ์•ˆ ๋˜๋Š” ๊ฒƒ๋“ค์„ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”. (์˜ˆ: ๋น„๋ฐ€ ์ •๋ณด, vendor ๋””๋ ‰ํ„ฐ๋ฆฌ, ํ”„๋กœ๋•์…˜ ์„ค์ •, ํŠน์ • ํด๋” ๋“ฑ) ๊ฐ€์žฅ ํ”ํ•˜๋ฉด์„œ๋„ ์œ ์šฉํ•œ ์ œ์•ฝ ์กฐ๊ฑด์€ โ€œ๋น„๋ฐ€ ์ •๋ณด ์ ˆ๋Œ€ ์ปค๋ฐ‹ ๊ธˆ์ง€โ€์˜€์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ์€ ๊ตฌ์ฒด์ ์œผ๋กœ ๋ช…์‹œํ•˜์„ธ์š”

โ€œ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธโ€๊ฐ€ ์•„๋‹ˆ๋ผ โ€œํƒ€์ž…์Šคํฌ๋ฆฝํŠธ, Vite, Tailwind CSS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ์•กํŠธ 18โ€์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜์„ธ์š”. ๋ฒ„์ „๊ณผ ํ•ต์‹ฌ ์˜์กด์„ฑ์„ ํฌํ•จํ•˜์„ธ์š”. ๋ชจํ˜ธํ•œ ์ŠคํŽ™์€ ๋ชจํ˜ธํ•œ ์ฝ”๋“œ๋ฅผ ๋‚ณ์Šต๋‹ˆ๋‹ค.

์ผ๊ด€๋œ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์„ธ์š”

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

# ํ”„๋กœ์ ํŠธ ์ŠคํŽ™: ํŒ€ ์ „์šฉ ํ•  ์ผ ๊ด€๋ฆฌ ์•ฑ

## ๋ชฉํ‘œ
- ์†Œ๊ทœ๋ชจ ํŒ€์ด ์ž‘์—…์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์•ฑ์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

## ๊ธฐ์ˆ  ์Šคํƒ
- React 18+, TypeScript, Vite, Tailwind CSS
- Node.js/Express, PostgreSQL, Prisma ORM

## ์ปค๋งจ๋“œ
- Build: `npm run build`
- Test: `npm test`
- Lint: `npm run lint --fix`

## ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ
- `src/` โ€“ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ
- `tests/` โ€“ ํ…Œ์ŠคํŠธ
- `docs/` โ€“ ๋ฌธ์„œ

## ์ž‘์—… ๊ฒฝ๊ณ„
- โœ… ํ•ญ์ƒ: ์ปค๋ฐ‹ ์ „ ํ…Œ์ŠคํŠธ ์‹คํ–‰
- โš ๏ธ ๋จผ์ € ๋ฌธ์˜: DB ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ
- ๐Ÿšซ ์ ˆ๋Œ€ ๊ธˆ์ง€: ๋น„๋ฐ€ ์ •๋ณด ์ปค๋ฐ‹

์ด๋Ÿฌํ•œ ์ˆ˜์ค€์˜ ์ฒด๊ณ„ํ™”๋Š” ๋ช…ํ™•ํ•œ ์‚ฌ๊ณ ๋ฅผ ๋•๋Š” ๋™์‹œ์— AI๊ฐ€ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ๋ฐ๋„ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์—”ํŠธ๋กœํ”ฝ ์—”์ง€๋‹ˆ์–ด๋“ค ๋˜ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ <๋ฐฐ๊ฒฝ>, <์ง€์นจ>, <๋„๊ตฌ>, <์ถœ๋ ฅ ํฌ๋งท>์ฒ˜๋Ÿผ ๊ตฌ๋ถ„ํ•˜๋ผ๊ณ  ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋ธ์—๊ฒŒ ์ •๋ณด์˜ ์„ฑ๊ฒฉ์„ ๋ช…ํ™•ํžˆ ์•Œ๋ ค ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. โ€œ์ตœ์†Œํ•œโ€์€ โ€œ์งง์Œโ€๊ณผ ๋™์ผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๋””ํ…Œ์ผ์ด๋ผ๋ฉด ์ถฉ๋ถ„ํžˆ ํฌํ•จํ•˜๋˜, ํ•ต์‹ฌ์— ์ง‘์ค‘ํ•˜์„ธ์š”.

์ŠคํŽ™์„ ํˆด์ฒด์ธ์— ํ†ตํ•ฉํ•˜์„ธ์š”

์ŠคํŽ™์„ ๋ฒ„์ „ ๊ด€๋ฆฌ์™€ CI/CD์— ์—ฐ๊ฒฐ๋œ โ€œ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์‚ฐ์ถœ๋ฌผโ€๋กœ ๋‹ค๋ฃจ์„ธ์š”. GitHub Spec Kit์€ ์ŠคํŽ™์„ ์—”์ง€๋‹ˆ์–ด๋ง ํ”„๋กœ์„ธ์Šค์˜ ์ค‘์‹ฌ์— ๋‘๋Š” 4๋‹จ๊ณ„ ๊ฒŒ์ดํŠธ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™์„ ์ž‘์„ฑํ•œ ํ›„ ๋ฐฉ์น˜ํ•˜๋Š” ๋Œ€์‹ , ์ŠคํŽ™์ด ๊ตฌํ˜„, ์ฒดํฌ๋ฆฌ์ŠคํŠธ, ์ž‘์—… ๋ถ„ํ• ์„ ์ฃผ๋„ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ์ฃผ์š” ์—ญํ• ์€ ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•˜๋Š” ๊ฒƒ์ด๊ณ , ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์„ฑ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„๋Š” ํŠน์ • ์ž„๋ฌด๋ฅผ ๊ฐ€์ง€๋ฉฐ, ํ˜„์žฌ ์ž‘์—…์ด ์™„์ „ํžˆ ๊ฒ€์ฆ์ด ๋๋‚˜์•ผ ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.

์ŠคํŽ™ ์ฃผ๋„ ๊ฐœ๋ฐœ

1. ์ŠคํŽ™(Specify)

๋ฌด์—‡์„ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์™œ ๋งŒ๋“œ๋Š”์ง€์— ๋Œ€ํ•œ ๊ณ ์ˆ˜์ค€ ์„ค๋ช…์„ ์ œ๊ณตํ•˜์„ธ์š”. ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋Š” ์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ƒ์„ธํ•œ ์ŠคํŽ™์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ธฐ์ˆ  ์Šคํƒ์ด๋‚˜ ๊ตฌ์ฒด์  ๋””์ž์ธ์ด ์•„๋‹ˆ๋ผ, ์‚ฌ์šฉ์ž ์—ฌ์ •, ๊ฒฝํ—˜, ์„ฑ๊ณต์˜ ๊ธฐ์ค€ ๋“ฑ์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ฐ€ ์ด ์ œํ’ˆ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€, ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”์ง€, ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€์™€ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ๋ช…ํ™•ํžˆ ๊ธฐ์ˆ ํ•˜์„ธ์š”. ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฝํ—˜ํ•˜๊ฒŒ ๋  ์ „๋ฐ˜์ ์ธ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๊ณ , ์„ธ๋ถ€์‚ฌํ•ญ์˜ ๊ตฌ์ฒดํ™”๋Š” ์—์ด์ „ํŠธ์—๊ฒŒ ๋งก๊ธฐ์„ธ์š”. ์ด๋Ÿฌํ•œ ์ŠคํŽ™์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ ์‚ด์•„ ์›€์ง์ด๋ฉฐ ์ง„ํ™”ํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

2. ๊ณ„ํš(Plan)

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

3. ์ž‘์—…(Tasks)

์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋Š” ์ŠคํŽ™๊ณผ ๊ณ„ํš์„ ๋ฐ”ํƒ•์œผ๋กœ ์‹ค์ œ ์ž‘์—… ๋‹จ์œ„๋กœ ์ชผ๊ฐญ๋‹ˆ๋‹ค. ๊ฐ ์ž‘์—…์€ ์ž‘๊ณ  ๊ฒ€ํ† ๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฉฐ, ์ „์ฒด ํผ์ฆ์˜ ํŠน์ • ์กฐ๊ฐ์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ž‘์—…์€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, โ€œ์ธ์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„โ€๊ณผ ๊ฐ™์ด ๋ชจํ˜ธํ•œ ๊ฒƒ๋ณด๋‹ค โ€œ์ด๋ฉ”์ผ ํ˜•์‹์„ ๊ฒ€์ฆํ•˜๋Š” ํšŒ์›๊ฐ€์ž… ์—”๋“œํฌ์ธํŠธ ๊ตฌํ˜„โ€๊ณผ ๊ฐ™์€ ๊ตฌ์ฒด์ ์ธ ๋‹จ์œ„๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

4. ๊ตฌํ˜„(Implement)

์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋Š” ์ž‘์—… ๋‹จ์œ„๋ฅผ ํ•˜๋‚˜์”ฉ ๋˜๋Š” ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์ฒœ ์ค„์งœ๋ฆฌ ์ฝ”๋“œ ๋คํ”„ ๋Œ€์‹ , ๊ฐ ์ž‘์—…๋ณ„๋กœ ์ง‘์ค‘๋œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” โ€œ๋ฌด์—‡โ€(์ŠคํŽ™), โ€œ์–ด๋–ป๊ฒŒโ€(๊ณ„ํš), โ€œ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€โ€(์ž‘์—…)์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์ธ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡๋ณด๋‹ค๋„, ๊ฐ ๋‹จ๊ณ„์—์„œ ์‚ฌ์šฉ์ž(์‚ฌ๋žŒ)์˜ ๊ฒ€ํ† ์™€ ํ”ผ๋“œ๋ฐฑ์„ ๊ฑฐ์ณ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™์ด ์ ํ•ฉํ•œ์ง€, ๊ณ„ํš์ด ์ œ์•ฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋Š”์ง€, AI๊ฐ€ ๋†“์นœ ์—ฃ์ง€์ผ€์ด์Šค๊ฐ€ ์—†๋Š”์ง€ ๋“ฑ์„ ๊ฒ€์ฆํ•˜์„ธ์š”. ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ์ฒดํฌํฌ์ธํŠธ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๋น„ํŒ์  ์‹œ๊ฐ์œผ๋กœ ๋นˆํ‹ˆ์„ ๋ฐœ๊ฒฌํ•˜๊ณ , ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ˜์˜ํ•˜์—ฌ ๋ฐฉํ–ฅ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋‹จ๊ณ„์  ์›Œํฌํ”Œ๋กœ์šฐ๋Š” Willison์ด ๋งํ•œ โ€œ๊ธฐ์ดˆ๊ฐ€ ๋ถ€์‹คํ•˜์—ฌ ๋ฌด๋„ˆ์ง€๊ธฐ ์‰ฌ์šด(house of cards) ์ฝ”๋“œโ€, ์ฆ‰, ๊ฒ‰๋ณด๊ธฐ์—” ๊ทธ๋Ÿด๋“ฏํ•˜์ง€๋งŒ ๊ฒ€์ฆ ์•ž์—์„œ ๋ฌด๋„ˆ์ง€๋Š” ์ทจ์•ฝํ•œ AI ์‚ฐ์ถœ๋ฌผ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์—”ํŠธ๋กœํ”ฝ์˜ Skills ์‹œ์Šคํ…œ๋„ ๋น„์Šทํ•œ ํŒจํ„ด์„ ์ œ๊ณตํ•˜๋ฉฐ, ์—์ด์ „ํŠธ๊ฐ€ ํ˜ธ์ถœํ•˜๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋งˆํฌ๋‹ค์šด ๊ธฐ๋ฐ˜ ๋™์ž‘์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค. ์ด ์›Œํฌํ”Œ๋กœ์šฐ์— ์ŠคํŽ™์„ ๋‚ด์žฅํ•˜๋ฉด, ์ŠคํŽ™์ด ๊ฒ€์ฆ๋˜๊ธฐ ์ „๊นŒ์ง€ ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ž‘์—… ๋ถ„ํ•ด์™€ ํ…Œ์ŠคํŠธ์— ์ž๋™์œผ๋กœ ์ „ํŒŒ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

agents.md๋ฅผ ํ†ตํ•œ ํŠนํ™”๋œ ํŽ˜๋ฅด์†Œ๋‚˜ ๊ณ ๋ ค

GitHub Copilot ๊ฐ™์€ ๋„๊ตฌ์—์„œ๋Š” agents.md ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ํŠนํ™”๋œ ์—์ด์ „ํŠธ ํŽ˜๋ฅด์†Œ๋‚˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ์ˆ  ๋ฌธ์„œ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” @docs-agent, QA๋ฅผ ์œ„ํ•œ @test-agent, ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์œ„ํ•œ @security-agent ๊ฐ™์€ ์‹์ž…๋‹ˆ๋‹ค. ๊ฐ ํŒŒ์ผ์€ ํ•ด๋‹น ํŽ˜๋ฅด์†Œ๋‚˜์˜ ํ–‰๋™, ๋ช…๋ น, ๊ฒฝ๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ์ง‘์ค‘๋œ ์ŠคํŽ™ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฒ”์šฉ ์—์ด์ „ํŠธ ํ•˜๋‚˜๋ฅผ ์“ฐ๋Š” ๋Œ€์‹ , ์ž‘์—…๋ณ„๋กœ ๋‹ค๋ฅธ ์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์—์ด์ „ํŠธ ๊ฒฝํ—˜(AX)์„ ์œ„ํ•œ ์„ค๊ณ„

๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜(DX)์„ ์œ„ํ•ด API๋ฅผ ์„ค๊ณ„ํ•˜๋“ฏ์ด, ์—์ด์ „ํŠธ ๊ฒฝํ—˜(AX)์„ ์œ„ํ•œ ์ŠคํŽ™ ์„ค๊ณ„๋„ ๊ณ ๋ คํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์—์ด์ „ํŠธ๊ฐ€ ํŒŒ์‹ฑํ•˜๊ธฐ ์‰ฌ์šด ๊น”๋”ํ•œ ํ˜•์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๊ฐ€ ์†Œ๋น„ํ•  API๋ฅผ ์œ„ํ•œ OpenAPI ์Šคํ‚ค๋งˆ, LLM ์†Œ๋น„๋ฅผ ์œ„ํ•ด ๋ฌธ์„œ๋ฅผ ์š”์•ฝํ•œ llms.txt ํŒŒ์ผ, ๊ทธ๋ฆฌ๊ณ  ๋ช…์‹œ์ ์ธ ํƒ€์ž… ์ •์˜ ๋“ฑ์ด ์—ฌ๊ธฐ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Agentic AI Foundation(AAIF)์€ ๋„๊ตฌ ํ†ตํ•ฉ์„ ์œ„ํ•œ MCP(Model Context Protocol) ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์„ ํ‘œ์ค€ํ™”ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋Ÿฐ ํŒจํ„ด์„ ๋”ฐ๋ฅด๋Š” ์ŠคํŽ™์€ ์—์ด์ „ํŠธ๊ฐ€ ๋” ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ํ–‰๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PRD vs SRS ์‚ฌ๊ณ ๋ฐฉ์‹

๊ธฐ์กด ๋ฌธ์„œํ™” ๊ด€ํ–‰์„ ์ฐจ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. AI ์—์ด์ „ํŠธ ์ŠคํŽ™์—์„œ๋Š” ๋ณดํ†ต ์ด ๋‘˜์„ ํ•˜๋‚˜์˜ ๋ฌธ์„œ๋กœ ์„ž์–ด ์“ฐ๊ฒŒ ๋˜์ง€๋งŒ, ๋‘ ๊ด€์ ์„ ๋ชจ๋‘ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. PRD์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜๋ฉด โ€œ๊ฐ ๊ธฐ๋Šฅ์˜ ์™œ(why)โ€ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ค‘์‹ฌ ๋งฅ๋ฝ์„ ํฌํ•จํ•˜๊ฒŒ ๋˜์–ด AI๊ฐ€ ์—‰๋šฑํ•œ ์ตœ์ ํ™”๋ฅผ ํ•˜์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— SRS์ฒ˜๋Ÿผ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ํ™•์žฅํ•˜๋ฉด, AI๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ตฌ์ฒด์ ์ธ ์ •๋ณด(์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ API๋ฅผ ์“ฐ๋Š”์ง€ ๋“ฑ)๋ฅผ ํ™•์‹คํžˆ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด๋Ÿฌํ•œ ์ดˆ๊ธฐ ๋…ธ๋ ฅ์ด ์ดํ›„ ์—์ด์ „ํŠธ์™€์˜ ์˜คํ•ด๋ฅผ ๋Œ€ํญ ์ค„์—ฌ ์ค€๋‹ค๋Š” ๊ฒƒ์„ ๊ฒฝํ—˜์ ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ŠคํŽ™์„ โ€œ์‚ด์•„ ์žˆ๋Š” ๋ฌธ์„œโ€๋กœ ์œ ์ง€ํ•˜๊ธฐ

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

3. ํ•˜๋‚˜์˜ ํฐ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ, ์ž‘์—…์„ ๋ชจ๋“ˆํ™” ๋œ ํ”„๋กฌํ”„ํŠธ์™€ ์ปจํ…์ŠคํŠธ๋กœ ๋‚˜๋ˆ„์„ธ์š”

๋ถ„ํ•  ์ •๋ณต ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•˜์„ธ์š”. ๋ชจ๋“  ๊ฒƒ์„ ํ•œ ๋ฒˆ์— ๋‹ด์€ ๊ฑฐ๋Œ€ํ•œ ํ”„๋กฌํ”„ํŠธ ๋Œ€์‹ , AI์—๊ฒŒ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ช…ํ™•ํ•œ ์ž‘์—…๋งŒ ๋งก๊ธฐ์„ธ์š”.

๊ฒฝํ—˜ ๋งŽ์€ AI ์—”์ง€๋‹ˆ์–ด๋“ค์€ ํ”„๋กœ์ ํŠธ ์ „์ฒด(๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ, ๋ชจ๋“  ์ฝ”๋“œ, ๋ชจ๋“  ์ง€์นจ)๋ฅผ ํ•˜๋‚˜์˜ ํ”„๋กฌํ”„ํŠธ๋‚˜ ์—์ด์ „ํŠธ ๋ฉ”์‹œ์ง€์— ์–ต์ง€๋กœ ๋„ฃ์œผ๋ ค๋Š” ์‹œ๋„๊ฐ€ ํ˜ผ๋ž€์„ ๋ถ€๋ฅด๋Š” ์ง€๋ฆ„๊ธธ์ด๋ผ๋Š” ๊ฒƒ์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ† ํฐ ์ œํ•œ์— ๊ฑธ๋ฆด ์œ„ํ—˜์ด ์žˆ์„ ๋ฟ ์•„๋‹ˆ๋ผ, ๋„ˆ๋ฌด ๋งŽ์€ ์ง€์‹œ๊ฐ€ ํ•œ๊บผ๋ฒˆ์— ์ฃผ์–ด์งˆ ๋•Œ ๋ชจ๋ธ์ด ์ดˆ์ ์„ ์žƒ๋Š” ์ด๋ฅธ๋ฐ” โ€œ์ง€์‹œ ์‚ฌํ•ญ์˜ ์ €์ฃผ(curse of instructions)โ€์— ๋น ์งˆ ์œ„ํ—˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ €์ฃผ๋Š” ์ง€์นจ์ด ๋งŽ์„์ˆ˜๋ก ์˜คํžˆ๋ ค ๊ทธ ์–ด๋А ๊ฒƒ๋„ ์ œ๋Œ€๋กœ ๋”ฐ๋ฅด์ง€ ๋ชปํ•˜๊ฒŒ ๋˜๋Š” ํ˜„์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ์ŠคํŽ™๊ณผ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋ชจ๋“ˆํ˜•์œผ๋กœ ์„ค๊ณ„ํ•˜์—ฌ, ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์กฐ๊ฐ๋งŒ ๋‹ค๋ฃจ๊ณ  ๊ทธ ์กฐ๊ฐ์— ํ•„์š”ํ•œ ์ปจํ…์ŠคํŠธ๋งŒ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“ˆํ˜• AI ์ŠคํŽ™

์ปจํ…์ŠคํŠธ์™€ ์ง€์‹œ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์„ ๋•Œ์˜ ์ €์ฃผ

์—ฐ๊ตฌ ๊ฒฐ๊ณผ๋Š” ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฒฝํ—˜์ ์œผ๋กœ ๋А๊ปด์™”๋˜ ์‚ฌ์‹ค์„ ํ™•์ธํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ์— ๋” ๋งŽ์€ ์ง€์‹œ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์Œ“์•„ ์˜ฌ๋ฆด์ˆ˜๋ก, ๋ชจ๋ธ์ด ๊ฐ ์ง€์‹œ๋ฅผ ์ถฉ์‹คํžˆ ๋”ฐ๋ฅด๋Š” ์„ฑ๋Šฅ์€ ๊ธ‰๊ฒฉํžˆ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ํ•œ ์—ฐ๊ตฌ์—์„œ๋Š” ์ด๋ฅผ โ€œ์ง€์‹œ ์‚ฌํ•ญ์˜ ์ €์ฃผโ€๋ผ๊ณ  ๋ช…๋ช…ํ–ˆ์œผ๋ฉฐ, GPT-4๋‚˜ Claude์กฐ์ฐจ๋„ ๋™์‹œ์— ๋งŽ์€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๋Š”๋‹ค๋Š” ์ ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด์ ์œผ๋กœ ๋ณด๋ฉด, 10๊ฐœ์˜ ์ƒ์„ธํ•œ ๊ทœ์น™์„ ๋ถˆ๋ฆฟ ํฌ์ธํŠธ๋กœ ์ œ์‹œํ•˜๋ฉด AI๋Š” ์ฒ˜์Œ ๋ช‡ ๊ฐœ๋Š” ๋”ฐ๋ฅด๋‹ค๊ฐ€ ๋‚˜๋จธ์ง€๋Š” ๋†“์น˜๊ธฐ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์€ ์ „๋žต์€ ๋ฐ˜๋ณต์  ์ง‘์ค‘์ž…๋‹ˆ๋‹ค. ์—…๊ณ„ ๊ฐ€์ด๋“œ๋ผ์ธ์—์„œ๋Š” ๋ณต์žกํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ˆœ์ฐจ์ ์ด๊ณ  ๋‹จ์ˆœํ•œ ์ง€์‹œ๋กœ ๋ถ„ํ•ดํ•˜๋Š” ๊ฒƒ์„ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋กœ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. AI๋ฅผ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ•˜์œ„ ๋ฌธ์ œ์—๋งŒ ์ง‘์ค‘ํ•˜๊ฒŒ ํ•˜๊ณ , ๊ทธ๊ฒƒ์ด ๋๋‚˜๋ฉด ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ’ˆ์งˆ์„ ๋†’๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ์˜ค๋ฅ˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

์ŠคํŽ™์„ ๋‹จ๊ณ„๋‚˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๋‚˜๋ˆ„์„ธ์š”

์ŠคํŽ™ ๋ฌธ์„œ๊ฐ€ ๋งค์šฐ ๊ธธ๊ฑฐ๋‚˜ ๋‹ค๋ฃจ๋Š” ๋ฒ”์œ„๊ฐ€ ๋„“๋‹ค๋ฉด, ์ด๋ฅผ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”(๋ฌผ๋ฆฌ์ ์œผ๋กœ ํŒŒ์ผ์„ ๋ถ„๋ฆฌํ•˜๊ฑฐ๋‚˜, ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„๋œ ์„น์…˜์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค). ์˜ˆ๋ฅผ ๋“ค์–ด โ€œ๋ฐฑ์—”๋“œ API ์ŠคํŽ™โ€ ์„น์…˜๊ณผ โ€œํ”„๋ŸฐํŠธ์—”๋“œ UI ์ŠคํŽ™โ€ ์„น์…˜์„ ๋”ฐ๋กœ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋ฅผ ์ž‘์—…ํ•  ๋•Œ๋งˆ๋‹ค ํ”„๋ŸฐํŠธ์—”๋“œ ์ŠคํŽ™์„ ํ•ญ์ƒ AI์—๊ฒŒ ์ œ๊ณตํ•  ํ•„์š”๋Š” ์—†๊ณ , ๊ทธ ๋ฐ˜๋Œ€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์—์ด์ „ํŠธ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/์Šคํ‚ค๋งˆ, API ๋กœ์ง, ํ”„๋ŸฐํŠธ์—”๋“œ์ฒ˜๋Ÿผ ๊ฐ ๋ถ€๋ถ„๋งˆ๋‹ค ๋ณ„๋„์˜ ์—์ด์ „ํŠธ๋‚˜ ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ ์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„, ํ•ด๋‹น ์ž‘์—…์— ํ•„์š”ํ•œ ์ŠคํŽ™ ์„น์…˜๋งŒ ํ”„๋กฌํ”„ํŠธ์— ๋ณต์‚ฌํ•ด ๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฅผ ํ‰๋‚ด ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ ๊ณผ๋ถ€ํ•˜๋ฅผ ํ”ผํ•˜์„ธ์š”. DigitalOcean AI ๊ฐ€์ด๋“œ๊ฐ€ ๊ฒฝ๊ณ ํ•˜๋“ฏ, ์ธ์ฆ ์ž‘์—…๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์„ ํ•œ ๋ฒˆ์— ์„ž์ง€ ๋งˆ์„ธ์š”. ๊ฐ ํ”„๋กฌํ”„ํŠธ๋Š” ํ˜„์žฌ ๋ชฉํ‘œ์— ๋”ฑ ๋งž๊ฒŒ ๋ฒ”์œ„๋ฅผ ์ขํ˜€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๊ทœ๋ชจ ์ŠคํŽ™์„ ์œ„ํ•œ ํ™•์žฅ๋œ ๋ชฉ์ฐจ / ์š”์•ฝ

์œ ์šฉํ•œ ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ์—์ด์ „ํŠธ์—๊ฒŒ ์ŠคํŽ™ ์ „์ฒด์— ๋Œ€ํ•œ ์š”์•ฝ์ด ํฌํ•จ๋œ ํ™•์žฅ๋œ ๋ชฉ์ฐจ(Table of Contents)๋ฅผ ๋งŒ๋“ค๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ ์„น์…˜์„ ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ํฌ์ธํŠธ๋‚˜ ํ‚ค์›Œ๋“œ๋กœ ์••์ถ•ํ•˜๊ณ , ์ƒ์„ธ ๋‚ด์šฉ์ด ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ฐธ์กฐ๋กœ ๋‚จ๊ธฐ๋Š” โ€œ์ŠคํŽ™ ์š”์•ฝโ€์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ „์ฒด ์ŠคํŽ™์— 500 ๋‹จ์–ด ๋ถ„๋Ÿ‰์˜ โ€œ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญโ€ ์„น์…˜์ด ์žˆ๋‹ค๋ฉด, ์ด๋ฅผ โ€œ๋ณด์•ˆ: HTTPS ์‚ฌ์šฉ, API ํ‚ค ๋ณดํ˜ธ, ์ž…๋ ฅ ๊ฒ€์ฆ ๊ตฌํ˜„(์ „์ฒด ์ŠคํŽ™ ยง4.2 ์ฐธ์กฐ)โ€ ์ •๋„๋กœ ์š”์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„ํš ๋‹จ๊ณ„์—์„œ ์ด๋Ÿฐ ๊ณ„์ธต์  ์š”์•ฝ์„ ๋งŒ๋“ค์–ด ๋‘๋ฉด, ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ์กฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ํ”„๋กฌํ”„ํŠธ์— ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ™•์žฅ๋œ ๋ชฉ์ฐจ๋Š” ์ผ์ข…์˜ ์ธ๋ฑ์Šค ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์ด๋ฅผ ๋ณด๊ณ  โ€œ์•„, ๋ณด์•ˆ ์„น์…˜์ด ์žˆ๊ตฌ๋‚˜โ€๋ผ๊ณ  ์ธ์‹ํ•˜๊ณ , ํ•„์š”ํ•  ๋•Œ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ๋žŒ์ด ์ŠคํŽ™ ๋ฌธ์„œ์˜ ๊ฐœ์š”๋ฅผ ํ›‘์€ ๋’ค, ํŠน์ • ์ž‘์—…์„ ํ•  ๋•Œ ๊ด€๋ จ ํŽ˜์ด์ง€๋ฅผ ์ฐพ์•„๋ณด๋Š” ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด, ์ŠคํŽ™์„ ์ž‘์„ฑํ•œ ๋’ค ์—์ด์ „ํŠธ์—๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€œ์œ„ ์ŠคํŽ™์„ ๊ฐ ์„น์…˜์˜ ํ•ต์‹ฌ ํฌ์ธํŠธ์™€ ์ฐธ์กฐ ํƒœ๊ทธ๋ฅผ ํฌํ•จํ•œ ๋งค์šฐ ๊ฐ„๊ฒฐํ•œ ๊ฐœ์š”๋กœ ์š”์•ฝํ•ด ์ฃผ์„ธ์š”.โ€ ๊ทธ ๊ฒฐ๊ณผ๋Š” ๊ฐ ์„น์…˜๋งˆ๋‹ค ํ•œ๋‘ ๋ฌธ์žฅ์˜ ์š”์•ฝ์ด ๋ถ™์€ ๋ชฉ๋ก์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์š”์•ฝ์€ ์‹œ์Šคํ…œ ๋ฉ”์‹œ์ง€๋‚˜ ์–ด์‹œ์Šคํ„ดํŠธ ๋ฉ”์‹œ์ง€์— ์œ ์ง€ํ•˜์—ฌ, ํ† ํฐ์„ ๊ณผ๋„ํ•˜๊ฒŒ ์†Œ๋ชจํ•˜์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์—์ด์ „ํŠธ์˜ ์ดˆ์ ์„ ์•ˆ๋‚ดํ•˜๋Š” ์—ญํ• ์„ ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ณ„์ธต์  ์š”์•ฝ ์ ‘๊ทผ ๋ฐฉ์‹์€ LLM์ด ์ƒ์œ„ ๊ตฌ์กฐ์— ์ง‘์ค‘ํ•จ์œผ๋กœ์จ ์žฅ๊ธฐ ์ปจํ…์ŠคํŠธ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์ŠคํŽ™์— ๋Œ€ํ•œ โ€œ์ •์‹ ์  ์ง€๋„โ€๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ŠคํŽ™์˜ ๊ฐ ๋ถ€๋ถ„์„ ์œ„ํ•œ ์„œ๋ธŒ ์—์ด์ „ํŠธ ๋˜๋Š” โ€œ์Šคํ‚ฌโ€ ํ™œ์šฉํ•˜๊ธฐ

๋˜ ๋‹ค๋ฅธ ๊ณ ๊ธ‰ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ „๋ฌธํ™”๋œ ์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์—”ํŠธ๋กœํ”ฝ์—์„œ๋Š” ์ด๋ฅผ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, โ€œskillsโ€๋ผ๊ณ  ๋ถ€๋ฅผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค). ๊ฐ ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ํŠน์ • ์ „๋ฌธ ์˜์—ญ์„ ์œ„ํ•ด ์„ค์ •๋˜๊ณ , ๊ทธ ์˜์—ญ์— ํ•ด๋‹นํ•˜๋Š” ์ŠคํŽ™ ๋ถ€๋ถ„๋งŒ์„ ์ „๋‹ฌ๋ฐ›์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์„น์…˜๋งŒ ์•Œ๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””์ž์ด๋„ˆ ์„œ๋ธŒ์—์ด์ „ํŠธ์™€, API ์—”๋“œํฌ์ธํŠธ ์ŠคํŽ™๋งŒ ์•„๋Š” API ์ฝ”๋” ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์ธ ์—์ด์ „ํŠธ(๋˜๋Š” ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ)๋Š” ์ž‘์—…์„ ์ ์ ˆํ•œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋กœ ์ž๋™์œผ๋กœ ๋ผ์šฐํŒ… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค๋ค„์•ผ ํ•  ์ปจํ…์ŠคํŠธ ์ฐฝ์ด ์ž‘์•„์ง€๊ณ  ์—ญํ• ์ด ๋ช…ํ™•ํ•ด์ ธ ์ •ํ™•๋„๊ฐ€ ๋†’์•„์ง€๋ฉฐ, ๋…๋ฆฝ์ ์ธ ์ž‘์—…์„ ๋ณ‘๋ ฌ๋กœ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—”ํŠธ๋กœํ”ฝ์˜ Claude Code๋Š” ๊ฐ ์„œ๋ธŒ์—์ด์ „ํŠธ์— ์ž์ฒด ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์™€ ๋„๊ตฌ๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, โ€œ๊ฐ ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ํŠน์ • ๋ชฉ์ ๊ณผ ์ „๋ฌธ ์˜์—ญ์„ ๊ฐ€์ง€๋ฉฐ, ๋ฉ”์ธ ๋Œ€ํ™”์™€ ๋ถ„๋ฆฌ๋œ ์ž์ฒด ์ปจํ…์ŠคํŠธ ์ฐฝ์„ ์‚ฌ์šฉํ•˜๊ณ , ํ–‰๋™์„ ์•ˆ๋‚ดํ•˜๋Š” ๋งž์ถคํ˜• ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฐ€์ง„๋‹คโ€๋ผ๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ์ž‘์—…์ด ์„œ๋ธŒ์—์ด์ „ํŠธ์˜ ๋„๋ฉ”์ธ๊ณผ ์ผ์น˜ํ•˜๋ฉด, Claude๋Š” ํ•ด๋‹น ์ž‘์—…์„ ์„œ๋ธŒ์—์ด์ „ํŠธ์— ์œ„์ž„ํ•˜๊ณ  ๋…๋ฆฝ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค.

์ฒ˜๋ฆฌ๋Ÿ‰์„ ์œ„ํ•œ ๋ณ‘๋ ฌ ์—์ด์ „ํŠธ

์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์€ ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ์˜ โ€œ๋‹ค์Œ ํฐ ํ๋ฆ„โ€์œผ๋กœ ๋– ์˜ค๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์—์ด์ „ํŠธ๊ฐ€ ์ž‘์—…์„ ๋๋‚ผ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋Œ€์‹ , ๊ฒน์น˜์ง€ ์•Š๋Š” ์ž‘์—…์„ ์œ„ํ•ด ๋ณ‘๋ ฌ ์—์ด์ „ํŠธ๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Willison์€ ์ด๋ฅผ โ€œ๋ณ‘๋ ฌ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ํ™œ์šฉโ€์ด๋ผ๊ณ  ํ‘œํ˜„ํ•˜๋ฉฐ, โ€œ์ •์‹ ์ ์œผ๋กœ๋Š” ์ง€์น˜์ง€๋งŒ, ๋†€๋ž„ ๋งŒํผ ํšจ๊ณผ์ โ€์ด๋ผ๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ์—์ด์ „ํŠธ๋“ค์ด ์„œ๋กœ ์ž‘์—…์„ ์นจ๋ฒ”ํ•˜์ง€ ์•Š๋„๋ก ๋ฒ”์œ„๋ฅผ ์ž˜ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ ์—์ด์ „ํŠธ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜, ์„œ๋กœ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋™์‹œ์— ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. LangGraph๋‚˜ OpenAI Swarm ๊ฐ™์€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ด๋Ÿฌํ•œ ์—์ด์ „ํŠธ๋“ค์„ ์กฐ์œจํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋ฉฐ, Chroma ๊ฐ™์€ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•œ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ค‘๋ณต ํ”„๋กฌํ”„ํŠธ ์—†์ด ๊ณตํ†ต ์ปจํ…์ŠคํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค.

๋‹จ์ผ ์—์ด์ „ํŠธ vs. ๋‹ค์ค‘ ์—์ด์ „ํŠธ: ์–ธ์ œ ๋ฌด์—‡์„ ์“ธ ๊ฒƒ์ธ๊ฐ€

ํ•ญ๋ชฉ ๋‹จ์ผ ์—์ด์ „ํŠธ ๋ณ‘๋ ฌ / ๋‹ค์ค‘ ์—์ด์ „ํŠธ
๊ฐ•์  ์„ค์ •์ด ๋‹จ์ˆœํ•จ, ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ์Œ, ๋””๋ฒ„๊น…๊ณผ ์ถ”์ ์ด ์‰ฌ์›€ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋†’์Œ, ๋ณต์žกํ•œ ์ƒํ˜ธ ์˜์กด์„ฑ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ, ๋„๋ฉ”์ธ๋ณ„ ์ „๋ฌธ๊ฐ€ ํ™œ์šฉ
๊ณผ์ œ ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์—์„œ ์ปจํ…์ŠคํŠธ ๊ณผ๋ถ€ํ•˜, ๋ฐ˜๋ณต ์†๋„๊ฐ€ ๋А๋ฆผ, ๋‹จ์ผ ์‹คํŒจ ์ง€์  ์กฐ์ • ์˜ค๋ฒ„ํ—ค๋“œ, ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ, ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ํ•„์š”(์˜ˆ: ๋ฒกํ„ฐ DB)
์ ํ•ฉํ•œ ๊ฒฝ์šฐ ๋…๋ฆฝ์ ์ธ ๋ชจ๋“ˆ, ์†Œ~์ค‘๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ, ์ดˆ๊ธฐ ํ”„๋กœํ† ํƒ€์ดํ•‘ ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฒ ์ด์Šค, ํ•œ ๋ช…์€ ์ฝ”๋”ฉ/ํ…Œ์ŠคํŠธ/๋ฆฌ๋ทฐ, ๋…๋ฆฝ ๊ธฐ๋Šฅ
ํŒ ์ŠคํŽ™ ์š”์•ฝ ์‚ฌ์šฉ, ์ž‘์—…๋ณ„ ์ปจํ…์ŠคํŠธ ๊ฐฑ์‹ , ์ƒˆ ์„ธ์…˜์„ ์ž์ฃผ ์‹œ์ž‘ ์ฒ˜์Œ์—๋Š” 2~3๊ฐœ ์—์ด์ „ํŠธ๋กœ ์ œํ•œ, MCP๋กœ ๋„๊ตฌ ๊ณต์œ , ๋ช…ํ™•ํ•œ ๊ฒฝ๊ณ„ ์ •์˜

์‹ค๋ฌด์—์„œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋‚˜ ์Šคํ‚ฌ๋ณ„ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด SPECbackend.md, SPECfrontend.md์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ŠคํŽ™ ํŒŒ์ผ(๋˜๋Š” ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ)์„ ์œ ์ง€ํ•˜๊ณ , AI์—๊ฒŒ โ€œ๋ฐฑ์—”๋“œ ์ž‘์—…์€ SPECbackend๋ฅผ ์ฐธ์กฐํ•˜๊ณ , ํ”„๋ŸฐํŠธ์—”๋“œ ์ž‘์—…์€ SPECfrontend๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”โ€๋ผ๊ณ  ์ง€์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜๋Š” Cursor๋‚˜ Claude ๊ฐ™์€ ๋„๊ตฌ์—์„œ ์‹ค์ œ๋กœ ๊ฐ ๋ถ€๋ถ„๋งˆ๋‹ค ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๋„์šธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ผ ์—์ด์ „ํŠธ ๋ฃจํ”„๋ณด๋‹ค ์„ค์ •์ด ํ™•์‹คํžˆ ๋ณต์žกํ•˜์ง€๋งŒ, ์ธ๊ฐ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” 50ํŽ˜์ด์ง€์งœ๋ฆฌ ์ŠคํŽ™ ์ „์ฒด๋ฅผ ํ•œ ๋ฒˆ์— ๋จธ๋ฆฟ์†์— ๋‹ด๊ณ  ์ž‘์—…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋– ์˜ฌ๋ฆฌ๊ณ , ์ „์ฒด ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ๋Œ€๋žต์ ์ธ ๊ฐ๊ฐ๋งŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ƒํ˜ธ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ์—”๋“œ๋Š” ๋ฐฑ์—”๋“œ ์ŠคํŽ™์˜ API ๊ณ„์•ฝ์„ ์•Œ์•„์•ผ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ์„œ๋ธŒ์—์ด์ „ํŠธ๋“ค ์—ญ์‹œ ์กฐ์œจ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์•™ ์ง‘์ค‘์‹ ๊ฐœ์š”(๋˜๋Š” โ€œ์•„ํ‚คํ…ํŠธโ€ ์—์ด์ „ํŠธ)๊ฐ€ ํ•˜์œ„ ์ŠคํŽ™๋“ค์„ ์ฐธ์กฐํ•˜๋ฉฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ•˜๋‚˜์˜ ์ž‘์—…์ด๋‚˜ ์„น์…˜์— ์ง‘์ค‘์‹œํ‚ค์„ธ์š”

ํ™”๋ คํ•œ ๋‹ค์ค‘ ์—์ด์ „ํŠธ ๊ตฌ์„ฑ์ด ์—†์–ด๋„, ์ˆ˜๋™์œผ๋กœ ๋ชจ๋“ˆ์„ฑ์„ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŽ™์„ ์ž‘์„ฑํ•œ ๋‹ค์Œ, ๋‹ค์Œ ๋‹จ๊ณ„๋กœ โ€œ1๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๊ตฌํ˜„โ€์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์ŠคํŽ™์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„น์…˜๊ณผ ๊ธฐ์ˆ  ์Šคํƒ ๊ฐ™์€ ์ „์—ญ ์ œ์•ฝ๋งŒ AI์—๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๊ฐ€ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ โ€œ2๋‹จ๊ณ„: ์ธ์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„โ€์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด์„œ, ์ธ์ฆ ์„น์…˜๊ณผ ํ•„์š”ํ•˜๋‹ค๋ฉด ๊ด€๋ จ ์Šคํ‚ค๋งˆ ๋ถ€๋ถ„๋งŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ฃผ์š” ์ž‘์—…๋งˆ๋‹ค ์ปจํ…์ŠคํŠธ๋ฅผ ์ƒˆ๋กœ ๊ตฌ์„ฑํ•˜๋ฉด, ๋ชจ๋ธ์ด ๋ถˆํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์˜ค๋ž˜๋œ ์ •๋ณด์— ๋ฐฉํ•ด๋ฐ›์ง€ ์•Š๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ด๋“œ์—์„œ๋Š” โ€œ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ „ํ™˜ํ•  ๋•Œ๋Š” ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•ด ์ปจํ…์ŠคํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋ผโ€๋ผ๊ณ  ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ์ „์—ญ ๊ทœ์น™(์ŠคํŽ™์˜ ์ œ์•ฝ ์„น์…˜ ๋“ฑ)์€ ๋งค๋ฒˆ ์ƒ๊ธฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ์ง€๋งŒ, ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ „์ฒด ์ŠคํŽ™์„ ๋ชจ๋‘ ๋ฐ€์–ด ๋„ฃ์„ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ธ๋ผ์ธ ์ง€์‹œ์™€ ์ฝ”๋“œ TODO ํ™œ์šฉํ•˜๊ธฐ

๋˜ ๋‹ค๋ฅธ ๋ชจ๋“ˆํ™” ๊ธฐ๋ฒ•์€ ์ฝ”๋“œ๋‚˜ ์ŠคํŽ™ ์ž์ฒด๋ฅผ ๋Œ€ํ™”์˜ ์ผ๋ถ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฝ”๋“œ์— // TODO ์ฃผ์„์„ ๋‹ฌ์•„ ๋ฌด์—‡์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜๊ณ , ์—์ด์ „ํŠธ๊ฐ€ ์ด๋ฅผ ํ•˜๋‚˜์”ฉ ์ฑ„์šฐ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ TODO๋Š” ์ž‘์€ ์ž‘์—…์„ ์œ„ํ•œ ๋ฏธ๋‹ˆ ์ŠคํŽ™ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด AI๋Š” โ€œ์ด ์ŠคํŽ™ ์กฐ๊ฐ์— ๋”ฐ๋ผ ์ด ํŠน์ • ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋ผโ€๋Š” ์‹์œผ๋กœ ๋งค์šฐ ๋ช…ํ™•ํ•œ ๋ชฉํ‘œ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ณ , ์งง์€ ๋ฐ˜๋ณต ๋ฃจํ”„๋กœ ์ž‘์—…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ „์ฒด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•œ ๋ฒˆ์— ์ฃผ๋Š” ๋Œ€์‹ , ํ•œ ํ•ญ๋ชฉ์”ฉ ์™„๋ฃŒํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค

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

4. ์ž์ฒด ์ ๊ฒ€, ์ œ์•ฝ, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋žŒ์˜ ์ „๋ฌธ์„ฑ์„ ์ŠคํŽ™์— ํฌํ•จํ•˜์„ธ์š”

์ŠคํŽ™์„ ๋‹จ์ˆœํžˆ ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ํ•  ์ผ ๋ชฉ๋ก์ด ์•„๋‹ˆ๋ผ, ํ’ˆ์งˆ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฐ€์ด๋“œ๋กœ ๋งŒ๋“œ์„ธ์š”. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ๋ถ„ ์ž์‹ ์˜ ์ „๋ฌธ์„ฑ์„ ์ฃผ์ € ์—†์ด ์ฃผ์ž…ํ•˜์„ธ์š”.

AI ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์ข‹์€ ์ŠคํŽ™์€ AI๊ฐ€ ์–ด๋””์—์„œ ์‹ค์ˆ˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ์ƒํ•˜๊ณ , ์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•œ ๊ฐ€๋“œ๋ ˆ์ผ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ฌ๋Ÿฌ๋ถ„์ด ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค(๋„๋ฉ”์ธ ์ง€์‹, ์—ฃ์ง€ ์ผ€์ด์Šค, โ€œํ•จ์ •๋“คโ€)์„ ํ™œ์šฉํ•ด AI๊ฐ€ ์ง„๊ณต ์ƒํƒœ์—์„œ ์ž‘์—…ํ•˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™์„ AI๋ฅผ ์œ„ํ•œ ์ฝ”์น˜์ด์ž ์‹ฌํŒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ์˜ฌ๋ฐ”๋ฅธ ์ ‘๊ทผ์„ ์žฅ๋ คํ•˜๊ณ , ๋ฐ˜์น™์„ ์ง€์ ํ•˜๋Š” ์—ญํ• ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3๋‹จ๊ณ„ ๊ฒฝ๊ณ„(boundary) ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์„ธ์š”

GitHub์—์„œ 2,500๊ฐœ ์ด์ƒ์˜ ์—์ด์ „ํŠธ ํŒŒ์ผ์„ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ, ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ์ŠคํŽ™๋“ค์€ ๋‹จ์ˆœํ•œ โ€œํ•˜์ง€ ๋ง ๊ฒƒโ€ ๋ชฉ๋ก ๋Œ€์‹  3๋‹จ๊ณ„ ๊ฒฝ๊ณ„ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ์—์ด์ „ํŠธ์—๊ฒŒ ์–ธ์ œ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€, ์–ธ์ œ ๋ฉˆ์ถฐ์„œ ๋ฌผ์–ด๋ด์•ผ ํ•˜๋Š”์ง€, ์–ธ์ œ ์™„์ „ํžˆ ์ค‘๋‹จํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋” ๋ช…ํ™•ํžˆ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

AI ์—์ด์ „ํŠธ ์ŠคํŽ™์„ ์œ„ํ•œ 3๋‹จ๊ณ„ ๊ฒฝ๊ณ„

โœ… ํ•ญ์ƒ ํ•ด์•ผ ํ•  ๊ฒƒ(Always do)

์—์ด์ „ํŠธ๊ฐ€ ์งˆ๋ฌธ ์—†์ด ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. โ€œ์ปค๋ฐ‹ ์ „์— ํ•ญ์ƒ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ๊ฒƒ.โ€, โ€œ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ์˜ ๋ช…๋ช… ๊ทœ์น™์„ ํ•ญ์ƒ ๋”ฐ๋ฅผ ๊ฒƒ.โ€, โ€œ์—๋Ÿฌ๋Š” ํ•ญ์ƒ ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋น„์Šค์— ๋กœ๊ทธ๋กœ ๋‚จ๊ธธ ๊ฒƒ.โ€

โš ๏ธ ๋จผ์ € ๋ฌผ์–ด๋ณผ ๊ฒƒ(Ask first)

๋‹ค์Œ์€ ์Šน์ธ์ด ํ•„์š”ํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค. โ€œ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์ „์— ๋ฌผ์–ด๋ณผ ๊ฒƒ.โ€, โ€œ์ƒˆ๋กœ์šด ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ๋ฌผ์–ด๋ณผ ๊ฒƒ.โ€, โ€œCI/CD ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ „์— ๋ฌผ์–ด๋ณผ ๊ฒƒ.โ€. ์ด ๋‹จ๊ณ„๋Š” ๋ฌธ์ œ๋Š” ์—†์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์˜ํ–ฅ ๋ฒ”์œ„๊ฐ€ ํฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‚ฌ๋žŒ์ด ํ•œ ๋ฒˆ ๋” ํ™•์ธํ•˜๋„๋ก ํ•ด ์ค๋‹ˆ๋‹ค.

๐Ÿšซ ์ ˆ๋Œ€ ํ•˜์ง€ ๋ง ๊ฒƒ(Never do)

๋ช…ํ™•ํ•œ ๊ธˆ์ง€ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. โ€œ๋น„๋ฐ€ ์ •๋ณด์ด๋‚˜ API ํ‚ค๋ฅผ ์ ˆ๋Œ€ ์ปค๋ฐ‹ํ•˜์ง€ ๋ง ๊ฒƒ.โ€, โ€œnode_modules/๋‚˜ vendor/๋ฅผ ์ ˆ๋Œ€ ์ˆ˜์ •ํ•˜์ง€ ๋ง ๊ฒƒ.โ€, โ€œ๋ช…์‹œ์ ์ธ ์Šน์ธ ์—†์ด ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ๋ง ๊ฒƒ.โ€. ์—ฐ๊ตฌ์—์„œ ๊ฐ€์žฅ ํ”ํ•˜๋ฉด์„œ๋„ ์œ ์šฉํ•œ ์ œ์•ฝ ์กฐ๊ฑด์€ ๋ฐ”๋กœ โ€œ๋น„๋ฐ€ ์ •๋ณด๋ฅผ ์ปค๋ฐ‹ํ•˜์ง€ ๋ง ๊ฒƒโ€์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด 3๋‹จ๊ณ„ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋‹จ์ˆœํ•œ ๊ทœ์น™ ๋ชฉ๋ก๋ณด๋‹ค ํ›จ์”ฌ ์ •๊ตํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ํ–‰๋™์€ ํ•ญ์ƒ ์•ˆ์ „ํ•˜๊ณ , ์–ด๋–ค ํ–‰๋™์€ ๊ฐ๋…์ด ํ•„์š”ํ•˜๋ฉฐ, ์–ด๋–ค ํ–‰๋™์€ ์ ˆ๋Œ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ์ธ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” โ€œํ•ญ์ƒโ€ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด์„œ๋Š” ์ž์‹  ์žˆ๊ฒŒ ์ง„ํ–‰ํ•˜๊ณ , โ€œ๋จผ์ € ๋ฌผ์–ด๋ณผ ๊ฒƒโ€ ํ•ญ๋ชฉ์€ ๊ฒ€ํ†  ๋Œ€์ƒ์œผ๋กœ ํ‘œ์‹œํ•˜๋ฉฐ, โ€œ์ ˆ๋Œ€ ํ•˜์ง€ ๋ง ๊ฒƒโ€ ํ•ญ๋ชฉ์—์„œ๋Š” ์ฆ‰์‹œ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฒด ๊ฒ€์ฆ์„ ์žฅ๋ คํ•˜์„ธ์š”

๊ฐ•๋ ฅํ•œ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์ž์‹ ์˜ ์ž‘์—…์„ ์ŠคํŽ™์— ๋น„์ถ”์–ด ์Šค์Šค๋กœ ๊ฒ€์ฆํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„๊ตฌ๊ฐ€ ํ—ˆ์šฉํ•œ๋‹ค๋ฉด, ์ฝ”๋“œ ์ƒ์„ฑ ํ›„ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋‚˜ ๋ฆฐํŠธ ๊ฐ™์€ ์ฒดํฌ๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ŠคํŽ™์ด๋‚˜ ํ”„๋กฌํ”„ํŠธ ์ˆ˜์ค€์—์„œ๋„ AI์—๊ฒŒ ์žฌํ™•์ธ์„ ์ง€์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด โ€œ๊ตฌํ˜„์ด ๋๋‚œ ๋’ค, ๊ฒฐ๊ณผ๋ฅผ ์ŠคํŽ™๊ณผ ๋น„๊ตํ•˜๊ณ  ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์ด ์ถฉ์กฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์ถฉ์กฑ๋˜์ง€ ์•Š์€ ์ŠคํŽ™ ํ•ญ๋ชฉ์ด ์žˆ๋‹ค๋ฉด ๋‚˜์—ดํ•˜์„ธ์š”.โ€ ์™€ ๊ฐ™์€ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” LLM์ด ์ž์‹ ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์ŠคํŽ™๊ณผ ๋น„๊ตํ•˜๋ฉฐ ๋˜๋Œ์•„๋ณด๋„๋ก ๋งŒ๋“ค์–ด, ๋ˆ„๋ฝ ์‚ฌํ•ญ์„ ์žก์•„๋‚ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค์— ๋‚ด์žฅ๋œ ์ผ์ข…์˜ ์ž๊ธฐ ๊ฐ์‚ฌ(self-audit)์ž…๋‹ˆ๋‹ค.

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

์ฃผ๊ด€์  ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•œ LLM-as-a-Judge

์ž๋™์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์–ด๋ ค์šด ๊ธฐ์ค€๋“ค(์ฝ”๋“œ ์Šคํƒ€์ผ, ๊ฐ€๋…์„ฑ, ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด ์ค€์ˆ˜ ์—ฌ๋ถ€)์— ๋Œ€ํ•ด์„œ๋Š” โ€œLLM-as-a-Judgeโ€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”. ์ด๋Š” ๋‘ ๋ฒˆ์งธ ์—์ด์ „ํŠธ(๋˜๋Š” ๋ณ„๋„์˜ ํ”„๋กฌํ”„ํŠธ)๋ฅผ ์‚ฌ์šฉํ•ด ์ฒซ ๋ฒˆ์งธ ์—์ด์ „ํŠธ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์ŠคํŽ™์˜ ํ’ˆ์งˆ ๊ฐ€์ด๋“œ๋ผ์ธ์— ๋”ฐ๋ผ ๊ฒ€ํ† ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์—”ํŠธ๋กœํ”ฝ์„ ๋น„๋กฏํ•œ ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์ด ๋ฐฉ์‹์ด ์ฃผ๊ด€์  ํ‰๊ฐ€์— ํšจ๊ณผ์ ์ด๋ผ๋Š” ์ ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€œ์ด ์ฝ”๋“œ๋ฅผ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ ์ค€์ˆ˜ ์—ฌ๋ถ€ ๊ธฐ์ค€์œผ๋กœ ๋ฆฌ๋ทฐํ•˜๊ณ , ์œ„๋ฐ˜ ์‚ฌํ•ญ์„ ํ‘œ์‹œํ•ด ์ฃผ์„ธ์š”.โ€ ์‹ฌ์‚ฌ ์—ญํ• ์˜ ์—์ด์ „ํŠธ๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ด๋Š” ๋ฐ˜์˜๋˜๊ฑฐ๋‚˜ ์ˆ˜์ • ์ž‘์—…์„ ์ด‰๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํ•œ ๋ฌธ๋ฒ• ๊ฒ€์‚ฌ๋ฅผ ๋„˜์–ด์„œ๋Š” ์˜๋ฏธ์  ํ‰๊ฐ€ ๊ณ„์ธต์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ ํ•ฉ์„ฑ(conformance) ํ…Œ์ŠคํŠธ

Simon Willison์€ ์ ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์–ธ์–ด์— ๋…๋ฆฝ์ ์ธ ํ…Œ์ŠคํŠธ(์ข…์ข… YAML ๊ธฐ๋ฐ˜)๋กœ, ์–ด๋–ค ๊ตฌํ˜„์ด๋“  ๋ฐ˜๋“œ์‹œ ํ†ต๊ณผํ•ด์•ผ ํ•˜๋Š” ๊ณ„์•ฝ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด API๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด, ์ ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ๋Š” ๊ธฐ๋Œ€ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ ๊ฐ’์„ ๋ช…์‹œํ•˜๊ณ , ์—์ด์ „ํŠธ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” ๋ชจ๋“  ์ผ€์ด์Šค๋ฅผ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ŠคํŽ™์—์„œ ์ง์ ‘ ํŒŒ์ƒ๋˜๋ฉฐ ์—ฌ๋Ÿฌ ๊ตฌํ˜„์—์„œ ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ฆ‰ํฅ์ ์ธ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ณด๋‹ค ํ›จ์”ฌ ์—„๊ฒฉํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™์˜ ์„ฑ๊ณต ๊ธฐ์ค€(Success) ์„น์…˜์— ์ด๋Ÿฌํ•œ ์ ํ•ฉ์„ฑ ๊ธฐ์ค€์„ ํฌํ•จ์‹œํ‚ค์„ธ์š”(์˜ˆ: โ€œconformance/api-tests.yaml์— ์ •์˜๋œ ๋ชจ๋“  ์ผ€์ด์Šค๋ฅผ ํ†ต๊ณผํ•ด์•ผ ํ•จโ€).

์ŠคํŽ™์— ํ…Œ์ŠคํŠธ๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜์„ธ์š”

๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ํ…Œ์ŠคํŠธ ๊ณ„ํš์ด๋‚˜ ์‹ค์ œ ํ…Œ์ŠคํŠธ ์ž์ฒด๋ฅผ ์ŠคํŽ™๊ณผ ํ”„๋กฌํ”„ํŠธ ํ๋ฆ„์— ํฌํ•จ์‹œํ‚ค์„ธ์š”. ์ „ํ†ต์ ์ธ ๊ฐœ๋ฐœ์—์„œ๋Š” TDD๋‚˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ์„ ํ†ตํ•ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ํ•˜๋“ฏ, AI์™€์˜ ์ž‘์—…์—์„œ๋„ ๋™์ผํ•œ ์ ‘๊ทผ์„ ์ทจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŽ™์˜ ์„ฑ๊ณต ๊ธฐ์ค€์— โ€œ์ด ์ž…๋ ฅ๊ฐ’๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถœ๋ ฅ๊ฐ’์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹คโ€ ๋˜๋Š” โ€œ๋‹ค์Œ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋“ค์ด ํ†ต๊ณผ๋˜์–ด์•ผ ํ•œ๋‹คโ€๋ผ๊ณ  ๋ช…์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์ด๋ฅผ ๋จธ๋ฆฟ์†์œผ๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ฑฐ๋‚˜, ์‹คํ–‰ ๋Šฅ๋ ฅ์ด ์žˆ๋‹ค๋ฉด ์‹ค์ œ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Simon Willison์€ ๊ฒฌ๊ณ ํ•œ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋ฅผ ๊ฐ–์ถ”๋Š” ๊ฒƒ์ด ์—์ด์ „ํŠธ์—๊ฒŒ ์ดˆ๋Šฅ๋ ฅ์„ ์ฃผ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•˜๋ฉด ๋น ๋ฅด๊ฒŒ ๊ฒ€์ฆํ•˜๊ณ  ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. AI ์ฝ”๋”ฉ ๋งฅ๋ฝ์—์„œ๋Š” ์ŠคํŽ™์— ํ…Œ์ŠคํŠธ์šฉ ์˜์‚ฌ ์ฝ”๋“œ๋‚˜ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ๋ฅผ ์กฐ๊ธˆ๋งŒ ์ ์–ด๋‘์–ด๋„ ๊ตฌํ˜„ ๋ฐฉํ–ฅ์„ ํฌ๊ฒŒ ์•ˆ๋‚ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„œ๋ธŒ์—์ด์ „ํŠธ ๊ตฌ์กฐ์—์„œ ์ „์šฉ โ€œํ…Œ์ŠคํŠธ ์—์ด์ „ํŠธโ€๋ฅผ ๋‘์–ด, ์ŠคํŽ™ ๊ธฐ์ค€์— ๋”ฐ๋ผ โ€œ์ฝ”๋“œ ์—์ด์ „ํŠธโ€์˜ ์ถœ๋ ฅ์„ ์ง€์†์ ์œผ๋กœ ๊ฒ€์ฆํ•˜๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ ์ง€์‹์„ ์ ๊ทน ๋ฐ˜์˜ํ•˜์„ธ์š”

์ŠคํŽ™์—๋Š” ์ˆ™๋ จ๋œ ๊ฐœ๋ฐœ์ž๋‚˜ ๋งฅ๋ฝ์„ ์•„๋Š” ์‚ฌ๋žŒ๋งŒ์ด ์•Œ ์ˆ˜ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ๊ฐ€ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด์ปค๋จธ์Šค ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด, โ€œ์ƒํ’ˆ(products)๊ณผ ์นดํ…Œ๊ณ ๋ฆฌ(categories)๋Š” ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„โ€๋ผ๋Š” ์‚ฌ์‹ค์„ ๋ช…ํ™•ํžˆ ์ ์–ด ๋‘์„ธ์š”. AI๊ฐ€ ์ด๋ฅผ ์Šค์Šค๋กœ ์ถ”๋ก ํ•  ๊ฒƒ์ด๋ผ๊ณ  ๊ธฐ๋Œ€ํ•˜์ง€ ๋งˆ์„ธ์š”. ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์•…๋ช… ๋†’์€ ํ•จ์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, ํ”ผํ•ด์•ผ ํ•  ์ ์„ ๋ช…์‹œํ•˜์„ธ์š”. ๋ณธ์งˆ์ ์œผ๋กœ, ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ฉ˜ํ† ๋ง์„ ์ŠคํŽ™์— ์ ๊ทน ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ŠคํŽ™์—๋Š” โ€œ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ X๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, Y ๋ฒ„์ „์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ Z ์›Œํฌ์–ด๋ผ์šด๋“œ๋ฅผ ์ ์šฉํ•  ๊ฒƒโ€ ๊ฐ™์€ ์กฐ์–ธ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ˆ˜์ค€์˜ ๋””ํ…Œ์ผ์ด ์žˆ์–ด์•ผ ํ‰๋ฒ”ํ•œ AI ์ถœ๋ ฅ์ด ์ •๋ง๋กœ ๊ฒฌ๊ณ ํ•œ ๊ฒฐ๊ณผ๋ฌผ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค. ์ด๋Š” AI๋ฅผ ํ”ํ•œ ํ•จ์ •์—์„œ ๋ฒ—์–ด๋‚˜๊ฒŒ ์•ˆ๋‚ดํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ์„ ํ˜ธ ์‚ฌํ•ญ์ด๋‚˜ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ(์˜ˆ: โ€œ๋ฆฌ์•กํŠธ์—์„œ๋Š” ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ๋ณด๋‹ค ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒโ€)๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋ฅผ ์ŠคํŽ™์— ๋ช…์‹œํ•˜์„ธ์š”. ๊ทธ๋Ÿฌ๋ฉด AI๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ์Šคํƒ€์ผ์„ ๋ชจ๋ฐฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ์—”์ง€๋‹ˆ์–ด๋“ค์€ ์ŠคํŽ™์— ์ž‘์€ ์˜ˆ์‹œ๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด โ€œ๋ชจ๋“  API ์‘๋‹ต์€ JSON์ด์–ด์•ผ ํ•œ๋‹ค. ์˜ˆ: { โ€œerrorโ€: โ€œmessageโ€ }โ€ ์™€ ๊ฐ™์ด ์ ์œผ๋ฉด, AI๋Š” ์ •ํ™•ํžˆ ์›ํ•˜๋Š” ํ˜•์‹์— ๊ณ ์ •๋ฉ๋‹ˆ๋‹ค.

๋‹จ์ˆœํ•œ ์ž‘์—…์—๋Š” ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ฆ˜์„

์šฐ๋ฆฌ๋Š” ์ฒ ์ €ํ•œ ์ŠคํŽ™์„ ๊ถŒ์žฅํ•˜์ง€๋งŒ, ์–ธ์ œ ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์•„๋Š” ๊ฒƒ ๋˜ํ•œ ์ „๋ฌธ์„ฑ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ๋น„๊ต์  ๋‹จ์ˆœํ•˜๊ณ  ๊ณ ๋ฆฝ๋œ ์ž‘์—…์˜ ๊ฒฝ์šฐ, ๊ณผ๋„ํ•œ ์ŠคํŽ™์€ ๋„์›€์ด ๋˜๊ธฐ๋ณด๋‹ค ํ˜ผ๋ž€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด โ€œํŽ˜์ด์ง€ ์ค‘์•™์— div๋ฅผ ์ •๋ ฌํ•˜๋ผโ€ ๊ฐ™์€ ์š”์ฒญ์ด๋ผ๋ฉด, โ€œํ•ด๊ฒฐ์ฑ…์€ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ๋งˆํฌ์—…์ด๋‚˜ ์Šคํƒ€์ผ์„ ์ถ”๊ฐ€ํ•˜์ง€ ๋ง ๊ฒƒโ€์ •๋„๋กœ ์ถฉ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ „์ฒด PRD๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ โ€œํ† ํฐ ๊ฐฑ์‹ ๊ณผ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ํฌํ•จํ•œ OAuth ํ”Œ๋กœ์šฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋ผโ€ ๊ฐ™์€ ๋ณต์žกํ•œ ์ž‘์—…์—์„œ๋Š” ์ƒ์„ธํ•œ ์ŠคํŽ™์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ์›์น™์€ ์ž‘์—… ๋ณต์žก๋„์— ๋งž๊ฒŒ ์ŠคํŽ™์˜ ๋””ํ…Œ์ผ์„ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ๊ณผ์†Œํ•˜๊ฒŒ ์ŠคํŽ™ํ™”ํ•˜๋ฉด AI๋Š” ํ—ค๋งค๊ฑฐ๋‚˜ ์—‰๋šฑํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ ๊ฒƒ์ด๊ณ , ์‚ฌ์†Œํ•œ ๋ฌธ์ œ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์ŠคํŽ™ํ™”ํ•˜๋ฉด AI๋Š” ๋ถˆํ•„์š”ํ•œ ์ง€์‹œ๋กœ ์–ฝํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„์š”ํ•˜๋‹ค๋ฉด AI์˜ โ€œํŽ˜๋ฅด์†Œ๋‚˜โ€๋ฅผ ์œ ์ง€ํ•˜์„ธ์š”

๋•Œ๋กœ๋Š” ์ŠคํŽ™์˜ ์ผ๋ถ€๊ฐ€ ์—์ด์ „ํŠธ์˜ ํ–‰๋™ ๋ฐฉ์‹์ด๋‚˜ ๋งํˆฌ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ ๊ฐ ์ง€์› ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด, โ€œ์นœ์ ˆํ•˜๊ณ  ์ „๋ฌธ์ ์ธ ํ†ค์„ ์‚ฌ์šฉํ•  ๊ฒƒโ€, โ€œ๋‹ต์„ ๋ชจ๋ฅผ ๊ฒฝ์šฐ ์ถ”์ธกํ•˜์ง€ ๋ง๊ณ , ๋ช…ํ™•ํžˆ ๋ฌป๊ฑฐ๋‚˜ ํ›„์† ์กฐ์น˜๋ฅผ ์ œ์•ˆํ•  ๊ฒƒโ€๊ณผ ๊ฐ™์€ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ทœ์น™๋“ค์€ ๋ณดํ†ต ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จ๋˜๋ฉฐ, AI์˜ ์ถœ๋ ฅ์ด ๊ธฐ๋Œ€์น˜์— ๋งž๋„๋ก ์œ ์ง€ํ•ด ์ค๋‹ˆ๋‹ค. ์ด๋Š” AI ํ–‰๋™์— ๋Œ€ํ•œ ์ŠคํŽ™ ํ•ญ๋ชฉ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธด ์„ธ์…˜์—์„œ๋Š” ์Šคํƒ€์ผ์ด ํํŠธ๋Ÿฌ์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ(LLM์€ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ํ†ค์ด ๋ณ€ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค), ํ•„์š”ํ•  ๋•Œ ๋‹ค์‹œ ์ƒ๊ธฐ์‹œ์ผœ ์ฃผ์„ธ์š”.

๋‹น์‹ ์€ ์—ฌ์ „ํžˆ ๋ฃจํ”„ ์•ˆ์˜ ์˜์‚ฌ๊ฒฐ์ •์ž์ž…๋‹ˆ๋‹ค

์ŠคํŽ™์€ ์—์ด์ „ํŠธ์—๊ฒŒ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์ง€๋งŒ, ์ตœ์ข… ํ’ˆ์งˆ ํ•„ํ„ฐ๋Š” ์—ฌ์ „ํžˆ ์—ฌ๋Ÿฌ๋ถ„์ž…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๊ฐ€ ๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” ์ŠคํŽ™์„ ์ถฉ์กฑํ–ˆ์ง€๋งŒ ๋ญ”๊ฐ€ ์–ด์ƒ‰ํ•˜๊ฒŒ ๋А๊ปด์ง„๋‹ค๋ฉด, ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒ๋‹จ์„ ๋ฏฟ์œผ์„ธ์š”. ์ŠคํŽ™์„ ๋‹ค๋“ฌ๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์ง์ ‘ ์กฐ์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. AI ์—์ด์ „ํŠธ์˜ ์žฅ์ ์€ ๊ฐ์ •์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์œผ๋ฉด โ€œ์ด๊ฑด ๋‚ด๊ฐ€ ์˜๋„ํ•œ ๊ฒŒ ์•„๋‹ˆ์—์š”. ์ŠคํŽ™์„ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ๋‹ค์‹œ ํ•ด๋ด…์‹œ๋‹ค.โ€๋ผ๊ณ  ๋งํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™์€ AI์™€์˜ ํ˜‘์—… ๊ณผ์ •์—์„œ ๊ณ„์† ์ง„ํ™”ํ•˜๋Š” ์‚ฐ์ถœ๋ฌผ์ด์ง€, ํ•œ ๋ฒˆ ์“ฐ๊ณ  ๋๋‚˜๋Š” ๊ณ„์•ฝ์„œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

Simon Willison์€ AI ์—์ด์ „ํŠธ์™€ ํ•จ๊ป˜ ์ผํ•˜๋Š” ๊ฒƒ์„ โ€œ์•„์ฃผ ์ด์ƒํ•œ ํ˜•ํƒœ์˜ ๊ด€๋ฆฌโ€๋ผ๊ณ  ๋†๋‹ด ์„ž์–ด ํ‘œํ˜„ํ–ˆ๊ณ , โ€œ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์—๊ฒŒ์„œ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋Œ์–ด๋‚ด๋Š” ๊ฒƒ์ด ์ธ๊ฐ„ ์ธํ„ด์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๊ณผ ๋ถˆํŽธํ•  ์ •๋„๋กœ ๋น„์Šทํ•˜๋‹คโ€๊ณ  ๋งํ•˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ช…ํ™•ํ•œ ์ง€์‹œ๋ฅผ ์ œ๊ณตํ•˜๊ณ (์ŠคํŽ™), ํ•„์š”ํ•œ ์ปจํ…์ŠคํŠธ๋ฅผ ์ฃผ๋ฉฐ(์ŠคํŽ™๊ณผ ๊ด€๋ จ ๋ฐ์ดํ„ฐ), ์‹คํ–‰ ์ค‘์— ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™์ด ๋ฌด๋Œ€๋ฅผ ์„ค์ •ํ•˜์ง€๋งŒ, ์‹คํ–‰ ์ค‘์˜ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ํ”ผ๋“œ๋ฐฑ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. AI๊ฐ€ โ€œ๊ธฐํšŒ๋งŒ ์ฃผ๋ฉด ๋ฐ˜๋“œ์‹œ ๋ถ€์ •ํ–‰์œ„๋ฅผ ํ•  ์ด์ƒํ•œ ๋””์ง€ํ„ธ ์ธํ„ดโ€์ด๋ผ๋ฉด, ์—ฌ๋Ÿฌ๋ถ„์ด ์ž‘์„ฑํ•œ ์ŠคํŽ™๊ณผ ์ œ์•ฝ ์กฐ๊ฑด์ด ๋ฐ”๋กœ ๊ทธ ๋ถ€์ •ํ–‰์œ„๋ฅผ ๋ง‰๊ณ  ์ž‘์—…์— ์ง‘์ค‘ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์žฅ์น˜์ž…๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์–ป๋Š” ์ด์ ์€ ์ด๊ฒƒ์ž…๋‹ˆ๋‹ค

์ข‹์€ ์ŠคํŽ™์€ AI์—๊ฒŒ ๋ฌด์—‡์„ ๋งŒ๋“ค์ง€ ์ง€์‹œํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์Šค์Šค๋กœ ์ˆ˜์ •ํ•˜๊ณ  ์•ˆ์ „ํ•œ ๊ฒฝ๊ณ„ ์•ˆ์— ๋จธ๋ฌผ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๋‹จ๊ณ„, ์ œ์•ฝ ์กฐ๊ฑด, ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ๋ถ„์ด ์Œ“์•„์˜จ ์ง€์‹์„ ์ŠคํŽ™์— ๋…น์—ฌ ๋„ฃ์œผ๋ฉด, ์—์ด์ „ํŠธ์˜ ๊ฒฐ๊ณผ๋ฌผ์ด ์ฒซ ์‹œ๋„๋ถ€ํ„ฐ ์ •ํ™•ํ•  ๊ฐ€๋Šฅ์„ฑ(ํ˜น์€ ์ตœ์†Œํ•œ ํ›จ์”ฌ ์ •ํ™•ํ•  ๊ฐ€๋Šฅ์„ฑ)์ด ํฌ๊ฒŒ ๋†’์•„์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์ค„์ด๊ณ , โ€œ๋„๋Œ€์ฒด ์™œ ์ด๋Ÿฐ ๊ฑธ ๋งŒ๋“  ๊ฑฐ์ง€?โ€๋ผ๋Š” ์ˆœ๊ฐ„์„ ํ˜„์ €ํžˆ ์ค„์—ฌ ์ค๋‹ˆ๋‹ค.

5. ์ŠคํŽ™์„ ํ…Œ์ŠคํŠธํ•˜๊ณ , ๋ฐ˜๋ณต ๊ฐœ์„ ํ•˜๋ฉฐ, ์ง„ํ™”์‹œํ‚ค๊ธฐ (๊ทธ๋ฆฌ๊ณ  ์˜ฌ๋ฐ”๋ฅธ ๋„๊ตฌ ์‚ฌ์šฉํ•˜๊ธฐ)

์ŠคํŽ™ ์ž‘์„ฑ๊ณผ ์—์ด์ „ํŠธ ๊ตฌ์ถ•์€ ๋ฐ˜๋ณต์ ์ธ ๋ฃจํ”„๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ดˆ๊ธฐ์— ํ…Œ์ŠคํŠธํ•˜๊ณ , ํ”ผ๋“œ๋ฐฑ์„ ์ˆ˜์ง‘ํ•˜๋ฉฐ, ์ŠคํŽ™์„ ๊ฐœ์„ ํ•˜๊ณ , ์ด๋ฅผ ์ž๋™ํ™”ํ•ด ์ค„ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ์ŠคํŽ™์€ ๋์ด ์•„๋‹ˆ๋ผ ์‚ฌ์ดํด์˜ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ข‹์€ ๊ฒฐ๊ณผ๋Š” ์—์ด์ „ํŠธ์˜ ์ž‘์—…์„ ์ŠคํŽ™์— ์ง€์†์ ์œผ๋กœ ๋Œ€์กฐํ•ด ๊ฒ€์ฆํ•˜๊ณ , ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ŠคํŽ™์„ ์กฐ์ •ํ•  ๋•Œ ๋‚˜์˜ต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ˜„๋Œ€์ ์ธ AI ๊ฐœ๋ฐœ์ž๋“ค์€ CI ํŒŒ์ดํ”„๋ผ์ธ๋ถ€ํ„ฐ ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ ๋„๊ตฌ๊นŒ์ง€, ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•ด ์ด ๊ณผ์ •์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ŠคํŽ™ ๋ฐ˜๋ณต ๋ฃจํ”„: ํ…Œ์ŠคํŠธ โ†’ ํ”ผ๋“œ๋ฐฑ โ†’ ๊ฐœ์„  โ†’ ๋„๊ตฌ

์ง€์†์ ์ธ ํ…Œ์ŠคํŠธ

์—์ด์ „ํŠธ๊ฐ€ ์ŠคํŽ™์„ ์ถฉ์กฑํ–ˆ๋Š”์ง€ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ๋งˆ์„ธ์š”. ๊ฐ ์ฃผ์š” ๋งˆ์ผ์Šคํ†ค, ํ˜น์€ ํ•จ์ˆ˜ ํ•˜๋‚˜๋ฅผ ์™„์„ฑํ•  ๋•Œ๋งˆ๋‹ค ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์ตœ์†Œํ•œ ๋น ๋ฅธ ์ˆ˜๋™ ์ ๊ฒ€ ํ•˜์„ธ์š”. ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด, ๊ทธ๋Œ€๋กœ ์ง„ํ–‰ํ•˜์ง€ ๋ง๊ณ  ์ฆ‰์‹œ ์ŠคํŽ™์ด๋‚˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŽ™์— โ€œ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋ฐ˜๋“œ์‹œ bcrypt๋กœ ํ•ด์‹œํ•ด์•ผ ํ•œ๋‹คโ€๋ผ๊ณ  ๋˜์–ด ์žˆ๋Š”๋ฐ, ์—์ด์ „ํŠธ๊ฐ€ ํ‰๋ฌธ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ์ฆ‰์‹œ ์ค‘๋‹จํ•˜๊ณ  ํ•ด๋‹น ๊ทœ์น™์„ ๋‹ค์‹œ ๊ฐ•์กฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ์˜ ๊ฐ€์น˜๊ฐ€ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ–ˆ๊ฑฐ๋‚˜ ์ž‘์„ฑํ•ด ๋‘์—ˆ๋‹ค๋ฉด, ์—์ด์ „ํŠธ๊ฐ€ ์ง์ ‘ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜์„ธ์š”. ๋งŽ์€ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ํ™˜๊ฒฝ์—์„œ๋Š” ์ž‘์—… ์™„๋ฃŒ ํ›„ npm test ๊ฐ™์€ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์‹คํŒจ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ ํ”„๋กฌํ”„ํŠธ๋กœ ๋‹ค์‹œ ์ „๋‹ฌ๋˜์–ด โ€œX, Y, Z์—์„œ ์ŠคํŽ™์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์ˆ˜์ •ํ•˜๋ผโ€๋Š” ์‹ ํ˜ธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—์ด์ „ํ‹ฑ ๋ฃจํ”„(์ฝ”๋“œ โ†’ ํ…Œ์ŠคํŠธ โ†’ ์ˆ˜์ • โ†’ ๋ฐ˜๋ณต)๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๋ฉฐ, Claude Code๋‚˜ Copilot Labs ๊ฐ™์€ ๋„๊ตฌ๋“ค์ด ์ ์  ๋” ํฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ง„ํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ โ€œ์™„๋ฃŒโ€์˜ ๊ธฐ์ค€์„ ํ…Œ์ŠคํŠธ๋‚˜ ๋ช…ํ™•ํ•œ ๊ธฐ์ค€์œผ๋กœ ์ •์˜ํ•˜๊ณ , ์‹ค์ œ๋กœ ์ถฉ์กฑ๋๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

์ŠคํŽ™ ์ž์ฒด๋ฅผ ๋ฐ˜๋ณต ๊ฐœ์„ ํ•˜๊ธฐ

์—์ด์ „ํŠธ๊ฐ€ ๋ฌด์–ธ๊ฐ€๋ฅผ ์˜คํ•ดํ–ˆ๊ฑฐ๋‚˜, ์š”๊ตฌ์‚ฌํ•ญ์„ ๋น ๋œจ๋ ธ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ฌ์•˜๋‹ค๋ฉด, ์ŠคํŽ™ ๋ฌธ์„œ ์ž์ฒด๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”. ๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋“œ์‹œ ์—์ด์ „ํŠธ์—๊ฒŒ ์ด๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋‹ค์‹œ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ: โ€œ์ŠคํŽ™์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋œ ์ŠคํŽ™์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„ํš์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ„ฐ๋งํ•˜์„ธ์š”.โ€) ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ŠคํŽ™์ด ๋‹จ์ผ ์ง„์‹ค์˜ ์›์ฒœ(single source of truth) ์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ์—์„œ ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๊ฒฝ์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹๊ณผ ๋™์ผํ•˜์ง€๋งŒ, ์—ฌ๊ธฐ์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด AI ์—์ด์ „ํŠธ์˜ ํ”„๋กœ๋•ํŠธ ๋งค๋‹ˆ์ € ์—ญํ• ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•˜๋Š” ์…ˆ์ž…๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๋‚จ๊ธฐ์„ธ์š”(์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋‚˜ ๊ฐ„๋‹จํ•œ ๋ฉ”๋ชจ๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค). ๋ฌด์—‡์ด, ์™œ ๋ฐ”๋€Œ์—ˆ๋Š”์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋„๊ตฌ ํ™œ์šฉํ•˜๊ธฐ

AI ์—์ด์ „ํŠธ์˜ ์ปจํ…์ŠคํŠธ์™€ ์ง€์‹์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ์ƒํƒœ๊ณ„๋Š” ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ํŒจํ„ด์ด RAG(Retrieval-Augmented Generation) ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์—์ด์ „ํŠธ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ™์€ ์ง€์‹ ์ €์žฅ์†Œ์—์„œ ๊ด€๋ จ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ŠคํŽ™์ด ๋งค์šฐ ํฌ๋‹ค๋ฉด, ์ „์ฒด๋ฅผ ํ•ญ์ƒ ์ œ๊ณตํ•˜๋Š” ๋Œ€์‹ , ์„น์…˜๋ณ„๋กœ ์ž„๋ฒ ๋”ฉํ•ด ๋‘๊ณ  ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๊ฒ€์ƒ‰ํ•ด ์“ฐ๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ MCP(Model Context Protocol) ๋ฅผ ๊ตฌํ˜„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค๋„ ์žˆ๋Š”๋ฐ, ์ด๋Š” ํ˜„์žฌ ์ž‘์—…์— ๋งž๋Š” ์ปจํ…์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ๋ชจ๋ธ์— ๊ณต๊ธ‰ํ•ด ์ค๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋กœ Context7(context7.com)์€ ์ž‘์—… ์ค‘์ธ ์ฃผ์ œ์— ๋”ฐ๋ผ ๊ด€๋ จ ์ปจํ…์ŠคํŠธ ์กฐ๊ฐ์„ ์ž๋™์œผ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ๋Š” ์—์ด์ „ํŠธ๊ฐ€ โ€œ๊ฒฐ์ œ ์ฒ˜๋ฆฌโ€ ์ž‘์—…์„ ๊ฐ์ง€ํ•˜๊ณ , ์ŠคํŽ™์ด๋‚˜ ๋ฌธ์„œ์˜ โ€œ๊ฒฐ์ œโ€ ์„น์…˜์„ ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จ์‹œํ‚ค๋Š” ์‹์ž…๋‹ˆ๋‹ค. ์™„์ „ํ•œ ๋„๊ตฌ๋ฅผ ์“ฐ์ง€ ์•Š๋”๋ผ๋„, ์ŠคํŽ™ ๋ฌธ์„œ ๋‚ด ๊ฒ€์ƒ‰ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ๋ฐฉ์‹์œผ๋กœ๋„ ๋น„์Šทํ•œ ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ‘๋ ฌํ™”๋Š” ์‹ ์ค‘ํ•˜๊ฒŒ

์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ ์—์ด์ „ํŠธ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ๋‹ค๋ฅธ ์—์ด์ „ํŠธ๋Š” ๋™์‹œ์— ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ž˜๋งŒ ํ•˜๋ฉด ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ํฌ๊ฒŒ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ž‘์—…์ด ์ •๋ง๋กœ ๋…๋ฆฝ์ ์ด๊ฑฐ๋‚˜ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™์—๋Š” ์˜์กด์„ฑ์„ ๋ถ„๋ช…ํžˆ ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‘ ์—์ด์ „ํŠธ๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ฒŒ ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด์€ ํ•œ ์—์ด์ „ํŠธ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ๋‹ค๋ฅธ ์—์ด์ „ํŠธ๊ฐ€ ๋ณ‘๋ ฌ๋กœ ๋ฆฌ๋ทฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜, ์„œ๋กœ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“  ๋’ค ๋‚˜์ค‘์— ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ณ ๊ธ‰ ํ™œ์šฉ๋ฒ•์ด๋ฉฐ, ๊ด€๋ฆฌ ๋‚œ์ด๋„๊ฐ€ ๋†’์Šต๋‹ˆ๋‹ค. Willison๋„ ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๋ฅผ ๋™์‹œ์— ์šด์˜ํ•˜๋Š” ๊ฒƒ์ด โ€œ๋†€๋ผ์šธ ์ •๋„๋กœ ํšจ๊ณผ์ ์ด์ง€๋งŒ ์ •์‹ ์ ์œผ๋กœ ๋งค์šฐ ํ”ผ๊ณคํ•˜๋‹คโ€๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€์„ ์œ ์ง€ํ•˜๋ ค๋ฉด 2~3๊ฐœ ์ •๋„๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „ ๊ด€๋ฆฌ์™€ ์ŠคํŽ™ ์ž ๊ธˆ

๋ฒ„์ „ ๊ด€๋ฆฌ์™€ ์ŠคํŽ™ ์ž ๊ธˆ: Git ๋˜๋Š” ๊ทธ์— ์ƒ์‘ํ•˜๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ๋ฐ˜๋“œ์‹œ ํ™œ์šฉํ•˜์„ธ์š”. AI ๋ณด์กฐ ์ž‘์—… ํ™˜๊ฒฝ์—์„œ๋Š” ์ข‹์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ์Šต๊ด€์ด ๋”์šฑ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™ ํŒŒ์ผ ์ž์ฒด๋ฅผ ์ €์žฅ์†Œ์— ์ปค๋ฐ‹ํ•˜๊ณ , ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ์œ ์ง€ํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋ณด์กดํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์—์ด์ „ํŠธ๊ฐ€ git diff๋‚˜ git blame ๋“ฑ์„ ํ†ตํ•ด ์ŠคํŽ™์˜ ๋ณ€ํ™”๋ฅผ ์ถ”์ ํ•˜๊ฑฐ๋‚˜, ์™œ ํŠน์ • ๋‚ด์šฉ์ด ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€ํ˜• LLM๋“ค์€ diff๋ฅผ ์ฝ๊ณ  ์‚ฌ์œ ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ๋งค์šฐ ๋Šฅ์ˆ™ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ๊ณ ๊ธ‰ ํ™˜๊ฒฝ์—์„œ๋Š” ์—์ด์ „ํŠธ๊ฐ€ VCS ํžˆ์Šคํ† ๋ฆฌ ์ž์ฒด์— ์งˆ๋ฌธ์„ ๋˜์ ธ์„œ, โ€œ์ด ์‚ฌ์–‘์ด ์–ธ์ œ, ์™œ ์ถ”๊ฐ€๋˜์—ˆ์ง€?โ€๋ฅผ ์ง์ ‘ ๋‹ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜์™ธ๋กœ ์ตœ์‹  ๋ชจ๋ธ๋“ค์€ git ์‚ฌ์šฉ์— ๊ฝค ๋Šฅ์ˆ™ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŽ™์„ ๋ ˆํฌ์— ๋‘๋ฉด, ์—ฌ๋Ÿฌ๋ถ„๊ณผ AI ๋ชจ๋‘๊ฐ€ ๊ฐ™์€ ์†Œ์Šค์—์„œ ๋ฐœ์ „ ๊ณผ์ •์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์„œ ์–ธ๊ธ‰ํ•œ GitHub Spec Kit์ฒ˜๋Ÿผ, ์ŠคํŽ™ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์„ git workflow์— ํ†ตํ•ฉํ•˜๋Š” ๋„๊ตฌ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŽ™์ด ๋ˆ„๋ฝ๋œ ๋จธ์ง€๋ฅผ ๋ง‰๊ฑฐ๋‚˜, ์ŠคํŽ™ ํ•ญ๋ชฉ์œผ๋กœ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์ž๋™ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ ๋“ฑ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด๋Ÿฐ ๋„๊ตฌ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ์š”์ ์€ ์ŠคํŽ™์„ ์ฝ”๋“œ์ฒ˜๋Ÿผ ์‹ ์ค‘ํžˆ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋น„์šฉ๊ณผ ์†๋„ ๊ณ ๋ ค

๋Œ€ํ˜• ๋ชจ๋ธ๊ณผ ๊ธด ์ปจํ…์ŠคํŠธ๋Š” ๋А๋ฆฌ๊ณ  ๋น„์šฉ์ด ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋ธ ์„ ํƒ๊ณผ ๋ฐฐ์น˜ ์ „๋žต์„ ํ˜„๋ช…ํ•˜๊ฒŒ ๊ฐ€์ ธ๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ์ดˆ์•ˆ์ด๋‚˜ ๋ฐ˜๋ณต ์ž‘์—…์—๋Š” ์ €๋ ดํ•˜๊ณ  ๋น ๋ฅธ ๋ชจ๋ธ์„ ์“ฐ๊ณ , ์ตœ์ข… ๊ฒฐ๊ณผ๋‚˜ ๋ณต์žกํ•œ ์ถ”๋ก ์ด ํ•„์š”ํ•œ ๋‹จ๊ณ„์—์„œ๋งŒ ๊ณ ์„ฑ๋Šฅ ๋ชจ๋ธ์„ ์“ฐ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๊ฐœ๋ฐœ์ž๋“ค์€ GPT-4๋‚˜ Claude๋ฅผ ๊ณ„ํš ์ˆ˜๋ฆฝ์ด๋‚˜ ํ•ต์‹ฌ ๋‹จ๊ณ„์— ์‚ฌ์šฉํ•˜๊ณ , ๋‹จ์ˆœํ•œ ๋ฆฌํŒฉํ„ฐ๋ง์ด๋‚˜ ํ™•์žฅ ์ž‘์—…์€ ๋กœ์ปฌ ๋ชจ๋ธ์ด๋‚˜ ์†Œํ˜• API ๋ชจ๋ธ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๋ฅผ ์“ด๋‹ค๋ฉด, ํ…Œ์ŠคํŠธ ์‹คํ–‰์šฉ์ด๋‚˜ ๋ฆฐํŠธ ์ „์šฉ ์—์ด์ „ํŠธ๋Š” ๊ตณ์ด ์ตœ์ƒ๊ธ‰ ๋ชจ๋ธ์ผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ปจํ…์ŠคํŠธ ํฌ๊ธฐ๋„ ํ•„์š” ์ด์ƒ์œผ๋กœ ํ‚ค์šฐ์ง€ ๋งˆ์„ธ์š”. 5์ฒœ ํ† ํฐ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด 2๋งŒ ํ† ํฐ์„ ์ž…๋ ฅํ•˜์ง€ ๋งˆ์„ธ์š”. ํ† ํฐ์ด ๋งŽ์„์ˆ˜๋ก ํ•ญ์ƒ ์ข‹์€ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ฒƒ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋กœ๊ทธ๋กœ ๋‚จ๊ธฐ๊ธฐ

๋ณต์žกํ•œ ์—์ด์ „ํŠธ ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ๋Š” ์—์ด์ „ํŠธ์˜ ํ–‰๋™๊ณผ ์ถœ๋ ฅ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด ์—์ด์ „ํŠธ๊ฐ€ ์–ด๋””์„œ ๋ฒ—์–ด๋‚ฌ๋Š”์ง€, ์–ด๋–ค ์˜ค๋ฅ˜๋ฅผ ๊ฒช์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํŠธ๋ ˆ์ด์Šค ๋กœ๊ทธ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ๋‹จ๊ณ„๋ณ„ ์‚ฌ๊ณ  ๊ณผ์ •์„ ์ถœ๋ ฅํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋กœ๊ทธ๋ฅผ ๊ฒ€ํ† ํ•˜๋‹ค ๋ณด๋ฉด, ์ŠคํŽ™์ด๋‚˜ ์ง€์‹œ๊ฐ€ ์–ด๋””์„œ ๋ชจํ˜ธํ–ˆ๋Š”์ง€๋„ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ ๋””๋ฒ„๊น…๊ณผ ๋งค์šฐ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์—ฌ๊ธฐ์„œ โ€œํ”„๋กœ๊ทธ๋žจโ€์€ ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ”„๋กฌํ”„ํŠธ ์ฒด์ธ์ž…๋‹ˆ๋‹ค. ์ด์ƒํ•œ ์ผ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ŠคํŽ™/์ง€์นจ์œผ๋กœ ๋Œ์•„๊ฐ€ ๋ชจํ˜ธํ•œ ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

๋ฐฐ์šฐ๊ณ  ๊ฐœ์„ ํ•˜๊ธฐ

๋งˆ์ง€๋ง‰์œผ๋กœ, ๊ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ŠคํŽ™ ์ž‘์„ฑ ๋Šฅ๋ ฅ์„ ๊ฐœ์„ ํ•˜๋Š” ํ•™์Šต ๊ธฐํšŒ๋กœ ์‚ผ์œผ์„ธ์š”. ํŠน์ • ํ‘œํ˜„์ด ๊ณ„์† AI๋ฅผ ํ—ท๊ฐˆ๋ฆฌ๊ฒŒ ๋งŒ๋“ ๋‹ค๋“ ์ง€, ์ŠคํŽ™ ๊ตฌ์กฐ๋ฅผ ์ด๋ ‡๊ฒŒ ์งœ๋ฉด ๋” ์ž˜ ๋”ฐ๋ฅด๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋Š” ํŒจํ„ด์ด ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ตํ›ˆ์„ ๋‹ค์Œ ์ŠคํŽ™์— ๋ฐ˜์˜ํ•˜์„ธ์š”. AI ์—์ด์ „ํŠธ ๋ถ„์•ผ๋Š” ๋น ๋ฅด๊ฒŒ ์ง„ํ™”ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, Simon Willison, Andrej Karpathy ๊ฐ™์€ ์‚ฌ๋žŒ๋“ค์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ์ตœ์‹  ์‚ฌ๋ก€๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ณ , ์‹คํ—˜์„ ๋‘๋ ค์›Œํ•˜์ง€ ๋งˆ์„ธ์š”.

AI ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์ŠคํŽ™์€ โ€œํ•œ ๋ฒˆ ์“ฐ๊ณ  ๋โ€์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ง€์‹œ โ†’ ๊ฒ€์ฆ โ†’ ๊ฐœ์„ ์˜ ์ง€์†์ ์ธ ์‚ฌ์ดํด์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ์„ฑ์‹คํžˆ ์œ ์ง€ํ•˜๋ฉด, ๋‚˜์ค‘์— ๊ฐ’๋น„์‹ผ ์žฌ์ž‘์—…์ด๋‚˜ ์‹คํŒจ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ AI ์—”์ง€๋‹ˆ์–ด์˜ ๋ง์ฒ˜๋Ÿผ, ์ด๋Š” โ€œ์ธํ„ด ๊ตฐ๋‹จ์„ ๊ฑฐ๋А๋ฆฌ๋Š” ๊ฒƒโ€๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ, ์ž˜ ๊ด€๋ฆฌํ•ด์•ผ๋งŒ ์„ฑ๊ณผ๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค. ์ง€์†์ ์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ์ข‹์€ ์ŠคํŽ™์ด ๋ฐ”๋กœ ๊ทธ ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

ํ”ํžˆ ์ €์ง€๋ฅด๋Š” ์‹ค์ˆ˜ ํ”ผํ•˜๊ธฐ

๋งˆ๋ฌด๋ฆฌํ•˜๊ธฐ ์ „์—, ์ŠคํŽ™ ๊ธฐ๋ฐ˜ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋ง์น˜๋Š” ์•ˆํ‹ฐํŒจํ„ด๋“ค์„ ์งš๊ณ  ๊ฐ€๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. 2,500๊ฐœ ์ด์ƒ์˜ ์—์ด์ „ํŠธ ํŒŒ์ผ์„ ๋ถ„์„ํ•œ GitHub ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด, ๊ฐ€์žฅ ํฐ ์‹คํŒจ ์›์ธ์€ ๋ถ„๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. โ€œ๋Œ€๋ถ€๋ถ„์˜ ์—์ด์ „ํŠธ ํŒŒ์ผ์€ ๋„ˆ๋ฌด ๋ชจํ˜ธํ•ด์„œ ์‹คํŒจํ•œ๋‹ค.โ€ ํ”ผํ•ด์•ผ ํ•  ์‹ค์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ชจํ˜ธํ•œ ํ”„๋กฌํ”„ํŠธ

โ€œ๋ญ”๊ฐ€ ๋ฉ‹์ง„ ๊ฑธ ๋งŒ๋“ค์–ด์ค˜โ€, โ€œ๋” ์ž˜ ์ž‘๋™ํ•˜๊ฒŒ ํ•ด ์ค˜โ€ ๊ฐ™์€ ์š”์ฒญ์€ ์—์ด์ „ํŠธ๊ฐ€ ๋ถ™์žก์„ ๊ธฐ์ค€์ด ์—†์Šต๋‹ˆ๋‹ค. Baptiste Studer์˜ ๋ง์ฒ˜๋Ÿผ, โ€œ๋ชจํ˜ธํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ณ์Šต๋‹ˆ๋‹ค.โ€ ์ž…๋ ฅ, ์ถœ๋ ฅ, ์ œ์•ฝ ์กฐ๊ฑด์„ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”. โ€œ๋‹น์‹ ์€ ์œ ์šฉํ•œ ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ์ž…๋‹ˆ๋‹คโ€๋Š” ์•„๋ฌด ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. โ€œ๋‹น์‹ ์€ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ, ์ด ์˜ˆ์‹œ๋“ค์„ ๋”ฐ๋ฅด๊ณ , ์†Œ์Šค ์ฝ”๋“œ๋Š” ์ ˆ๋Œ€ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š” ํ…Œ์ŠคํŠธ ์—”์ง€๋‹ˆ์–ด์ž…๋‹ˆ๋‹คโ€์ฒ˜๋Ÿผ ๊ตฌ์ฒด์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝ ์—†๋Š” ๊ณผ๋„ํ•œ ์ปจํ…์ŠคํŠธ

๋ฌธ์„œ 50ํŽ˜์ด์ง€๋ฅผ ๊ทธ๋Œ€๋กœ ๋˜์ ธ์ฃผ๊ณ  ๋ชจ๋ธ์ด ์•Œ์•„์„œ ํ•˜๊ธธ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ธต์  ์š”์•ฝ์ด๋‚˜ RAG๋ฅผ ์‚ฌ์šฉํ•ด ๊ด€๋ จ๋œ ๊ฒƒ๋งŒ ์ œ๊ณตํ•˜์„ธ์š”. ์ปจํ…์ŠคํŠธ ๊ธธ์ด๋Š” ํ’ˆ์งˆ์„ ๋Œ€์ฒดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ๋žŒ์˜ ๋ฆฌ๋ทฐ ์ƒ๋žต

Willison์˜ ๊ฐœ์ธ ๊ทœ์น™์€ ์ด๋ ‡์Šต๋‹ˆ๋‹ค. โ€œ๋‚˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์—†๋Š” ์ฝ”๋“œ๋Š” ์ปค๋ฐ‹ํ•˜์ง€ ์•Š๋Š”๋‹ค.โ€ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ–ˆ๋‹ค๊ณ  ํ•ด์„œ ์ฝ”๋“œ๊ฐ€ ์•ˆ์ „ํ•˜๊ฑฐ๋‚˜ ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋ณด์žฅ์€ ์—†์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ ๋กœ์ง์€ ๋ฐ˜๋“œ์‹œ ์ง์ ‘ ๋ฆฌ๋ทฐํ•˜์„ธ์š”. AI ์ฝ”๋“œ์—๋Š” โ€˜์นด๋“œ๋กœ ์Œ“์€ ์ง‘โ€™ ๊ฐ™์€ ์ทจ์•ฝ์„ฑ์ด ์ˆจ์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AI๊ฐ€ ์ƒ์„ฑํ•œ ์ฝ”๋“œ๋Š” ๊ฒฌ๊ณ ํ•ด ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์€ ๊ฒฝ๊ณ„ ์‚ฌ๋ก€์—์„œ ๋ฌด๋„ˆ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ๊ณผ ํ”„๋กœ๋•์…˜ ์—”์ง€๋‹ˆ์–ด๋ง ํ˜ผ๋™

AI๋กœ ๋น ๋ฅด๊ฒŒ ํ”„๋กœํ† ํƒ€์ดํ•‘ํ•˜๋Š” โ€œ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉโ€์€ ํƒ์ƒ‰ ๋‹จ๊ณ„์—์„œ๋Š” ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—„๊ฒฉํ•œ ์ŠคํŽ™, ํ…Œ์ŠคํŠธ, ๋ฆฌ๋ทฐ ์—†์ด ์ด๋ฅผ ๋ฐ”๋กœ ํ”„๋กœ๋•์…˜์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. โ€œAI ๋ณด์กฐ ์—”์ง€๋‹ˆ์–ด๋งโ€์€ ์ด ๊ฐ€์ด๋“œ์—์„œ ์„ค๋ช…ํ•œ ๊ทœ์œจ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ์–ด๋А ๋ชจ๋“œ์— ์žˆ๋Š”์ง€ ์Šค์Šค๋กœ ์ธ์‹ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โ€˜์น˜๋ช…์ ์ธ ์‚ผ์œ„์ผ์ฒดโ€™ ๋ฌด์‹œ

Willison์€ AI ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ—˜ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์„ธ ๊ฐ€์ง€๋ฅผ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์†๋„(๊ฒ€ํ† ๋ณด๋‹ค ๋น ๋ฆ„), ๋น„๊ฒฐ์ •์„ฑ(๊ฐ™์€ ์ž…๋ ฅ, ๋‹ค๋ฅธ ์ถœ๋ ฅ), ๋น„์šฉ(๊ฒ€์ฆ์„ ๊ฑด๋„ˆ๋›ฐ๊ฒŒ ๋ถ€์ถ”๊น€). ์ŠคํŽ™๊ณผ ๋ฆฌ๋ทฐ ํ”„๋กœ์„ธ์Šค๋Š” ์ด ์„ธ ๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์†๋„๊ฐ€ ๊ฒ€์ฆ ๋Šฅ๋ ฅ์„ ์•ž์„œ๊ฒŒ ๋‘์ง€ ๋งˆ์„ธ์š”.

์—ฌ์„ฏ ๊ฐ€์ง€ ํ•ต์‹ฌ ์˜์—ญ ๋ˆ„๋ฝ

์ŠคํŽ™์— ๋ช…๋ น, ํ…Œ์ŠคํŠธ, ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ, ์ฝ”๋“œ ์Šคํƒ€์ผ, Git ์›Œํฌํ”Œ๋กœ์šฐ, ๊ฒฝ๊ณ„ ๊ทœ์น™์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด, ์—์ด์ „ํŠธ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฌด์–ธ๊ฐ€๊ฐ€ ๋น ์ ธ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค. 2๋ฒˆ ์„น์…˜์˜ ์—ฌ์„ฏ ์˜์—ญ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์ตœ์ข… ์ ๊ฒ€์šฉ์œผ๋กœ ํ™œ์šฉํ•˜์„ธ์š”.

๊ฒฐ๋ก 

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ํšจ๊ณผ์ ์ธ ์ŠคํŽ™ ์ž‘์„ฑ์€ ํƒ„ํƒ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ์›์น™์— LLM์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ ์ ์‘์ด ๊ฒฐํ•ฉ๋œ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๋ช…ํ™•ํ•œ ๋ชฉ์ ์—์„œ ์‹œ์ž‘ํ•˜๊ณ , ์„ธ๋ถ€ ๊ณ„ํš์€ AI๊ฐ€ ํ™•์žฅํ•˜๋„๋ก ํ•˜์„ธ์š”. ์—ฌ์„ฏ ๊ฐ€์ง€ ํ•ต์‹ฌ ์˜์—ญ์„ ํฌํ•จํ•œ ์ง„์ง€ํ•œ ์„ค๊ณ„ ๋ฌธ์„œ ํ˜•ํƒœ๋กœ ์ŠคํŽ™์„ ๊ตฌ์กฐํ™”ํ•˜๊ณ , ์ด๋ฅผ ํˆด์ฒด์ธ์— ํ†ตํ•ฉํ•ด ๋‹จ์ˆœํ•œ ๊ธ€์ด ์•„๋‹Œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์‚ฐ์ถœ๋ฌผ๋กœ ๋งŒ๋“œ์„ธ์š”. ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ฌธ์ œ์—๋งŒ ์ง‘์ค‘ํ•˜๋„๋ก ์ปจํ…์ŠคํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , 3๋‹จ๊ณ„(ํ•ญ์ƒ / ๋จผ์ € ๋ฌป๊ธฐ / ์ ˆ๋Œ€ ์•ˆ ๋จ) ๊ฒฝ๊ณ„, ์ž์ฒด ๊ฒ€์ฆ, ์ ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์‹คํŒจํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์„ AI์—๊ฒŒ ๊ฐ€๋ฅด์น˜์„ธ์š”. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ชจ๋“  ๊ณผ์ •์„ ๋ฐ˜๋ณต์ ์ด๊ณ  ์ง„ํ™”ํ•˜๋Š” ์‚ฌ์ดํด๋กœ ๋‹ค๋ฃจ์„ธ์š”. ํ…Œ์ŠคํŠธ์™€ ํ”ผ๋“œ๋ฐฑ์„ ํ™œ์šฉํ•ด ์ŠคํŽ™๊ณผ TODO๋ฅผ ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ํ•˜์„ธ์š”.

์ด ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๋”ฐ๋ฅด๋ฉด, AI ์—์ด์ „ํŠธ๊ฐ€ ํฐ ์ปจํ…์ŠคํŠธ์—์„œ ๋ฌด๋„ˆ์ง€๊ฑฐ๋‚˜ ์—‰๋šฑํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ํ˜๋Ÿฌ๊ฐˆ ๊ฐ€๋Šฅ์„ฑ์€ ํฌ๊ฒŒ ์ค„์–ด๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ–‰๋ณตํ•œ ์ŠคํŽ™ ์ž‘์„ฑ ๋˜์„ธ์š”!

์ด ๊ธ€์€ Gemini๋ฅผ ์‚ฌ์šฉํ•ด ํฌ๋งท๋˜์—ˆ์œผ๋ฉฐ, ์ด๋ฏธ์ง€๋Š” Nano Banana Pro๋กœ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


Oโ€™Reilly์™€ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด AI ๋ณด์กฐ ์—”์ง€๋‹ˆ์–ด๋ง ๋„์„œ๋ฅผ ์ถœ๊ฐ„ํ•˜๊ฒŒ ๋˜์–ด ๋งค์šฐ ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๊ด€์‹ฌ ์žˆ์œผ์‹œ๋‹ค๋ฉด ๋„์„œ ์‚ฌ์ดํŠธ์—์„œ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋Š” ์—ฌ๋Ÿฌ ํŒ๋“ค๋„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿš€ ํ•œ๊ตญ์–ด๋กœ ๋œ ํ”„๋ŸฐํŠธ์—”๋“œ ์•„ํ‹ฐํด์„ ๋น ๋ฅด๊ฒŒ ๋ฐ›์•„๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด Korean FE Article(https://kofearticle.substack.com/)์„ ๊ตฌ๋…ํ•ด์ฃผ์„ธ์š”!


[Ykss]
Written by@[Ykss]
๊ณ ์ด๊ฒŒ ๋‘์ง€ ์•Š๊ณ  ํ˜๋ ค๋ณด๋‚ด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์ž.

GitHubInstagramLinkedIn