Skip to main content
PromptQuorumPromptQuorum
Home/Prompt Engineering/ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ: ์ถ”์ ยท๋กค๋ฐฑยทํŒ€ ์›Œํฌํ”Œ๋กœ
Team Operations & Governance

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ: ์ถ”์ ยท๋กค๋ฐฑยทํŒ€ ์›Œํฌํ”Œ๋กœ

ยท10๋ถ„ ๋ถ„๋Ÿ‰ยทBy Hans Kuepper ยท Founder of PromptQuorum, multi-model AI dispatch tool ยท PromptQuorum

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

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” ์‹œ๋งจํ‹ฑ ๋ฒ„์ „ ๊ด€๋ฆฌ(MAJOR.MINOR.PATCH)์™€ Git ์›Œํฌํ”Œ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AI ํ”„๋กฌํ”„ํŠธ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰๊ฐ์ ์ธ ๋กค๋ฐฑ, ํŒ€ ํ˜‘์—…, ํšŒ๊ท€ ํƒ์ง€๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค โ€” ์ฝ”๋“œ์— ์ ์šฉ๋˜๋Š” ๋™์ผํ•œ ๊ทœ์œจ์„ ํ”„๋กฌํ”„ํŠธ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

Key Takeaways

  • ํ”„๋กฌํ”„ํŠธ์— MAJOR.MINOR.PATCH๋ฅผ ์ ์šฉํ•˜์‹ญ์‹œ์˜ค: ํ˜ธํ™˜์„ฑ์„ ๊นจ๋Š” ์ถœ๋ ฅ ํ˜•์‹ ๋ณ€๊ฒฝ์— MAJOR, ํ’ˆ์งˆ ํ–ฅ์ƒ์— MINOR, ์˜คํƒ€/๋ฌธ๊ตฌ ์ˆ˜์ •์— PATCH
  • Git์˜ `/prompts/` ๋””๋ ‰ํ† ๋ฆฌ์— ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ €์žฅํ•˜์‹ญ์‹œ์˜ค โ€” ๊ตฌ์„ฑ์ด ์•„๋‹Œ ์ฝ”๋“œ๋กœ ์ทจ๊ธ‰ํ•˜์‹ญ์‹œ์˜ค
  • ๊ฐ ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ์€ PR์„ ์—ฝ๋‹ˆ๋‹ค; ์ž๋™ํ™” ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋Š” ์ˆ˜๋™ ๊ฒ€ํ†  ์ „์— ๊ฐ PR์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค
  • ํ”„๋กฌํ”„ํŠธ ์ฒด์ธ์ง€๋กœ๊ทธ์—๋Š” 5๊ฐœ ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค: ๋ฒ„์ „, ๋‚ ์งœ, ์ž‘์„ฑ์ž, ๋ณ€๊ฒฝ ์œ ํ˜•, ์˜ˆ์ƒ ์ถœ๋ ฅ ๋ณ€ํ™”
  • `git revert`(ํ‘œ์ค€), ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ(๋‹ค์šดํƒ€์ž„ ์—†์Œ) ๋˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์žฌ์ •์˜(ํ•ซํ”ฝ์Šค)๋กœ ๋กค๋ฐฑํ•˜์‹ญ์‹œ์˜ค
  • ๋ณ‘ํ•ฉ ์ถฉ๋Œ๊ณผ ๋ถˆ๋ช…ํ™•ํ•œ ์ฑ…์ž„์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋Šฅ ์˜์—ญ๋ณ„๋กœ ํ”„๋กฌํ”„ํŠธ ์†Œ์œ ์ž๋ฅผ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค
  • ๋Œ€ํ‘œ์ ์ธ 10โ€“20๊ฐœ ์ž…๋ ฅ์˜ ๊ณจ๋“  ํ…Œ์ŠคํŠธ ์„ธํŠธ๋Š” ๋ชจ๋“  ํ”„๋กœ๋•์…˜ ํ”„๋กฌํ”„ํŠธ์˜ ์ตœ์†Œ ์š”๊ตฌ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค

โšก Quick Facts

  • ยทํ”„๋กฌํ”„ํŠธ๋ฅผ ์œ„ํ•œ ์‹œ๋งจํ‹ฑ ๋ฒ„์ „ ๊ด€๋ฆฌ: ํ˜ธํ™˜์„ฑ์„ ๊นจ๋Š” ์ถœ๋ ฅ ํ˜•์‹ ๋ณ€๊ฒฝ์— MAJOR, ํ’ˆ์งˆ ํ–ฅ์ƒ์— MINOR, ์˜คํƒ€ ์ˆ˜์ •/์„ค๋ช…์— PATCH
  • ยทํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•œ git revert๋Š” ๋ช‡ ์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค; ๋ฒ„์ „ ๊ธฐ๋ก ์—†์ด ์žฌํ…Œ์ŠคํŠธํ•˜๋ฉด ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค
  • ยทํ”„๋กฌํ”„ํŠธ ์ฒด์ธ์ง€๋กœ๊ทธ์—๋Š” 5๊ฐœ ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค: ๋ฒ„์ „, ๋‚ ์งœ, ์ž‘์„ฑ์ž, ๋ณ€๊ฒฝ ์œ ํ˜•(MAJOR/MINOR/PATCH), ์˜ˆ์ƒ ์ถœ๋ ฅ ๋ณ€ํ™”
  • ยท์ˆ˜๋™ ๊ฒ€ํ†  ์ „์— ๊ฐ ํ”„๋กฌํ”„ํŠธ PR์—์„œ โ‰ฅ10๊ฐœ์˜ ๊ณจ๋“  ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด ์ž๋™ํ™” ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค
  • ยทํ”„๋กฌํ”„ํŠธ๋ฅผ ์œ„ํ•œ ์„ธ ๊ฐ€์ง€ ๋ธŒ๋žœ์นญ ํŒจํ„ด: feature/(์ƒˆ ๊ธฐ๋Šฅ), fix/(ํšŒ๊ท€), experiment/(A/B ํ…Œ์ŠคํŠธ)

