์์ํ๋ฉฐ
์ฝ๋ฉ ์์ด์ ํธ์ ์ฑ๋ฅ์ด ๋ ๋ก ์ข์์ง๊ณ ์์ต๋๋ค. ์ฌ์ค์ ํ์ต์ ์ํ ์ฌ์ด๋ ํ๋ก์ ํธ๊ฐ ์๋๋ผ, ์ค์ ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ์ฌ์ด๋ ํ๋ก์ ํธ๋ ์ ์ ๋ LLM Agent์ ์์กดํ์ฌ ๊ฐ๋ฐํ๊ฒ ๋๋๋ฐ์.
์ด๋ฐ ๊ฐ๋ฐ ํํ๋ฅผ ์ทจํ๋ค ๋ณด๋ฉด ์ฌ๋ฌ ๊ณ ๋ฏผ์ ๋ด์ฐฉํ๊ฒ ๋ฉ๋๋ค. ์ ์ ๊ฒฝ์ฐ ํนํ ๋ค์ ํฌ์ธํธ์์ ๋งํ ๋๊ฐ ์์์ต๋๋ค.
- FE์ BE ๊ฐ API๋ฅผ ์ด๋ป๊ฒ ์ ์ํ ๊ฒ์ธ๊ฐ?
- FE ํน์ BE ์์ ๊ฐ API๊ฐ ๋ณ๊ฒฝ๋์์ ๊ฒฝ์ฐ ์๋ก ์ ํฉ์ฑ์ ์ด๋ป๊ฒ ๋ณด์ฅํ ๊ฒ์ธ๊ฐ?
- FE์์ ์ฌ๋ฐ๋ฅธ API๋ฅผ ํธ์ถํ๋ค๊ณ ์ด๋ป๊ฒ ๋ณด์ฅํ ์ ์๋๊ฐ?
OpenAPI Spec์ ํ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์ ๊ฒ์ด๊ณ , TypeSpec ๋ฑ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์ ๊ฒ์ด๊ณ , Sub Agent๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์ ๊ฒ์ด๊ณ ๋ค์ํ๊ฒ ํด๊ฒฐํด๋ณผ ์ ์์ ๊ฒ์ ๋๋ค.
๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๋ํด๋ณธ ๋ค ๋๋ฆ ์ ์๊ฒ ๊ฐ์ฅ ๋์๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๊ฒฐ๋ก ๋ถํฐ ์ด์ผ๊ธฐํ์๋ฉด, FE์ BE๋ฅผ TypeScript๋ก ํต์ผํ๊ณ tRPC๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ด ๊ฒฐ๋ก ์ ๋๋ฌํ๊ธฐ๊น์ง์ ์ํ์ฐฉ์ค๋ฅผ ํ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค.
Agent Coding์ ์ํ ๊ธฐ์ ์คํ ์ ์ ์ ๊ณ ๋ฏผํ์๋ ๋ถ๋ค๊ป ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค.
Agent Coding, ์ฌ๋์ ๊ฐ๋ฐ๊ณผ๋ ๋ค๋ฅด๋ค
๋ณธ๊ฒฉ์ ์ผ๋ก ๊ธฐ์ ์คํ ์ด์ผ๊ธฐ๋ฅผ ํ๊ธฐ ์ ์, AI ์ค์ฌ์ ๊ฐ๋ฐ์ด ์ฌ๋์ ๊ฐ๋ฐ๊ณผ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง๋ฅผ ๋จผ์ ์ง์ด๋ณผ ํ์๊ฐ ์์ต๋๋ค.
์ฌ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ ๋ฅผ ํตํด ๋์๊ฐ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๋ฐ๋ฉด AI๋ LLM ๋ชจ๋ธ์ ํน์ฑ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ง์ด ๋๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ง์คํฉ๋๋ค. ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ง์ด ๋๋ค๋ ๊ฒ์ ๋์ ํ๋ฅ ๋ก ๋์๊ฐ๋ ์ฝ๋์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ง๋ง, ํด๋น ๋ ผ๋ฆฌ์ ๋นํ์ด ์๊ฑฐ๋ ์๋ชป๋ ๋ ผ๋ฆฌ๊ฐ ๋ค์ด๊ฐ์ ๊ฒฝ์ฐ ์๊ธฐ์น ๋ชปํ ๋์์ ๋ถ๋ฌ์ฌ ์ ์๊ฒ ๋ฉ๋๋ค.
์ฆ, ์ฌ๋์ด ๊ฐ๋ฐํ ๋๋ณด๋ค โ๊ณ ์ฅ๋๋ ์ง์ โ์ด ๋ ๋ง์์ง๊ฒ ๋ฉ๋๋ค. ์ด ์ฐจ์ด๊ฐ ๊ธฐ์ ์คํ ์ ์ ์ ์์ด์๋ ์ค์ํ ๋ณ์๊ฐ ๋ฉ๋๋ค.
์ฒซ ๋ฒ์งธ ์ ํ: FE์ BE๋ฅผ ํฉ์น ๊ฒ์ธ๊ฐ, ๋๋ ๊ฒ์ธ๊ฐ
๊ฐ์ฅ ๋จผ์ ๋ง์ฃผํ๊ฒ ๋๋ ์ง๋ฌธ์ FE์ BE๋ฅผ ๋ถ๋ฆฌํด์ ๊ฐ๋ฐํ ๊ฒ์ธ๊ฐ์ ๋๋ค.
ํตํฉ ์คํ์ ์๋
์ฒ์์๋ ๋ง์ ๋ถ๋ค์ด ๊ทธ๋ฌํ๋ฏ, Next.js์ Server Actions๋ API Routes๋ฅผ ํ์ฉํด FE์ BE๋ฅผ ํ๋์ ํ๋ ์์ํฌ ์์์ ๋ชจ๋ ์ฒ๋ฆฌํ๋ ํ์คํ ๊ตฌ์ฑ์ ์๋ํ์ต๋๋ค. Supabase์ ๊ฒฐํฉํ๋ฉด ๋ณ๋์ BE ์๋ฒ ์์ด ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋ค๋ ์ ์ด ๋งค๋ ฅ์ ์ด์์ฃ . Ruby on Rails์์ View๊น์ง ๋ชจ๋ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ ์ญ์ ๋น์ทํ ๋งฅ๋ฝ์์ ๊ณ ๋ คํด๋ดค์ต๋๋ค.
ํตํฉ ์คํ์์ ๋๋ฌ๋ ๋ฌธ์ ์
ํ์ง๋ง Agent ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ์ ์งํํ๋ค ๋ณด๋ ํตํฉ ์คํ ํน์ ์ ๋ฌธ์ ๊ฐ ๋๋๋ผ์ง๊ธฐ ์์ํ์ต๋๋ค.
์๋ฌด๋ฆฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ๋๋๊ณ ์ํคํ ์ฒ๋ฅผ ์ ์ค๊ณํ๋ค๊ณ ํด๋, ์ด๋ ์๊ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํฅ์ ์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํน์ ๋ถ๋ถ๋ง ๋ ๋๋ง์ด ์๋๋ฉด ๋ ๊ฒ ๊ฐ์๋ฐ ํ์ด์ง ์ ์ฒด๊ฐ ๋ ๋๋ง์ด ์๋๋ค๊ฑฐ๋ ํ๋ ์ผ์ด ์์์ฃ .
๋ฌผ๋ก ์ด๋ฐ ๋ถ๋ถ์ Agent์๊ฒ ์ฌ๋ฐ๋ฅด๊ฒ Instruction์ ์ค์ ํด๊ฒฐํ ์๋ ์๊ฒ ์ต๋๋ค. ์๋ฒ ์ปดํฌ๋ํธ์ ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ๊ฐ ์ ์ ํ๊ฒ ์ฌ์ฉ๋๊ฒ ํ๋ค๋ ๊ฐ, ์๋ฌ ๋ฐ์ด๋๋ฆฌ ์ค์ ์ ์ ํ๋ค๋ ๊ฐ ๋ฑ๋ฑ์ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๊ทธ๊ฑธ ๋ฌ์ฑํ๊ธฐ ์ํด์ ์์ง๋์ด๋ก์ ๊น์ ์ดํด๋๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๊ณ , ์ด๋ ๊ธฐ์ ์คํ์ ๋ฒ์ฃผ๋ณด๋ค๋ ํน์ ๊ธฐ์ ์ ๋ํ ๋ํ ์ผํ ์์ง๋์ด๋ง์ผ๋ก ๋๊ปด์ก์ต๋๋ค.
ํนํ ์ปจํ ์คํธ๊ฐ ๊ธธ์ด์ง๋ฉด์ ๊ทธ๋ฌํ ์ง์นจ์ ์ด๊ธฐ๊ฒ ๋๋ฉด ๋ค์ ๊ทธ๊ฑธ ํ ์คํธํ๊ฑฐ๋ ํ๋ ์์ผ๋ก ์์ด์ ํธ ์ ์ฒด ์ํฌํ๋ก์ฐ๊ฐ ๊ธธ์ด์ง๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ธ๊ฐ์ ๋ํ ์๋ฌธ๋ ํจ๊ป ์์์ต๋๋ค.
๋ถ๋ฆฌ์ ๊ฒฐ๋ก
๊ฒฐ๊ตญ ์ ๋ FE์ BE๋ฅผ ๋๋๋ ๊ฒ์ด ๋ ๋ซ๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ ธ์ต๋๋ค.
ํฐ ํ์์ FE์ BE๋ฅผ ๋๋ ๊ฐ๋ฐํ๋ ๊ฒ์ด AI๊ฐ ์ง์คํ ์ ์๋ ์ปจํ ์คํธ๋ฅผ ๋ถ๋ฆฌํ ์ ์์๊ณผ ๋์์, ์ผ์ข ์ ๋ด์ฅ์ ์ฑ์ ๊ฐ์ถ๊ฒ ํ๋ ํฐ ๊ธฐํ์ด ๋๋ค๊ณ ํ๋จํ์ต๋๋ค. FE๋ ์ฌ์ฉ์์ ๋ง๋ฟ๋ ๋ถ๋ถ์ ์์ง๋์ด๋ง๊ณผ ๊ตฌํ์ ์ง์คํ๊ณ , BE์์ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ๋ง๋ฟ๋ ๋ถ๋ถ์ ์์ง๋์ด๋ง๊ณผ ๊ตฌํ์ ์ง์คํ๋๋ก ํ๋ ๊ฒ์ด์ฃ .
๋ ๋ฒ์งธ ์ ํ: ์ด๋ค ์ธ์ด๋ฅผ ์ธ ๊ฒ์ธ๊ฐ
FE์ BE๋ฅผ ๋๋ ๋๊ณ ์๊ฐํ๋ค ๋ณด๋ฉด, ๊ฐ ๋ชจ๋์ ์ด๋ค ์ธ์ด๋ฅผ ์ธ์ง ๋ฐ๋ก ๋ฐ๋ผ์ ๊ณ ๋ฏผํ๊ฒ ๋ฉ๋๋ค.
๋ค๋ฅธ ์ธ์ด์ ์๋
์ด๊ธฐ์๋ FE๋ฅผ TypeScript๋ก, BE๋ฅผ Java ํน์ ๋ค๋ฅธ ์ธ์ด๋ก ๊ฐ๋ฐํ๋ ์กฐํฉ๋ ์๋ํด๋ดค์ต๋๋ค. ๊ฐ ์ธ์ด๊ฐ ๊ฐ์ง ์ํ๊ณ์ ๊ฐ์ ์ ํ์ฉํ ์ ์์ ๊ฑฐ๋ผ ์๊ฐํ์ฃ .
๋ค๋ฅธ ์ธ์ด์์ ๋๋ฌ๋ ๋ฌธ์ ์
ํ์ง๋ง ์ธ์ด๊ฐ ๋ค๋ฅด๋ฉด Agent์ ์ปจํ ์คํธ์ ๋ํ ์ธ์ง๋ ฅ์ด ํ ๋จ์ด์ง๋ค๋ ๊ฒ์ ์ฒด๊ฐํ์ต๋๋ค.
ํนํ ๊ฐ ์ธ์ด์ ํ์ดํ ์ฒ ํ ํน์ ๋ณ์, ํ์ ์ ์ธ์ ๋ํ ๋ฌธ๋ฒ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ๋ชจ๋ธ์ ์ํธ ์ฝ๋ ์ดํด๋ ฅ์ด ํ ๋จ์ด์ก์ต๋๋ค. ๊ฐ๋ น ๋ ํ์ดํ๊ณผ ํ์ ์ฐ์ฐ์ด ์ ๊ทน์ ์ผ๋ก ํ์ฉ๋๋ TypeScript FE ์์ค ์ฝ๋์, ์ ์ ํ์ดํ๊ณผ ์ ๋๋ฆญ ๊ธฐ๋ฐ์ ํ์ ์ด ์ ๊ทน์ ์ผ๋ก ํ์ฉ๋๋ Java BE ์์ค ์ฝ๋๋ฅผ ๋ณ์ฉํด์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด Agent๊ฐ ํ์๊ฐ์ ๊ฐํผ๋ฅผ ๋ชป ์ก๋ ์ํฉ๋ ์์ฃผ ๋ง๋ฅ๋จ๋ ธ์ต๋๋ค.
์๋ก์ด ์ธ์ ์ ์ด ๋๋ง๋ค ์๋ฌด๋ฆฌ ๊ธฐ์กด ๋ฌธ์๋ฅผ ๋จผ์ ๋ถ๋ฌ์ค๊ฒ ํ๋๋ผ๋ ๋งค๋ฒ ๋ค๋ฅธ ๊ฒฐ๊ณผ์ ๊ฒฐ๋ก ์ ๋ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ต๋๋ค. A ์ธ์ด๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋ณด๊ณ ๋ด์ฉ์ ์ดํดํ ๋ค์, B ์ธ์ด๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ดํดํ ๋ด์ฉ๊ณผ ๋ถํฉํ๋์ง ํ์ธํ๋ ์์ผ๋ก ์งํํ๋ค ๋ณด๋ ์ปจํ ์คํธ์ ํ๋จ์ ๋ง์ ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๋ ๊ฒ์ด์์ฃ .
ํ๋์ ์ธ์ด๋ก์ ์๋ ด
๊ฒฐ๊ตญ ์ ๋ ํ๋์ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ๋ซ๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ฆฌ๊ฒ ๋์์ต๋๋ค. FE๋ ๋์ ํ๋ฅ ๋ก TypeScript๋ก ๊ฐ๋ฐํ๊ฒ ๋ ๊ฒ์ด๋, BE๋ Node ํน์ Bun์ ํ์ฉํด TypeScript๋ก ๊ฐ๋ฐํ๊ณ , ๋ง์ฝ ๋ชจ๋ฐ์ผ ์ฑ๊น์ง ํ์ํ๋ค๋ฉด ์ต๊ทผ ๊ด๋ชฉ์๋ํ Expo ๊ธฐ๋ฐ์ React Native ์ฑ์ TypeScript๋ก ๊ฐ๋ฐํ๋ ๊ฒ์ด ๋ซ๋ค๋ ๊ฒ์ ๋๋ค.
์ ์ด๋ 2026๋ ํ์ฌ, TypeScript๋ ํ์คํ์ ๊ฐ๋ฐํ๊ธฐ์ ๊ฐ์ฅ ์ ํฉํ ์ธ์ด๋ผ๋ ์๊ฐ, ๊ทธ๋ฆฌ๊ณ ํ๋ถํ ํ์ต ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ธ์ด๋ผ๋ ์๊ฐ์ด ๋ค์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ธ ๋ฒ์งธ ์ ํ: FE์ BE ์ฌ์ด์ API๋ฅผ ์ด๋ป๊ฒ ์ ์ํ ๊ฒ์ธ๊ฐ
FE์ BE๋ฅผ ๋๋ ๊ฐ๋ฐํ๋ค๊ณ ์ ํ๊ณ ๋๋ฉด, ๊ทธ๋ค์์ ๋ง๋๊ฒ ๋๋ ๊ฒ์ ๊ฒฐ๊ตญ API์ ๋๋ค. ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์๋ก ์ํตํ ๊ฒ์ธ์ง์ ๋ํด ๋ช ์ํ๋ ๊ฒ, ๊ฒฐ๋ก ์ ์ผ๋ก ์ด๋ค ํ๋ผ๋ฏธํฐ๋ก ์ด๋ค ์๊ฒฉ ํ๋ก์์ ๋ฅผ ํธ์ถํ์ ๋ ์ด๋ค ๋ฐํ๊ฐ์ด ๋์ด์ค๋๊ฐ์ ๋ํ ๊ฒ์ ๋ช ์ํ๋ ๊ฒ๊ณผ ๋์ผํฉ๋๋ค.
OpenAPI Specification์ ์๋
๊ฐ์ฅ ๋จผ์ ์๋ํ ๊ฒ์ OpenAPI Specification(OAS)์ด์์ต๋๋ค. ์ ๊ณ ํ์ค์ด๊ธฐ๋ ํ๊ณ , Agent์๊ฒ ์คํ ๋ฌธ์๋ฅผ ๋๊ฒจ์ฃผ๋ฉด ๊ทธ์ ๋ง์ถฐ ๊ฐ๋ฐํ ์ ์์ ๊ฑฐ๋ผ ๊ธฐ๋ํ์ต๋๋ค.
OpenAPI Specification์์ ๋๋ฌ๋ ๋ฌธ์ ์
ํ์ง๋ง ์ด ๋ถ๋ถ์ ์์ด ์ด์ฌํ ๋ ธ๋ ฅํ๋๋ผ๋ FE์ BE ์ฌ์ด์ ๊ด์ฐฎ์ ๋ฐฉ๋ฒ์ ์ฐพ๊ธฐ๊ฐ ์ฐธ ์ด๋ ค์ ์ต๋๋ค. OAS๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด๋ JSON์ด ๊ณผํ๊ฒ ์ปค์ง๋ฉด์ ์ปจํ ์คํธ์ ๋ถ๋ด์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ๊ฝค ๋ง์์ต๋๋ค. Agent๊ฐ ์ฒ๋ฆฌํด์ผ ํ ์ปจํ ์คํธ ์๋์ฐ์ ๋น๋ํ JSON ์คํ์ด ์๋ฆฌ๋ฅผ ์ฐจ์งํ๋ฉด์, ์ ์ ์ค์ํ ๋น์ฆ๋์ค ๋ก์ง์ ๋ํ ์ดํด๋๊ฐ ๋จ์ด์ง๋ ๊ฒ์ด์์ฃ . ์คํ์ ๋จผ์ ์ ์ํ๊ณ ๊ทธ์ ๋ง์ถฐ ๊ฐ๋ฐํ๋ฉด ์ ํฉ์ฑ์ด ๋ณด์ฅ๋ ๊ฑฐ๋ผ ์๊ฐํ์ง๋ง, ์ค์ ๋ก๋ ๋ณดํธํด์ผ ํ ๋์๋ณด๋ค ๋ณดํธ ์ฅ์น๊ฐ ๋ ๋ฌด๊ฑฐ์์ง ์ ์ด์์ต๋๋ค.
๊ทธ๋ ๋ค๊ณ gRPC๋ฅผ ํ์ฉํ๊ธฐ์ ์ด๊ฑธ FE์ BE ์ฌ์ด์ ์ฌ์ฉํ๋ ์ ์ฆ์ผ์ด์ค๊ฐ ์ ์์์ต๋๋ค.
๊ฒฐ๊ตญ tRPC
๊ทธ๋์ ๊ณ ๋ฏผํ๋ ์ฐจ์ ๋ง๋๊ฒ ๋ ๊ฒ์ด tRPC์ ๋๋ค.
tRPC๋ Zod ๊ธฐ๋ฐ์ผ๋ก API Specification์ ์ ์ํ ์ ์๊ณ , ์ด๊ฑธ ๋ชจ๋ ธ๋ ํฌ๋ ๋ณ๋ ํจํค์ง๋ก ๋ฝ์๋๋ฉด FE์ BE์์ ์ธ์ ๋ ์ง ๊ฐ์ ธ๋ค ์ธ ์ ์๊ฒ ๋ฉ๋๋ค. ์ฆ, ๊ณตํต์ ์คํ์ ๋ฐ๋ผ๋ณด๊ณ ๊ฐ๋ฐํ ์ ์๊ฒ ๋ฉ๋๋ค.
OAS์ฒ๋ผ ๋ณ๋์ ๊ฑฐ๋ํ JSON ์คํ ๋ฌธ์๊ฐ ํ์ ์์ต๋๋ค. TypeScript ์ฝ๋ ์์ฒด๊ฐ ๊ณง ์คํ์ด ๋๊ธฐ ๋๋ฌธ์ Agent๊ฐ ์ฝ๋๋ฅผ ์ฝ๋ ๊ฒ๋ง์ผ๋ก๋ API์ ์ ์ถ๋ ฅ์ ์ ํํ ์ดํดํ ์ ์์ต๋๋ค.
// shared/schema.ts
import { z } from "zod";
export const CreateUserInput = z.object({
name: z.string(),
email: z.string().email(),
});
export const UserOutput = z.object({
id: z.string().uuid(),
name: z.string(),
email: z.string().email(),
createdAt: z.string().datetime(),
});
์ธ์ด๊ฐ ๋์ผํ๋ FE์์ BE์ ํ๋ก์์ ๋ฅผ ํธ์ถํ ๋ ํ์ ์์ ์ฑ์ด ์์ฐ์ค๋ฝ๊ฒ ๋ณด์ฅ๋๊ณ , Agent๊ฐ ์๋ชป๋ API๋ฅผ ํธ์ถํ๊ฑฐ๋ ์๋ชป๋ ํ๋ผ๋ฏธํฐ๋ฅผ ๋๊ธฐ๋ ์ค์๊ฐ ๊ตฌ์กฐ์ ์ผ๋ก ์ฐจ๋จ๋ฉ๋๋ค.
์ด๊ฑธ ๋ฒค์น๋งํฌ๋ก ๋ฝ์๋ณผ ๋ฐฉ๋ฒ์ ์์ง ๊ณ ๋ฏผํด๋ณด์ง๋ ๋ชปํ์ง๋ง, ์ ์ ๋๋ถ๋ถ์ ์ ์ฆ์ผ์ด์ค์์ ์ข์ ์ฑ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค.
Agent Coding์ ์ ํฉํ ๊ธฐ์ ์คํ์ ์กฐ๊ฑด
์ด๋ฌํ ์ํ์ฐฉ์ค๋ฅผ ๊ฑฐ์น๋ฉฐ ๋๋, Agent Coding์ ์ ํฉํ ๊ธฐ์ ์คํ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ปจํ ์คํธ๋ฅผ ๋ถ๋ฆฌํ ์ ์๋ ๊ตฌ์กฐ: Agent๊ฐ ํ ๋ฒ์ ์ง์คํด์ผ ํ๋ ๋ฒ์๋ฅผ ์ค์ฌ์ฃผ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. FE์ BE๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ฐ๊ฐ์ ๊ด์ฌ์ฌ์ ์ง์คํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ๊ทธ ์์์ ๋๋ค.
- ๋จ์ผ ์ธ์ด ๊ธฐ๋ฐ์ ํ์คํ: ์ธ์ด๊ฐ ๋ค๋ฅด๋ฉด Agent์ ์ปจํ ์คํธ ์ ํ ๋น์ฉ์ด ๊ธ๊ฒฉํ ์ฆ๊ฐํฉ๋๋ค. ํ๋์ ์ธ์ด๋ก FE์ BE๋ฅผ ๊ดํตํ๋ ๊ฒ์ด Agent์ ์ดํด๋์ ์ผ๊ด์ฑ์ ๋์ด๋ ๋ฐ์ ํฐ ๋์์ด ๋ฉ๋๋ค.
- ์ฝ๋ ์์ฒด๊ฐ ์คํ์ด ๋๋ API ๊ณ์ฝ: ๋ณ๋์ ์คํ ๋ฌธ์๊ฐ ์ปจํ ์คํธ๋ฅผ ์๋ํ์ง ์์ผ๋ฉด์๋, ํ์ ์์ค์์ FE์ BE ๊ฐ์ ์ ํฉ์ฑ์ ๋ณด์ฅํ ์ ์๋ ๋ฐฉ์์ด ์ด์์ ์ ๋๋ค. tRPC๊ฐ ์ด ์กฐ๊ฑด์ ๊ฐ์ฅ ๋ถํฉํ์ต๋๋ค.
๋ง์น๋ฉฐ
์ต๊ทผ ๊ธฐ์ ์คํ์ผ๋ก React ๊ธฐ๋ฐ FE์ tRPC๋ฅผ ํ์ฉํ๊ณ , BE๋ Fastify ๊ธฐ๋ฐ tRPC ์๋ฒ๋ฅผ ์์ฑํ๊ณ ์์ต๋๋ค. FE ํ๋ ์์ํฌ๋ Vite๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๊ณ , SSR์ด ํ์ํ ๊ฒฝ์ฐ Next.js๋ฅผ ๋ ๋๋ง ๋ ์ด์ด๋ก๋ง ํ์ฉํฉ๋๋ค.
AI ๊ธฐ์ ์ด ๋ ๋ฐ์ ํ๋ฉด์ ๋ก์ปฌ์ ํ์ผ์ ๋ ํจ์จ์ ์ผ๋ก Retrieval ํ ์ ์๋ ๋ฐฉ๋ฒ๋ก ์ด ๊ฐ๋ฐ๋๊ฑฐ๋, ์ง๊ธ๊ณผ ๊ฐ์ ์๋๋ก ๋ชจ๋ธ์ด ๊ณ์ ๋ฐ์ ํ๊ฒ ๋๋ค๋ฉด ๋ฐฉ๋ฒ๋ก ์ด ๋ ๋ฐ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ํ์ง๋ง ์ ์ด๋ Opus 4.5, Opus 4.6 ์๋์๋ ์ด ์กฐํฉ์ด ์ ํจํ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ญ๋๋ค.
Agent Coding์ ์ํ ๊ธฐ์ ์คํ ์ ์ ์ ๊ณ ๋ฏผํ๊ณ ๊ณ์ ๋ค๋ฉด, ๊ธฐ์ ์ ์ ํ๋ง์ ๋ณด๊ธฐ๋ณด๋ค๋ AI ์์ด์ ํธ์ ํน์ฑ๊ณผ ํ๊ณ๋ฅผ ํจ๊ป ๊ณ ๋ คํ๋ ๊ฒ์ด ํ์์ ์ผ๋ก ์ ํ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ์ฌ๋ก๊ฐ ๊ทธ ๊ธธ์ ๊ณ ๋ฏผํ๋ ๋ถ๋ค๊ป ํ๋ฒ์ฏค ์ฌ๊ณ ํ๋ ๋ฐ์ ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.