AI ๊ธฐ๋ฐ ๊ธฐํ ์ฐ์ฃผ ๋ถ์ ๋ฐ MCP ๊ธฐ๋ฐ ๊ธฐํ ์ฐ์ต ์ด์์คํดํธ ์๋น์ค
๋ฐด๋ ๋์๋ฆฌ ํ๋ ์ค ๊ฐ์ธ ๊ธฐํ ์ฐ์ต ๊ณผ์ ์์ ์ฐ์ฃผ ์ ํ๋์ ๋ํ ๊ฐ๊ด์ ์ธ ํผ๋๋ฐฑ์ ๋ฐ์ ์๋จ์ด ๋ถ์กฑํด ์ฐ์ต ํจ์จ์ด ๋ฎ์์ง๋ ๋ฌธ์ ๋ฅผ ๊ฒฝํํ์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด AI ๊ธฐ๋ฐ ๊ธฐํ ์ฐ์ต ๋ถ์ ์๋น์ค Daily Guitar๋ฅผ ๊ธฐํํ์ต๋๋ค.
์ฌ์ฉ์๊ฐ ์ํ๋ ์ฅ๋ฅด์ ์ฐ์ต ๋ฐ์ดํฐ๋ฅผ ๋งฅ๋ฝ์ผ๋ก GPT์ ์ง์ํด ์์ค์ ๋ง๋ ๊ณก์ ์ถ์ฒ๋ฐ๊ณ , MCP ์๋ฒ๋ฅผ ํตํด ์ฐ์ต ์ผ์ ์ Google Calendar์ ์๋์ผ๋ก ๋ฑ๋กํ ์ ์์ต๋๋ค.
์์ธ๊ณผํ๊ธฐ์ ๋ํ๊ต ์ฐ์ ์ ๋ณด์์คํ ์ ๊ณต 2025 ์บก์คํค ๊ฒฝ์ง๋ํ ๊ธ์(2์) ์์ ๐
- ์ฝ๋ยทํฌ๋ก๋งคํฑ ๋ฑ ๋ฃจํด ์ ํ์ ๋ฐ๋ผ ๊ธฐํ ์งํ UI์ ์ด์ง๋ฒ์ ๋์ ์ผ๋ก ๋ ๋๋ง
- ์ค์ ๋ BPM์ ๋ง์ถฐ ๋ฉํธ๋ก๋ ์ฌ์ด๋์ Pulse ์ ๋๋ฉ์ด์ ์ ๋๊ธฐํํด ์๊ฐยท์ฒญ๊ฐ ํผ๋๋ฐฑ ๋์ ์ ๊ณต
- ์๊ฐ๋ฝ๋ณ ์์ ๋งคํ์ผ๋ก ์ง๊ด์ ์ธ ์ด์ง๋ฒ ์๊ฐํ
- ํฌ๋ก๋งคํฑ ์ฐ์ต์ 12ํ๋ ๊น์ง ์ํ, ์ฝ๋ ์ ํ ์ฐ์ต์ ์ฝ๋ ๊ตฌ์ฑยท์์ ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅ
AudioContext โ MediaStreamSource โ GainNode โ AnalyserNode๋ ธ๋ ์ฒด์ธ ๊ตฌ์ฑ- ์ฌ์ฉ์๊ฐ ์ฌ๋ผ์ด๋๋ก ์ ๋ ฅ ๊ฐ๋๋ฅผ ์ง์ ์กฐ์ ํ ์ ์๋ ์ค์ ํ์ด์ง ๊ตฌํ
- RMS ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ค์๊ฐ ๋ณผ๋ฅจ ๊ณ์ฐ
requestAnimationFrame๊ธฐ๋ฐ ๋ถ์ ๋ฃจํ๋ก 60fps ์์ค์ ์ค์๊ฐ ์ํฅ ํผ๋๋ฐฑ ์ ๊ณต
- ์ฌ์ฉ์์ ์ฐ์ต ๊ธฐ๋ก๊ณผ ์ฅ๋ฅด๋ฅผ ๋งฅ๋ฝ์ผ๋ก GPT-4o-mini์ ์ง์ํด ์์ค์ ๋ง๋ ๊ณก 3๊ฐ ์ถ์ฒ
- YouTube Data API๋ฅผ ์ง์ ํธ์ถํด ์ ๋ขฐ๋ ๋์ ์์ ๋งํฌ ์ ๊ณต
- GPT๊ฐ ์์ฑํ๋ ์ฝํ ์ธ ๋ฅผ ์ํฐ์คํธ๋ช ยท๊ณก๋ช ์ผ๋ก ํ์ ํด ์ ํจํ์ง ์์ ๋งํฌ ๋ฌธ์ ํด๊ฒฐ
- ์์ฐ์ด๋ก ์ ๋ ฅ๋ ์ฐ์ต ์ผ์ ์์ฒญ์ MCP ์๋ฒ๋ฅผ ํตํด ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ก ๋ณํ
- Google Calendar API์ ์ฐ๊ฒฐํด ์ฑํ ๋ด์์ ์ผ์ ๊ด๋ฆฌ ์๊ฒฐ
- Google Identity ๊ธฐ๋ฐ ๋ก๊ทธ์ธ๊ณผ OAuth2 Token Client ๊ธฐ๋ฐ ์บ๋ฆฐ๋ ๊ถํ ํ๋์ ๋ถ๋ฆฌํด ๊ตฌํ
| ๋ถ๋ฅ | ๊ธฐ์ |
|---|---|
| Framework | React |
| Language | TypeScript |
| Styling | Tailwind CSS |
| ์ํ ๊ด๋ฆฌ | Zustand |
| ์ธํ๋ผ | AWS S3, CloudFront |
| AI | GPT-4o-mini, MCP |
| ์ธ๋ถ API | Google Calendar API, YouTube Data API |
๊ธฐํ ์งํ UI, ๋ฉํธ๋ก๋ ์ ๋๋ฉ์ด์ , ์ค์๊ฐ ์ํฅ ๋ถ์ ๋ฑ ์ฌ์ฉ์ ์ธํฐ๋์ ๊ณผ ์ํ ๋ณํ๊ฐ ๋น๋ฒํ ์๋น์ค๋ก, ๋ชจ๋ฐ์ผ ์ ์ฉ ์น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ์ต๋๋ค. SSR๋ณด๋ค ํด๋ผ์ด์ธํธ ์ค์ฌ์ ๋น ๋ฅธ ์ธํฐ๋์ ์ด ์ค์ํ๊ณ React SPA๊ฐ ์ ํฉํ๋ค๊ณ ํ๋จํ์ต๋๋ค.
์ฌ์ฉ์ ์ ๋ณด, ์ฐ์ต ์ด๋ ฅ, ๋ฃจํด ์ค์ ๋ฑ ์ฌ๋ฌ ์ปดํฌ๋ํธ์์ ๊ณตํต์ผ๋ก ์ฐธ์กฐํ๋ ์ํ๊ฐ ๋ง์์ต๋๋ค. Context API ๋๋น ๋ณ๊ฒฝ๋ ์ํ๋ฅผ ๊ตฌ๋ ํ๋ ์ปดํฌ๋ํธ๋ง ๋ฆฌ๋ ๋๋ง๋์ด ์ฐ์ต ์ค BPM, ๋ฉํธ๋ก๋ ์ํ ๋ฑ ์์ฃผ ๋ณ๊ฒฝ๋๋ ๊ฐ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ์ต๋๋ค.
์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ๋ ๊ธฐํ ์ฐ์ฃผ ์ค๋์ค ํ์ผ์ ์ฉ๋์ด ํฌ๊ณ AI ๋ถ์ ํ ๊ฒฐ๊ณผ ํ์ผ๋ ์ ์ฅํด์ผ ํ์ต๋๋ค. S3๋ก ๋์ฉ๋ ์ค๋์ค ํ์ผ์ ์์ ์ ์ผ๋ก ์ ์ฅํ๊ณ CloudFront๋ก ์บ์ฑํด ํ์ผ ์๋ต ์๋๋ฅผ ๋์์ต๋๋ค.
์์ฐ์ด๋ก ์ ๋ ฅ๋ ์ฐ์ต ์ผ์ ์์ฒญ์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ก ๋ณํํด Google Calendar API์ ์ฐ๊ฒฐํ๋ ํ์ดํ๋ผ์ธ์ด ํ์ํ์ต๋๋ค. MCP ์๋ฒ๋ฅผ ํตํด AI ๋ถ์ ๊ฒฐ๊ณผ์ ์บ๋ฆฐ๋ ์์ฑ์ ํ๋์ ์ฑํ ํ๋ฆ ์์์ ์ฒ๋ฆฌํ ์ ์์์ต๋๋ค.
๋ฌธ์ : GPT๊ฐ ๋ฐํํ๋ ์ ํ๋ธ ๋งํฌ๊ฐ ์ญ์ ๋ ์์, ๋น๊ณต์ ์์, ์ง์ญ ์ ํ ์์ ๋ฑ ์ฌ์์ด ๋ถ๊ฐ๋ฅํ ๋งํฌ๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์์ธ: GPT๋ ํ์ต ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ๋งํฌ๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ํด๋น ๋งํฌ๊ฐ ํ์ฌ ์ ํจํ์ง ๊ฒ์ฆํ ์ ์์์ต๋๋ค.
ํด๊ฒฐ: GPT๊ฐ ์์ฑํ๋ ์ฝํ ์ธ ๋ฅผ ์ํฐ์คํธ๋ช ๊ณผ ๊ณก๋ช ์ผ๋ก๋ง ํ์ ํ๊ณ , YouTube Data API๋ฅผ ์ง์ ํธ์ถํด ์ค์ ๋ก ์ฌ์ ๊ฐ๋ฅํ ์์ ๋งํฌ๋ฅผ ๊ฐ์ ธ์ค๋๋ก ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ์ต๋๋ค.
ํ์ฌ๋ ์๋ฒ๊ฐ ๋ซํ์๋ ์ํ์ ๋๋ค.
# ํจํค์ง ์ค์น
npm install
# ๊ฐ๋ฐ ์๋ฒ ์คํ
npm run dev
# ๋น๋
npm run build