๐Ÿ” TL;DR

๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ์— MAJOR.MINOR.PATCH ๋ฒ„์ „ ๊ด€๋ฆฌ์™€ Git ์›Œํฌํ”Œ๋กœ๋ฅผ ์ ์šฉํ•˜์‹ญ์‹œ์˜ค. ๊ฐ ๋ณ€๊ฒฝ์€ PR์„ ์—ด๊ณ , ๊ฐ PR์€ ์ž๋™ํ™” ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ, ๊ฐ ๋ณ‘ํ•ฉ์€ ๋ฒ„์ „์œผ๋กœ ํƒœ๊ทธ๋ฉ๋‹ˆ๋‹ค. ๋กค๋ฐฑ์€ `git revert` โ€” ์™„์ „ํ•œ ๊ฐ์‚ฌ ๊ธฐ๋ก์ด ๋ณด์กด๋œ ์ƒํƒœ๋กœ ๋ช‡ ์ดˆ ๋งŒ์— ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ์กฐ์šฉํ•œ ํšŒ๊ท€๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ์ด์œ 

๐Ÿ“ In One Sentence

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” AI ํ”„๋กฌํ”„ํŠธ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์„ ์ถ”์ ํ•˜๊ณ , ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑํ•˜๋ฉฐ, ๊ฐ ์ˆ˜์ •์˜ ์ž‘์„ฑ์ž์™€ ์ด์œ ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

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

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

๐Ÿ” ์กฐ์šฉํ•œ ํšŒ๊ท€

ํ”„๋กฌํ”„ํŠธ๋Š” ์กฐ์šฉํžˆ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค โ€” ์˜ค๋ฅ˜ ๋Œ€์‹  ๊ทธ๋Ÿด๋“ฏํ•˜์ง€๋งŒ ์ž˜๋ชป๋œ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋กœ๊ทธ๋Š” ํ’ˆ์งˆ ์ €ํ•˜๋ฅผ ํƒ์ง€ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๊ณจ๋“  ํ…Œ์ŠคํŠธ ์„ธํŠธ์— ๋Œ€ํ•œ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋งŒ์ด ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค.

AI ํ”„๋กฌํ”„ํŠธ์— ์‹œ๋งจํ‹ฑ ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”๊ฐ€

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

๋ณ€๊ฒฝ ์œ ํ˜•์ฆ๊ฐ€ ์‹œ์ ์˜ˆ์‹œํ•˜์œ„ ํ˜ธํ™˜์„ฑ?
MAJOR์ถœ๋ ฅ ํ˜•์‹ ๋ณ€๊ฒฝ โ€” JSON์—์„œ ๋งˆํฌ๋‹ค์šด์œผ๋กœ, ์ƒˆ ํ•„์ˆ˜ ํ•„๋“œ, ํ•„๋“œ ์‚ญ์ œv1.2.0 โ†’ v2.0.0์•„๋‹ˆ์˜ค โ€” ๋ชจ๋“  ํ˜ธ์ถœ์ž ์—…๋ฐ์ดํŠธ
MINORํ’ˆ์งˆ ํ–ฅ์ƒ, ์ง€์—ฐ ์‹œ๊ฐ„ ์ตœ์ ํ™”, ํ–ฅ์ƒ๋œ ์ง€์นจ ๋”ฐ๋ฅด๊ธฐv1.2.0 โ†’ v1.3.0์˜ˆ โ€” ์ฑ„ํƒ ์•ˆ์ „
PATCH์˜คํƒ€ ์ˆ˜์ •, ๋ช…ํ™•ํ™”, ๋ชจ๋ธ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ์‚ฌ์†Œํ•œ ๋ฌธ๊ตฌv1.2.0 โ†’ v1.2.1์˜ˆ โ€” ์˜ˆ์ƒ ๋™์ž‘ ๋ณ€๊ฒฝ ์—†์Œ

๐Ÿ” MAJOR ํŠธ๋ฆฌ๊ฑฐ

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

๐Ÿ” Git์— ํƒœ๊ทธ

๋ณ‘ํ•ฉ ํ›„ ๊ฐ ๋ฒ„์ „์„ ํƒœ๊ทธํ•˜์‹ญ์‹œ์˜ค: `git tag v2.1.0 -m "๋‚ ์งœ ์ถ”์ถœ ์ถ”๋ก  ํ–ฅ์ƒ"`. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋กค๋ฐฑ์„ ์œ„ํ•œ ์˜๊ตฌ ์ฐธ์กฐ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ Git ์›Œํฌํ”Œ๋กœ ์„ค์ • ๋ฐฉ๋ฒ•

