SPECS ํ๋ ์์ํฌ๋ ๋ฌด์์ธ๊ฐ
SPECS ํ๋ ์์ํฌ๋ ๋ชจ๋ ํ๋กฌํํธ๋ฅผ ์ผ์์ ์ธ ์ฑํ ๋ฉ์์ง๊ฐ ์๋ ์ํ ์๊ตฌ์ฌํญ ๋ฌธ์์ฒ๋ผ ์ทจ๊ธํ๋ ๋ช ์ธ ์ฐ์ ํ๋กฌํํธ ํจํด์ ๋๋ค. ๊ฐ๋ฐฉํ ์ฐฝ์์ฑ๋ณด๋ค ์ ํ์ฑ, ๊ตฌ์กฐ, ๋ฐ๋ณต์ฑ์ด ๋ ์ค์ํ ์์ ์ ์ํด ์ค๊ณ๋์์ต๋๋ค. SPECS๋ GPT-5.5, Claude Opus 4.8, Gemini 3.1 Pro, ๊ทธ๋ฆฌ๊ณ ๋ก์ปฌ ๋ชจ๋ธ๊ณผ ๊ฐ์ ๋ชจ๋ธ๊ณผ ์ ์๋ํ๋๋ฐ, ์ง์์ฌํญ์์ ๋ชจํธ์ฑ์ ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
SPECS๋ ์๋ก ๋ค๋ฅธ ์ฌ๋์ด๋ ์์คํ ์ด ๋์ผํ ํ๋กฌํํธ๋ฅผ ์คํํ์ฌ ์ผ๊ด๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ด์ผ ํ ๋ ํนํ ์ ์ฉํฉ๋๋ค. ํ๋กฌํํธ๋ฅผ ๋ช ํํ ๋ช ์ธ๋ก ์ ํํจ์ผ๋ก์จ ๋ฌธ์ ๋ฅผ ๋๋ฒ๊น ํ๊ณ , ๋ชจ๋ธ ๋์์ ๋น๊ตํ๋ฉฐ, ์ํฌํ๋ก ์ ๋ฐ์ ๊ฑธ์ณ ํ์ค์ ์ ์ฉํ๊ธฐ๊ฐ ๋ ์ฌ์์ง๋๋ค.
SPECS์ ๋ค์ฏ ๊ฐ์ง ๊ตฌ์ฑ ์์
๊ฐ๋ ฅํ SPECS ํ๋กฌํํธ๋ ๋ค์ฏ ๊ฐ์ง ๊ตฌ์ฑ ์์๋ฅผ ๋ชจ๋ ์ ์ํ์ฌ ๋ชจ๋ธ์ด ๋ฌด์์, ์, ์ด๋ค ํ์์ผ๋ก ๋ต๋ณํด์ผ ํ๋์ง ์ ํํ ์ ์ ์๋๋ก ํฉ๋๋ค. ๊ฐ ๊ตฌ์ฑ ์์๋ ์ง์์ฌํญ์ ์๋ก ๋ค๋ฅธ ๋ถ๋ถ์ ์ด์ ์ ๋ง์ถฅ๋๋ค.
์ผ๋ฐ์ ์ธ ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Scope: ์์ ์ด ๋ค๋ฃจ๋ ๋ฒ์์ ๋ช ์์ ์ผ๋ก ์ ์ธ๋๋ ๋ด์ฉ.
- Purpose: ์ถ๋ ฅ๋ฌผ์ด ์ง์ํด์ผ ํ๋ ๊ทผ๋ณธ์ ์ธ ๋ชฉํ ๋๋ ์์ฌ๊ฒฐ์ .
- Examples: ๋ชจ๋ธ์ ๊ณ ์ ํ๊ธฐ ์ํ ํ๋ ์ด์์ ์ํ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ.
- Constraints: ๊ธธ์ด ์ ํ, ํ์, ๋๋ ๊ธ์ง๋ ๋์๊ณผ ๊ฐ์ ์๊ฒฉํ ๊ท์น.
- Steps: ๋ชจ๋ธ์ด ์ถ๋ ฅ์ ๋๋ฌํ๊ธฐ ์ํด ๋ฐ๋ผ์ผ ํ๋ ๋ด๋ถ ์์.
SPECS ํ๋ ์์ํฌ๊ฐ ์ ์ฉํ ์ด์
SPECS ํ๋ ์์ํฌ๋ ๋จ์ํ ์ฝ๊ธฐ ์ฌ์ด ์ฐ๋ฌธ์ด ์๋ ๊ธฐ๊ณ๊ฐ ์ฌ์ฉํ ์ ์๋ ๊ฒฐ๊ณผ๋ฌผ์ด ํ์ํ ๋ถ์, ์ด์, ํตํฉ ์์ ์ ์ ์ฉํฉ๋๋ค. ์จ๊ฒจ์ง ๊ฐ์ ์ ์ค์ด๊ณ ํ๋กฌํํธ์ ๋ชจ๋ ๋ถ๋ถ์ ๋ช ์์ ์ผ๋ก ๋ง๋ค์ด ํ๋ก๋์ ์ํฌํ๋ก์ ํ์์ ์ ๋๋ค.
์ฃผ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ช ์ธ์ ๊ฐ๋ณ ๊ตฌ์ฑ ์์๋ฅผ ์กฐ์ ํ๊ฑฐ๋ ํ ์คํธํ ์ ์์ด ๋๋ฒ๊น ์ด ๋ ์ฌ์์ง๋๋ค.
- Constraints์ Examples ๋๋ถ์ ๋ชจ๋ธ๊ณผ ์คํ์ ๊ฑธ์ณ ๋ ์์ ์ ์ธ ์ถ๋ ฅ๋ฌผ์ ์ป์ ์ ์์ต๋๋ค.
- ๊ตฌ์กฐ๊ฐ ๋ฏธ๋ฆฌ ์๋ ค์ ธ ์์ผ๋ฏ๋ก ๋ค์ด์คํธ๋ฆผ ์ฒ๋ฆฌ์ ๋ ์ ๋ง์ต๋๋ค.
์์: ๋์ ํ๋กฌํํธ vs ์ข์ SPECS ํ๋กฌํํธ
๋น๊ตฌ์กฐ์ ์์ฒญ๊ณผ SPECS ๊ธฐ๋ฐ ์์ฒญ์ ์ฐจ์ด๋ ๊ฐ์ ์์ ์ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์์ฑํด ๋ณด๋ฉด ๋ช ํํด์ง๋๋ค. ํ ์คํธ์์ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ ์์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋์ ํ๋กฌํํธ
"์ด ๊ณ ๊ฐ ์ด๋ฉ์ผ์ ์ฝ๊ณ ์ฃผ์ ๋ด์ฉ์ ์์ฝํด ์ฃผ์ธ์."
์ข์ ํ๋กฌํํธ
"Scope: ๋จ์ผ ๊ณ ๊ฐ ์ง์ ์ด๋ฉ์ผ์ ๋ถ์ํ์ฌ ์ง์ํ๊ณผ ๊ด๋ จ๋ ํต์ฌ ์ ๋ณด๋ฅผ ์ถ์ถํ์ญ์์ค. ๋ง์ผํ ์ด๋ ์์ ๊ธฐํ๋ ๋ฌด์ํ์ญ์์ค. Purpose: ํฐ์ผํ ์์คํ ์ ๊ธฐ๋กํ๊ณ ์๋ด์์ด ๋ ๋น ๋ฅด๊ฒ ์๋ตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐํ๋ ์์ฝ์ ์์ฑํ์ญ์์ค. Examples: ์ ๋ ฅ: '์ค๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ ๋ฒ ์ฌ์ค์ ํ๋ ค๊ณ ํ๋๋ฐ ๋งํฌ๊ฐ ๋ ๋ฒ ๋ค ๋ง๋ฃ๋์์ต๋๋คโฆ' ์ถ๋ ฅ: {"issue_type": "password_reset", "urgency": "medium", "summary": "์ฌ์ฉ์๊ฐ ์ฌ์ค์ ์ ์๋ฃํ๊ธฐ ์ ์ ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ๋งํฌ๊ฐ ๋ง๋ฃ๋จ"} Constraints: ์ถ๋ ฅ์ `issue_type`, `urgency`, `summary` ํค๋ฅผ ๊ฐ์ง ์ ํจํ JSON์ด์ด์ผ ํฉ๋๋ค. ์ถ๊ฐ ํ๋๋ฅผ ๋ํ์ง ๋ง์ญ์์ค. `urgency`๋ low, medium, high ์ค ํ๋์ฌ์ผ ํฉ๋๋ค. Steps: 1) ์ฃผ์ ๋ฌธ์ ๋ฅผ ํ์ ํ๊ณ , 2) ์ํฅ๊ณผ ๋ถํธํจ์ ๋ฐํ์ผ๋ก ๊ธด๊ธ๋๋ฅผ ์ถ๋ก ํ๋ฉฐ, 3) 25๋จ์ด ์ด๋ด์ ๊ฐ๊ฒฐํ ์์ฝ์ ์์ฑํ์ญ์์ค."
SPECS ๋ฒ์ ์ ๋ชจ๋ธ์ด ์ถ๋ ฅํด์ผ ํ๋ ๋ด์ฉ, ์ฌ๊ณ ๋ฐฉ์, ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋ ์ง๋ฅผ ์ ํํ ์ ์ํฉ๋๋ค.
SPECS ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด์ผ ํ ๋
ํ์์ ๋ธ๋ ์ธ์คํ ๋ฐ๋ณด๋ค ๊ตฌ์กฐํ๋๊ณ ์ ๋ขฐํ ์ ์๋ ์ถ๋ ฅ์ด ์ฃผ์ ๋ชฉํ์ผ ๋ SPECS ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ฃผ์ ์ฌ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ด๋ฉ์ผ, ์ฑํ , ๋๋ ๋ฌธ์์์ ๊ณ ์ ๋ ์คํค๋ง๋ก์ ๋ฐ์ดํฐ ์ถ์ถ.
- ์๊ฒฉํ ๊ท์น์ด ์๋ ์ฝ๋ ๋ณํ, ๋ฌธ์ ์์ฑ, ๋ฆฌํฉํ ๋ง.
- ์น์ ์ ๋ชฉ, ์งํ, ํ์์ด ๋ฏธ๋ฆฌ ์ ํด์ง ๋ณด๊ณ ์ ์์ฑ.
- AI ์ถ๋ ฅ๋ฌผ์ด ๋ค๋ฅธ ์์คํ ์ด๋ ์คํฌ๋ฆฝํธ์ ์ง์ ์ ๋ ฅ๋๋ ๋ชจ๋ ์ํฌํ๋ก.
PromptQuorum์ด SPECS ํ๋ ์์ํฌ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ
PromptQuorum์ ์ฌ์ฉ์๊ฐ ์ฒ์๋ถํฐ ์ง์ ๋ง๋ค์ง ์๊ณ ๋ ๋ช ์ธ ์คํ์ผ์ ํ๋กฌํํธ๋ฅผ ์ค๊ณํ ์ ์๋๋ก SPECS ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ณธ ์ ๊ณต ํ๋กฌํํธ ๊ตฌ์กฐ ์ค ํ๋๋ก ์ ๊ณตํ๋ ๋ฉํฐ๋ชจ๋ธ AI ๋์คํจ์น ๋๊ตฌ์ ๋๋ค. PromptQuorum์์ SPECS๋ฅผ ์ ํํ๋ฉด ์ฑ์ด Scope, Purpose, Examples, Constraints, Steps์ ๋ํ ์ ์ฉ ํ๋๋ฅผ ํ์ํ๊ณ ์ด๋ฅผ ํ๋์ ์ ๊ตฌ์กฐํ๋ ์ง์์ฌํญ์ผ๋ก ์กฐํฉํฉ๋๋ค.
PromptQuorum ๋ด์์ SPECS ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด:
- ๊ฐ ๊ตฌ์ฑ ์์๋ฅผ ๋ณ๋์ ํ๋์ ์ ๋ ฅํ์ฌ ๋ช ์ธ๋ฅผ ์ฝ๊ธฐ ์ฝ๊ณ ํธ์งํ๊ธฐ ์ฌ์ด ์ํ๋ก ์ ์งํ ์ ์์ต๋๋ค.
- ๋์ผํ SPECS ๊ธฐ๋ฐ ํ๋กฌํํธ๋ฅผ ์ฌ๋ฌ ๋ชจ๋ธ์ ๋ณ๋ ฌ๋ก ์ ์ฉํ์ฌ ์๋ก ๋ค๋ฅธ ๊ณต๊ธ์ ์ฒด๊ฐ ์๊ฒฉํ ํ์์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง ์ฝ๊ฒ ๋น๊ตํ ์ ์์ต๋๋ค.
- ํฐ์ผ ์์ฝ, ๋ณด๊ณ ์ ์์ฑ, ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฑ ๋ฐ๋ณต์ ์ธ ์ํฌํ๋ก๋ฅผ ์ํ SPECS ํ ํ๋ฆฟ์ ์ ์ฅํ๊ณ ๊ณต์ ํ ์ ์์ต๋๋ค.
๋ค๋ฅธ ํ๋ ์์ํฌ์ SPECS ํจ๊ป ์ฌ์ฉํ๊ธฐ
SPECS ํ๋ ์์ํฌ๋ ๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ ๊ทผ๊ฐ์ผ๋ก ํ์ฉํ๊ณ , ๋ณด์์ ์ธ ์์ ์ ์ํด ๋ค๋ฅธ ํ๋ ์์ํฌ์ ๊ฒฐํฉํด์ผ ํฉ๋๋ค. ์ค์ฉ์ ์ธ ํจํด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์์ธก ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๊ฑฐ๋ ๋๊ตฌ์ ์ ๋ ฅ๋์ด์ผ ํ๋ ๋ชจ๋ ์์ ์๋ SPECS๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- ๋ง์ผํ ๋ฐ ์นดํผ๋ผ์ดํ ์๋ CRAFT์ ๊ฐ์ ์ฐฝ์์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- ๊ฐ์์ ์ธ ์ค๊ฐ ์ถ๋ก ์ ์ํ ๋๋ AnalyzeโPlanโExecute (APE)์ ๊ฐ์ ์ถ๋ก ์งํฅ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- ์ ์ฒด ๋ช ์ธ๋ฅผ ์์ฑํ ํ์๊ฐ ์๋ ๋น ๋ฅธ ์์ ์๋ ๋จ์ผ ๋จ๊ณ์ ์ผ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
SPECS ํ๋ ์์ํฌ ์ฌ์ฉ ๋ฐฉ๋ฒ
- 1Setting: ํ๊ฒฝ, ์์คํ , ๋๋ ๋๋ฉ์ธ์ ๋ํ ๋งฅ๋ฝ์ ์ ๊ณตํ์ญ์์ค. ์์: '๋น์ ์ ์๋ฃ ํ์ฌ์ ๋ฐ์ดํฐ ๋ถ์๊ฐ์ ๋๋ค. ํ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๊ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ชจ๋ ์ฟผ๋ฆฌ๋ HIPAA๋ฅผ ์ค์ํด์ผ ํฉ๋๋ค.'
- 2Problem statement: ํด๊ฒฐํ๊ณ ์ ํ๋ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ ๋ฅผ ๋ช ์ํ์ญ์์ค. ์์: '์ง๋ 90์ผ ๋์ ์ฝ๋ฌผ ๋ณต์ฉ ์์๋๊ฐ ๋ฎ์ ํ์ ์ฝํธํธ๋ฅผ ํ์ ํ์ญ์์ค.'
- 3Examples: ์ข์ ์ถ๋ ฅ์ ๊ตฌ์ฒด์ ์ธ ์์๋ฅผ 2โ3๊ฐ ์ ๊ณตํ์ญ์์ค. ๋ถ์์ ๊ฒฝ์ฐ ์ํ ์ถ๋ ฅ ํ ์ด๋ธ์ด๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ์ญ์์ค. ์ฝ๋ ์์ฑ์ ๊ฒฝ์ฐ ์คํ์ผ์ ๋ง๋ ์๋ํ๋ ์ฝ๋๋ฅผ ๋ณด์ฌ์ฃผ์ญ์์ค.
- 4Constraints: ์๊ฒฉํ ๊ท์น๊ณผ ์ ํธ์ฌํญ์ ๋์ดํ์ญ์์ค. ์์: 'SQL๋ง ์ฌ์ฉํ์ญ์์ค (Python ๋ถ๊ฐ). ์ฟผ๋ฆฌ๋ 5์ด ์ด๋ด์ ์คํ๋์ด์ผ ํฉ๋๋ค. ์ถ๋ ฅ๋ฌผ์ ์ต๋ช ํ๋์ด์ผ ํฉ๋๋ค (ํ์ ์ด๋ฆ ๋ถ๊ฐ).'
- 5Style: ์ด์กฐ, ์ธ์ด, ํ์ ์ ํธ์ฌํญ์ ์ง์ ํ์ญ์์ค. ์์: '๊ธฐ์ ์ ์ธ ๋ ์ ๋์. ์ ํํ ์ฉ์ด๋ฅผ ์ฌ์ฉํ์ญ์์ค. ๋งํฌ๋ค์ด ๋ณด๊ณ ์๋ก ๋ฐํํ์ญ์์ค.'