ํ‘œ์ค€ ์›Œํฌํ”Œ๋กœ๋Š”: ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ โ†’ ํ”„๋กฌํ”„ํŠธ ํŽธ์ง‘ โ†’ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ ์‹คํ–‰ โ†’ PR ์—ด๊ธฐ โ†’ ๋ณ‘ํ•ฉ ๋ฐ ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค โ€” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ฝ”๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  1. 1
    ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“œ์‹ญ์‹œ์˜ค: `git checkout -b feature/add-json-output`. ํ”„๋ฆฌํ”ฝ์Šค `feature/`(์ƒˆ ๊ธฐ๋Šฅ), `fix/`(ํšŒ๊ท€ ์ˆ˜์ •) ๋˜๋Š” `experiment/`(A/B ํ…Œ์ŠคํŠธ)๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
  2. 2
    `/prompts/name.txt`์˜ ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค. ์ƒ๋‹จ์˜ ๋ฒ„์ „ ์ฃผ์„์„ ์—…๋ฐ์ดํŠธํ•˜์‹ญ์‹œ์˜ค: `# version: 2.0.0 | changed: JSON output format | author: jane`.
  3. 3
    ๊ณจ๋“  ํ…Œ์ŠคํŠธ ์„ธํŠธ(์ตœ์†Œ 10๊ฐœ ์ผ€์ด์Šค)์— ๋Œ€ํ•ด ์ž๋™ํ™” ํšŒ๊ท€ ์Šค์œ„ํŠธ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ํ…Œ์ŠคํŠธ๋Š” ํ˜•์‹ ๊ฒ€์ฆ, ๊ณจ๋“  ์‘๋‹ต๊ณผ์˜ ์ถœ๋ ฅ ๋น„๊ต, ํ™˜๊ฐ ํ”Œ๋ž˜๊ทธ, ์ง€์—ฐ ์‹œ๊ฐ„์„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. PR์„ ์—ด๊ธฐ ์ „์— ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  4. 4
    ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ, ์ด์œ , ๋ฒ„์ „ ์ฆ๊ฐ€(MAJOR/MINOR/PATCH), ์˜ˆ์ƒ ์ถœ๋ ฅ ๋ณ€ํ™”๋ฅผ ํฌํ•จํ•˜๋Š” ์„ค๋ช…์œผ๋กœ PR์„ ์—ฌ์‹ญ์‹œ์˜ค. ๊ฒ€ํ† ์ž๊ฐ€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค: ๋ช…ํ™•์„ฑ, ํ™˜๊ฐ ์œ„ํ—˜, ์ถœ๋ ฅ ํ˜•์‹, ๋ณด์•ˆ.
  5. 5
    ์Šน์ธ ํ›„ main์— ๋ณ‘ํ•ฉํ•˜๊ณ  ๋ฒ„์ „์„ ํƒœ๊ทธํ•˜์‹ญ์‹œ์˜ค: `git tag v2.0.0 -m "JSON output format โ€” MAJOR"` ๊ทธ๋Ÿฐ ๋‹ค์Œ `git push origin v2.0.0`.
yaml
# .github/workflows/prompt-regression.yml
name: Prompt Regression Tests
on:
  pull_request:
    paths:
      - 'prompts/**'

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run prompt regression tests
        run: npm run test:prompts
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

๐Ÿ” ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

ํ”„๋กฌํ”„ํŠธ๋Š” `/prompts/`์—, ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋Š” `/prompts/tests/`์— ์ €์žฅํ•˜์‹ญ์‹œ์˜ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์™€ ๋ถ„๋ฆฌ๋œ ์ฑ„ ๋™์ผํ•œ ์ €์žฅ์†Œ์— ์žˆ์œผ๋ฉด์„œ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฒ€ํ†  ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ ์ฒด์ธ์ง€๋กœ๊ทธ์˜ ๊ฐ ํ•ญ๋ชฉ์— ํฌํ•จํ•ด์•ผ ํ•  ๋‚ด์šฉ

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

ํ•„๋“œํ•„์ˆ˜์˜ˆ์‹œ
version์˜ˆ`v2.1.0`
date์˜ˆ`2026-04-30`
author์˜ˆ`jane.smith@company.com`
change type์˜ˆ`MINOR โ€” ๋‚ ์งœ ์ถ”์ถœ ์ถ”๋ก  ํ–ฅ์ƒ`
expected output delta์˜ˆ`๋‚ ์งœ ํ•„๋“œ๊ฐ€ ์ด์ œ ์ผ๊ด€๋˜๊ฒŒ ISO 8601(YYYY-MM-DD)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ „: ~30%์˜ ์—ฃ์ง€ ์ผ€์ด์Šค์—์„œ MM/DD/YYYY.`
markdown
## [v2.1.0] โ€” 2026-04-30

**Author:** jane.smith@company.com
**Change type:** MINOR โ€” improved date extraction reasoning
**Expected output delta:** Date fields now consistently use ISO 8601 format (YYYY-MM-DD).
  Previous behavior: returned MM/DD/YYYY in ~30% of edge cases.
  Backwards-compatible โ€” parsers accepting ISO 8601 require no update.

**Test results:** 18/18 golden test cases passed (previously 15/18).

๐Ÿ” ์ฒด์ธ์ง€๋กœ๊ทธ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค

ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ์„ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ์ฒด์ธ์ง€๋กœ๊ทธ ํ•ญ๋ชฉ์„ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค โ€” ์˜๋„๋ฅผ ๋ช…ํ™•ํžˆ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ƒ ์ถœ๋ ฅ ๋ณ€ํ™”๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ์•„์ง ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑํ•˜๋Š” ์‹œ์ ๊ณผ ๋ฐฉ๋ฒ•

`git revert`๋Š” ํ‘œ์ค€ ๋กค๋ฐฑ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค โ€” ๊ธฐ๋ก์„ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ๋ฌธ์ œ ์žˆ๋Š” ๋ณ€๊ฒฝ์„ ์ทจ์†Œํ•˜๋Š” ์ƒˆ ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋กค๋ฐฑ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์•Œ๊ณ  ๊ธด๊ธ‰์„ฑ์— ๋ฐฉ๋ฒ•์„ ๋งž์ถ”์‹ญ์‹œ์˜ค.

๋กค๋ฐฑ ํŠธ๋ฆฌ๊ฑฐ: (1) ์ •ํ™•๋„ ๋ฉ”ํŠธ๋ฆญ ๋˜๋Š” ์‚ฌ์šฉ์ž ๋ณด๊ณ ๋ฅผ ํ†ตํ•ด ํƒ์ง€๋œ ํ”„๋กœ๋•์…˜ ํ’ˆ์งˆ ์ €ํ•˜. (2) ๋ฐฐํฌ๋œ ํ”„๋กฌํ”„ํŠธ์—์„œ ๋ฐœ๊ฒฌ๋œ ๋ณด์•ˆ ๋ฌธ์ œ. (3) ๋ชจ๋ธ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ธฐ์กด ํ”„๋กฌํ”„ํŠธ์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฝ๋‹ˆ๋‹ค. (4) ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ณ€๊ฒฝ์œผ๋กœ ์ด์ „ ์ถœ๋ ฅ ํ˜•์‹์ด ์ž˜๋ชป๋ฉ๋‹ˆ๋‹ค.

๋กค๋ฐฑ ๋ฐฉ๋ฒ•์†๋„์œ„ํ—˜์‚ฌ์šฉ ์‹œ์ 
`git revert <commit>`์ƒ์„ฑ์— ๋ช‡ ์ดˆ, ๋ฐฐํฌ์— ๋ช‡ ๋ถ„๋‚ฎ์Œ โ€” ๋ฌธ์„œํ™”๋œ ๋˜๋Œ๋ฆฌ๊ธฐ ์ปค๋ฐ‹ ์ƒ์„ฑ๋น„๊ธด๊ธ‰ ํ‘œ์ค€ ๋กค๋ฐฑ; ์™„์ „ํ•œ ๊ฐ์‚ฌ ๊ธฐ๋ก ๋ณด์กด
๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๋ณ€๊ฒฝ๋ช‡ ์ดˆ โ€” ๋ฐฐํฌ ๋ถˆํ•„์š”๋‚ฎ์Œ โ€” ํ”Œ๋ž˜๊ทธ๊ฐ€ ์‚ฌ์ „ ๋ฐฐํฌ๋˜์–ด ์žˆ์œผ๋ฉด ๋‹ค์šดํƒ€์ž„ ์—†์Œํ”„๋กฌํ”„ํŠธ ์„ ํƒ์ด ์ด๋ฏธ ํ”Œ๋ž˜๊ทธ ๋’ค์— ์žˆ๊ณ  ํ”Œ๋ž˜๊ทธ ์‹œ์Šคํ…œ์ด ํ™œ์„ฑํ™”๋  ๋•Œ
ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์žฌ์ •์˜๋ช‡ ์ดˆ โ€” ์ฝ”๋“œ ๋ฐฐํฌ ์—†์Œ์ค‘๊ฐ„ โ€” ์ผ๋ฐ˜ ๊ฒ€ํ†  ์›Œํฌํ”Œ๋กœ ์šฐํšŒ๊ธด๊ธ‰ ํ•ซํ”ฝ์Šค ์ „์šฉ; ์ฆ‰์‹œ ์˜ฌ๋ฐ”๋ฅธ `git revert` PR๋กœ ํ›„์† ์กฐ์น˜

๐Ÿ” ๋กค๋ฐฑ ์ „ ํ…Œ์ŠคํŠธ

๋จผ์ € ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋กค๋ฐฑํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค โ€” ์ด์ „์— ์ˆ˜์ •๋œ ๋ฒ„๊ทธ๋ฅผ ์žฌ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Œ๋ฆฐ ๋ฒ„์ „์ด ์ˆ˜์ •ํ•œ ๋ฒ„๊ทธ๊ฐ€ ํ”ผํ•˜๋ ค๋Š” ํšŒ๊ท€๋ณด๋‹ค ๋” ์‹ฌ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒ€์ด ์ถฉ๋Œ ์—†์ด ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ์— ํ˜‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•

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

ํŒ€์„ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ์ €์žฅ์†Œ ํŒจํ„ด์ด ์žˆ์Šต๋‹ˆ๋‹ค: (1) `/prompts/` ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๋ชจ๋…ธ๋ ˆํฌ โ€” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋‹จ์ผ ์„œ๋น„์Šค์— ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ๊ณ  ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•จ๊ป˜ ๋ฐฐํฌ๋˜์–ด์•ผ ํ•  ๋•Œ ์ตœ์ . (2) ์ „์šฉ ํ”„๋กฌํ”„ํŠธ ์ €์žฅ์†Œ ๋˜๋Š” ํŒจํ‚ค์ง€ โ€” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์—์„œ ๊ณต์œ ๋˜๊ฑฐ๋‚˜ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ €์žฅ์†Œ ์ ‘๊ทผ ์—†์ด ๋…๋ฆฝ์ ์ธ ๊ฒ€ํ†  ์‚ฌ์ดํด์ด ํ•„์š”ํ•  ๋•Œ ์ตœ์ .

๐Ÿ” ์†Œ์œ ๊ถŒ ๋ชจ๋ธ

๊ธฐ๋Šฅ ์˜์—ญ๋ณ„๋กœ ํ”„๋กฌํ”„ํŠธ ์†Œ์œ ์ž๋ฅผ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค(์˜ˆ: ์ถ”์ถœ ํ”„๋กฌํ”„ํŠธ ์†Œ์œ ์ž, ๋ถ„๋ฅ˜ ํ”„๋กฌํ”„ํŠธ ์†Œ์œ ์ž). ํ•ด๋‹น ํ”„๋กฌํ”„ํŠธ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์€ ํ•ด๋‹น ์†Œ์œ ์ž์˜ ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค โ€” ์˜ˆ์™ธ ์—†์ด.

์ž๋™ํ™” ํ…Œ์ŠคํŠธ๊ฐ€ ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ ๋ฐฐํฌ ์ „์— ํƒ์ง€ํ•˜๋Š” ๋‚ด์šฉ

ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋Š” ํ˜•์‹ ํŒŒ์†์„ ํƒ์ง€ํ•˜๊ณ ; LLM-as-judge๋Š” ํ’ˆ์งˆ ์ €ํ•˜๋ฅผ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋„ค ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ ์œ ํ˜•์ด ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ์ด ํ”„๋กœ๋•์…˜์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์ฃผ์š” ์‹คํŒจ ๋ชจ๋“œ๋ฅผ ์ปค๋ฒ„ํ•ฉ๋‹ˆ๋‹ค.

๋„ค ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ ์œ ํ˜•: (1) ํ˜•์‹ ๊ฒ€์ฆ โ€” ์ถœ๋ ฅ์ด ์˜ˆ์ƒ ์Šคํ‚ค๋งˆ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(JSON ๊ตฌ์กฐ, ํ•„์ˆ˜ ํ•„๋“œ, ๋ฐ์ดํ„ฐ ์œ ํ˜•). ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„๋กœ ์‹คํ–‰๋˜๋ฉฐ ๋ฌธ์ œ ์žˆ๋Š” ๋ณ€๊ฒฝ์˜ 60โ€“70%๋ฅผ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค. (2) ๊ณจ๋“  ์„ธํŠธ ๋น„๊ต โ€” 10โ€“20๊ฐœ์˜ ๋Œ€ํ‘œ ์ž…๋ ฅ์—์„œ ์ˆ˜๋™์œผ๋กœ ๊ฒ€์ฆ๋œ ์˜ฌ๋ฐ”๋ฅธ ์‘๋‹ต๊ณผ ์ถœ๋ ฅ์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. LLM-as-judge ๋˜๋Š” ๋ฌธ์ž์—ด ์œ ์‚ฌ์„ฑ ๋ฉ”ํŠธ๋ฆญ์ด ๋น„๊ต๋ฅผ ์ฑ„์ ํ•ฉ๋‹ˆ๋‹ค. (3) ํ™˜๊ฐ ํ”Œ๋ž˜๊ทธ โ€” ์ œ๊ณต๋œ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์ง€ ์•Š์€ ์ถœ๋ ฅ์˜ ์‚ฌ์‹ค์  ์ฃผ์žฅ์„ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ์— ์—†๋Š” ์‚ฌ์‹ค์„ ์ฃผ์žฅํ•˜๋Š” ์‘๋‹ต์„ ํ”Œ๋ž˜๊ทธํ•ฉ๋‹ˆ๋‹ค. (4) ์ง€์—ฐ ์‹œ๊ฐ„ ํ™•์ธ โ€” ์ค‘๊ฐ„ ์‘๋‹ต ์‹œ๊ฐ„์ด ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„ ๋‚ด์— ์œ ์ง€๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: p95 โ‰ค 3s). ๊ณผ๋„ํ•œ ๋ชจ๋ธ ๊ณ„์‚ฐ์„ ์ผ์œผํ‚ค๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ” ์ตœ์†Œ ํ…Œ์ŠคํŠธ ์„ธํŠธ

10โ€“20๊ฐœ์˜ ๋Œ€ํ‘œ ์ž…๋ ฅ์˜ ๊ณจ๋“  ํ…Œ์ŠคํŠธ ์„ธํŠธ๋Š” ๋ชจ๋“  ํ”„๋กœ๋•์…˜ ํ”„๋กฌํ”„ํŠธ์˜ ์ตœ์†Œ ์š”๊ตฌ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์ปค๋ฒ„ํ•˜์‹ญ์‹œ์˜ค: ์ •์ƒ ๊ฒฝ๋กœ, ์—ฃ์ง€ ์ผ€์ด์Šค(๋นˆ ์ž…๋ ฅ/๋งค์šฐ ๊ธด ์ž…๋ ฅ), ์ ๋Œ€์  ์ž…๋ ฅ, ์•Œ๋ ค์ง„ ์‹คํŒจ ๋ชจ๋“œ.

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜

โŒ ์ฒซ๋‚ ๋ถ€ํ„ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์ฒด๊ณ„ ์—†์Œ

Why it hurts: ํŒ€์ด ์„ฑ์žฅํ•˜๊ณ  ์—ฌ๋Ÿฌ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๊ณต์œ  ๋ฒ„์ „ ๊ด€๋ฆฌ ๊ทœ์น™ ์—†์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ํŽธ์ง‘ํ•  ๋•Œ ์กฐ์šฉํ•œ ๋ฌธ์ œ ์žˆ๋Š” ๋ณ€๊ฒฝ์ด ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค

Fix: ํ”„๋กœ๋•์…˜์˜ ์ฒซ ๋ฒˆ์งธ ํ”„๋กฌํ”„ํŠธ๋ถ€ํ„ฐ MAJOR.MINOR.PATCH๋ฅผ ์ฑ„ํƒํ•˜์‹ญ์‹œ์˜ค โ€” ์˜ค๋Š˜ ํ•œ ๋ช…์˜ ์—”์ง€๋‹ˆ์–ด๋งŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋”๋ผ๋„ ๋‹ค์Œ ์ฑ„์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์„ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค

โŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ ๋‚ด์— ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ ๋Œ€์‹  `/prompts/` ๋””๋ ‰ํ† ๋ฆฌ ์‚ฌ์šฉ

Why it hurts: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์— ๋ฌปํžŒ ํ”„๋กฌํ”„ํŠธ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๊ฒ€ํ† ยทํ…Œ์ŠคํŠธยท๋ฒ„์ „ ๊ด€๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค โ€” ๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ์™€ ํ•จ๊ป˜ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค

Fix: ๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ๋ฅผ `/prompts/`๋กœ ์ด๋™ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋ฅผ `/prompts/tests/`์— ์ €์žฅํ•˜์‹ญ์‹œ์˜ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๊ณ ๋„ ๋…๋ฆฝ์ ์ธ ์•„ํ‹ฐํŒฉํŠธ๋กœ ๊ฒ€ํ†  ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

โŒ PR๋‹น ์ฒด์ธ์ง€๋กœ๊ทธ ์š”๊ตฌ์‚ฌํ•ญ ์—†์Œ

Why it hurts: ๋ช‡ ์ฃผ ํ›„ ํšŒ๊ท€๊ฐ€ ๋‚˜ํƒ€๋‚  ๋•Œ ๋ฌด์—‡์ด, ์–ธ์ œ, ์™œ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ธฐ๋ก์ด ์—†์–ด git ๋กœ๊ทธ๋ฅผ ํ†ตํ•œ ํž˜๋“  ๊ณ ๊ณ ํ•™์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

Fix: CI ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด CHANGELOG.md ํ•ญ๋ชฉ์„ PR ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ ์˜๋ฌดํ™”ํ•˜์‹ญ์‹œ์˜ค โ€” ์ˆ˜์ •๋œ ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฒด์ธ์ง€๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์—†์œผ๋ฉด PR์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค

โŒ ์ •์ƒ ๊ฒฝ๋กœ๋งŒ ํ…Œ์ŠคํŠธ

Why it hurts: ์ด์ „ ๋ฒ„์ „์—์„œ ์ž‘๋™ํ–ˆ๋˜ ์—ฃ์ง€ ์ผ€์ด์Šค๊ฐ€ ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ ํ›„ ์กฐ์šฉํžˆ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค โ€” ํ”„๋กœ๋•์…˜์˜ ์‚ฌ์šฉ์ž ๋ถˆ๋งŒ ๋˜๋Š” ๋‹ค์šด์ŠคํŠธ๋ฆผ ํŒŒ์‹ฑ ์˜ค๋ฅ˜์— ์˜ํ•ด์„œ๋งŒ ํƒ์ง€๋ฉ๋‹ˆ๋‹ค

Fix: ์ตœ์†Œ 2๊ฐœ์˜ ์—ฃ์ง€ ์ผ€์ด์Šค์™€ 1๊ฐœ์˜ ์ ๋Œ€์  ์ž…๋ ฅ์„ ํฌํ•จํ•œ ์ตœ์†Œ 10๊ฐœ์˜ ๊ณจ๋“  ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์š”๊ตฌํ•˜์‹ญ์‹œ์˜ค โ€” ์ „์ฒด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๊ฐ€ ํ†ต๊ณผํ•˜์ง€ ์•Š์œผ๋ฉด PR์ด ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

โŒ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ ์—†์ด ๋กค๋ฐฑ

Why it hurts: ๋˜๋Œ๋ฆฐ ๋ฒ„์ „์ด ์ด์ œ ๋˜๋Œ๋ฆฐ ๋ณ€๊ฒฝ์ด ์ˆ˜์ •ํ•œ ๋ฒ„๊ทธ๋ฅผ ์žฌ๋„์ž…ํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์œ„์— ๋‘ ๋ฒˆ์งธ ํšŒ๊ท€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค

Fix: ๋˜๋Œ๋ฆฌ๊ธฐ PR์„ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „์— ํ•ญ์ƒ ์ „์ฒด ํšŒ๊ท€ ์Šค์œ„ํŠธ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค โ€” ๋กค๋ฐฑ ์ปค๋ฐ‹์„ ์ˆœ๋ฐฉํ–ฅ ๋ณ€๊ฒฝ๊ณผ ๋™์ผํ•œ ํ…Œ์ŠคํŠธ ๊ฒŒ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ํ”„๋กœ๋•์…˜ ๋ณ€๊ฒฝ์œผ๋กœ ์ทจ๊ธ‰ํ•˜์‹ญ์‹œ์˜ค

ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์ค€์ˆ˜ ๋ฐ ๊ฐ์‚ฌ ์š”๊ตฌ์‚ฌํ•ญ

EU AI Act๋Š” ํ—ฌ์Šค์ผ€์–ด, ๊ธˆ์œต, HR, ์ค‘์š” ์ธํ”„๋ผ์˜ ๊ณ ์œ„ํ—˜ ์‹œ์Šคํ…œ์— ์ ์šฉ๋˜๋ฉฐ, ๊ทœ์ œ ๋„๋ฉ”์ธ์˜ AI ์ถœ๋ ฅ์— ๋Œ€ํ•œ ์ถ”์  ๊ฐ€๋Šฅ์„ฑ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ž‘์„ฑ์ž, ๋‚ ์งœ, ๋ณ€๊ฒฝ ์œ ํ˜•, ์Šน์ธ ๊ธฐ๋ก์ด ์žˆ๋Š” ์ œ์–ด๋œ ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ธฐ๋ก์ด ์ถ”๊ฐ€ ๋„๊ตฌ ์—†์ด ์ถ”์  ๊ฐ€๋Šฅ์„ฑ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.

GDPR ์ œ22์กฐ๋Š” ๊ฐœ์ธ์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ž๋™ํ™”๋œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ฑฐ๋‚˜ ์ง€์›ํ•˜๋Š” ํ”„๋กฌํ”„ํŠธ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „ ๊ด€๋ฆฌ์™€ ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” ์ธ๊ฐ„ ๊ฐ๋…์„ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค โ€” ์„œ๋ช…๋œ ์ปค๋ฐ‹์ด ์žˆ๋Š” git ๋กœ๊ทธ๊ฐ€ ์ด ์ฆ๊ฑฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. MiFID II, HIPAA, MDR๊ณผ ๊ฐ™์€ ๋ถ€๋ฌธ๋ณ„ ๊ทœ์ • ํ•˜์—์„œ ์šด์˜๋˜๋Š” ํ—ฌ์Šค์ผ€์–ด ๋ฐ ๊ธˆ์œต ํŒ€์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ€์กฐ ๋ฐฉ์ง€ ์ €์žฅ์†Œ์™€ ํ•จ๊ป˜ 12๊ฐœ์›” ์ด์ƒ์˜ ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ธฐ๋ก์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” AI ํ”„๋กฌํ”„ํŠธ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์„ ์ถ”์ ํ•˜๊ณ , ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑํ•˜๋ฉฐ, ๊ฐ ์ˆ˜์ •์˜ ์ž‘์„ฑ์ž์™€ ์ด์œ ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ์— ์‹œ๋งจํ‹ฑ ๋ฒ„์ „ ๊ด€๋ฆฌ(MAJOR.MINOR.PATCH)๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค: ํ˜ธํ™˜์„ฑ์„ ๊นจ๋Š” ์ถœ๋ ฅ ํ˜•์‹ ๋ณ€๊ฒฝ์— MAJOR, ํ’ˆ์งˆ ํ–ฅ์ƒ์— MINOR, ์˜คํƒ€/๋ฌธ๊ตฌ ์ˆ˜์ •์— PATCH. ํ”„๋กฌํ”„ํŠธ๋Š” Git์— ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ €์žฅ๋˜๊ณ , ๋ณ€๊ฒฝ์€ PR ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์น˜๋ฉฐ, ๋ฒ„์ „์€ ํƒœ๊ทธ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ Git ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

5๋ช… ๋ฏธ๋งŒ์˜ ์—”์ง€๋‹ˆ์–ด ๋˜๋Š” 20๊ฐœ ๋ฏธ๋งŒ์˜ ํ”„๋กฌํ”„ํŠธ ํŒ€์˜ ๊ฒฝ์šฐ: ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ €์žฅ์†Œ์˜ /prompts/ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๋” ํฐ ํŒ€์ด๋‚˜ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์—์„œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๊ณต์œ ๋˜๋Š” ๊ฒฝ์šฐ: ์ „์šฉ ํ”„๋กฌํ”„ํŠธ ์ €์žฅ์†Œ๋Š” ๋” ๋ช…ํ™•ํ•œ ์†Œ์œ ๊ถŒ, ๋…๋ฆฝ์ ์ธ ๋ฒ„์ „ ๊ด€๋ฆฌ, ์ ‘๊ทผ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์— ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ์œผ๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค; ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋‚˜ ํŒ€์— ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋ฉด ๋ณ„๋„์˜ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” ๋ชจ๋ธ ๋ฒ„์ „ ๊ด€๋ฆฌ์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฆ…๋‹ˆ๊นŒ?

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” ๋ชจ๋ธ์— ๋ณด๋‚ด๋Š” ํ…์ŠคํŠธ ์ง€์นจ์˜ ๋ณ€๊ฒฝ์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ˜ธ์ถœํ•˜๋Š” AI ๋ฒ„์ „(GPT-5.5, Claude Sonnet 4.6, Llama 4)์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ๋ณ„๋„์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์ƒ ๋ชจ๋ธ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ํ”„๋กฌํ”„ํŠธ ํ…์ŠคํŠธ๊ฐ€ ๋™์ผํ•˜๋”๋ผ๋„ MAJOR ๋ฒ„์ „ ์ฆ๊ฐ€๋กœ ์ทจ๊ธ‰ํ•˜์‹ญ์‹œ์˜ค โ€” ๋‹ค๋ฅธ ๋ชจ๋ธ์€ ๋™์ผํ•œ ํ”„๋กฌํ”„ํŠธ์— ๋‹ค๋ฅด๊ฒŒ ๋ฐ˜์‘ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์œ„ํ•œ ์ตœ์†Œ ๊ถŒ์žฅ ํ…Œ์ŠคํŠธ ์„ธํŠธ ํฌ๊ธฐ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

10โ€“20๊ฐœ์˜ ๊ณจ๋“  ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์ตœ์†Œ์ž…๋‹ˆ๋‹ค. ์ปค๋ฒ„ํ•˜์‹ญ์‹œ์˜ค: ์ •์ƒ ๊ฒฝ๋กœ, ์—ฃ์ง€ ์ผ€์ด์Šค(๋นˆ ์ž…๋ ฅ, ๋งค์šฐ ๊ธด ์ž…๋ ฅ), ์ ๋Œ€์  ์ž…๋ ฅ(์ง€์นจ ๋ฌด๋ ฅํ™” ์‹œ๋„), ์•Œ๋ ค์ง„ ์‹คํŒจ ๋ชจ๋“œ. 10๊ฐœ ๋ฏธ๋งŒ์ด๋ฉด ๋„ˆ๋ฌด ๋งŽ์€ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ๋†“์นฉ๋‹ˆ๋‹ค; 50๊ฐœ ์ด์ƒ์€ ๋น„๋ก€์ ์ธ ์ด์ต ์—†์ด ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋น„์šฉ์ด ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค.

๋™์ผํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋‹ค๋ฅธ ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉ๋  ๋•Œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๊นŒ?

ํ”„๋กฌํ”„ํŠธ+๋ชจ๋ธ ์กฐํ•ฉ๋ณ„๋กœ ๋ณ„๋„์˜ ๋ฒ„์ „ ๊ธฐ๋ก์„ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค: `# version: 2.1.0 | model: gpt-4o`. ์ƒˆ ๋ชจ๋ธ์— ๋ฐฐํฌํ•  ๋•Œ ๊ธฐ์กด ํŒŒ์ผ์„ ๋ฎ์–ด์“ฐ๋Š” ๋Œ€์‹  ์ƒˆ ๋ณ€ํ˜• ํŒŒ์ผ์„ ๋งŒ๋“œ์‹ญ์‹œ์˜ค. ํ”„๋กœ๋ชจ์…˜ํ•˜๊ธฐ ์ „์— ๊ฐ ๋ชจ๋ธ ๋ณ€ํ˜•์— ๋Œ€ํ•ด ์ „์ฒด ๊ณจ๋“  ํ…Œ์ŠคํŠธ ์„ธํŠธ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋“  ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ์ด ๋ฒ„์ „์„ ์ฆ๊ฐ€์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๊นŒ?

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

๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ๋„๊ตฌ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Braintrust, PromptLayer, Vellum์€ ๋ฒ„์ „ ๋น„๊ต, ํ‰๊ฐ€ ์‹คํ–‰, ์ฐจ์ด ๊ธฐ๋ก ๋ณด๊ธฐ๋ฅผ ์œ„ํ•œ UI ๋Œ€์‹œ๋ณด๋“œ์™€ ํ•จ๊ป˜ ๋„ค์ดํ‹ฐ๋ธŒ ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. LangSmith๋Š” ํ—ˆ๋ธŒ์—์„œ ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ์ถ”์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. PromptQuorum์€ ๋‹ค์ค‘ ๋ชจ๋ธ ๊ฒ€์ฆ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค โ€” ๋ฐฐํฌ ์ „์— ์ผ๊ด€๋˜๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด 25๊ฐœ ์ด์ƒ์˜ ๊ณต๊ธ‰์ž์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋” ๊ฐ„๋‹จํ•œ ์„ค์ •์˜ ๊ฒฝ์šฐ /prompts/ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š” ์ˆœ์ˆ˜ Git์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค โ€” ํ”„๋กฌํ”„ํŠธ๋Š” ํ…์ŠคํŠธ ํŒŒ์ผ์ด๊ณ  Git์€ ์ฐจ์ด, ๊ธฐ๋ก, ๋กค๋ฐฑ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Git์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋กค๋ฐฑํ•ฉ๋‹ˆ๊นŒ?

ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ ํ”Œ๋žซํผ(Braintrust, Vellum, PromptLayer)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‚ด์žฅ ๋ฒ„์ „ ๊ธฐ๋ก์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „ ์Šน์ธ๋œ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ๋ฆฌ์‹ญ์‹œ์˜ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ ๋ณ€๊ฒฝ ์ „์— ๋ฐฑ์—…์„ ์ €์žฅํ•˜๊ณ  ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ๋ณต์›ํ•˜์‹ญ์‹œ์˜ค. ์•ž์œผ๋กœ๋Š” ์ตœ์†Œํ•œ CHANGELOG.md ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค โ€” Git ์—†์ด๋„ ๋กค๋ฐฑ ์ฐธ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ ์ฝ๊ธฐ

์ถœ์ฒ˜

  • Semantic Versioning Specification (semver.org) โ€” ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ์— ์ง์ ‘ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€ MAJOR.MINOR.PATCH ๊ทœ๊ฒฉ
  • Git Documentation: git revert โ€” ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ ์›Œํฌํ”Œ๋กœ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š” ๋กค๋ฐฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ๊ณต์‹ ์ฐธ์กฐ
  • Braintrust: Prompt Evaluation and Versioning Guide โ€” ์ „์šฉ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ, ์ž๋™ํ™” ํ…Œ์ŠคํŠธ, CI/CD ํ†ตํ•ฉ์— ๋Œ€ํ•œ ๊ธฐ์ˆ  ๊ฐ€์ด๋“œ

Apply these techniques with a local LLM or your own API keys โ€” PromptQuorum works with any backend.

Try PromptQuorum free โ†’

โ† Back to Prompt Engineering

ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ: Git, Semver, ๋กค๋ฐฑ | PromptQuorum