๐Ÿ† AI์Šคํ„ฐ๋”” 21๊ธฐ 3์ฃผ์ฐจ ๋ฒ ์ŠคํŠธ ์‚ฌ๋ก€ ํ๋ ˆ์ด์…˜ - ๊ฐœ๋ฐœ&์ž๋™ํ™”

๐Ÿ“š 21๊ธฐ ๊ณ ๋งˆ์›Œํด์ฝ”

โœ๏ธ AI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์˜์–ด ์Šคํ”ผํ‚น ์—ฐ์Šต ์›น์•ฑ ์ œ์ž‘

์ด๊ฒฝ๋ก (Gary)

ํ•˜๋ ค๋˜ ๊ฒƒ ๐Ÿ“

  • AI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์˜์–ด ์Šคํ”ผํ‚น ์›น์•ฑ์„ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌํ•œ ์‚ฌ๋ก€

  • ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ/์›”์ŠคํŠธ๋ฆฟ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์˜์–ด ํ‘œํ˜„ ์—ฐ์Šต ์›น์•ฑ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ฐฐํฌํ•˜๊ณ ์ž ํ•จ

  • ๋‹จ์ˆœ ์•”๊ธฐ๊ฐ€ ์•„๋‹Œ, ๋„ค์ดํ‹ฐ๋ธŒ ํ‘œํ˜„๊ณผ ๊ธฐ์ดˆ ํ‘œํ˜„์„ ๋น„๊ตํ•˜๋ฉฐ ์Œ์„ฑ ์ธ์‹ ๊ธฐ๋ฐ˜ ์‹ค์ œ ๋ฐœํ™” ์—ฐ์Šต์„ ์ œ๊ณตํ•˜๊ณ ์ž ํ•จ

  • VC ํˆฌ์ž, ๋น„์ฆˆ๋‹ˆ์Šค ํ˜‘์ƒ ๋“ฑ ์‹ค๋ฌด ์‹œ๋‚˜๋ฆฌ์˜ค๋ณ„๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ํ•œ๊ตญ์–ด ์ปจํ…์ŠคํŠธ ์„ค๋ช…๊ณผ ํ•จ๊ป˜ ํ•™์Šต ํšจ๊ณผ๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜๊ณ ์ž ํ•จ

ํ™œ์šฉํ•œ ํˆด โš’๏ธ

  • Claude Code (CLI) : ์•ฑ ์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„, React/TypeScript ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ, 10๊ฐœ ์‹œ๋‚˜๋ฆฌ์˜ค ร— 50๊ฐœ ๋ฌธ์žฅ(์ด 420๊ฐœ) ๋Œ€๋Ÿ‰ ์ฝ˜ํ…์ธ  ์ƒ์„ฑ, Web Speech API + MediaRecorder ์—ฐ๋™, ๋…น์Œ ์žฌ์ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ๋””๋ฒ„๊น…, Vercel ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ์— ํ™œ์šฉํ•จ

์ง„ํ–‰ ์„ธ๋ถ€ ๋‚ด์šฉ ๐Ÿ”

#### 1๏ธโƒฃ ์‹œ๋‚˜๋ฆฌ์˜ค๋ณ„ ์—ฐ์Šต ๋ฌธ์žฅ ๋Œ€๋Ÿ‰ ํ™•์žฅ
  • ์‹œ๋„ํ•œ ๋ฐฉ๋ฒ•๊ณผ ์ ‘๊ทผ ๋ฐฉ์‹: ๊ธฐ์กด 8๊ฐœ๋ฟ์ด๋˜ ์—ฐ์Šต ๋ฌธ์žฅ์„ 50๊ฐœ๋กœ ํ™•์žฅํ•˜์—ฌ ํ•™์Šต ์ฝ˜ํ…์ธ ์˜ ๊นŠ์ด๋ฅผ ๊ฐ•ํ™”ํ•จ. ๋‹ค๋ฅธ ์™„์„ฑ๋œ ํŒŒ์ผ(group-meetings.json ๋“ฑ)์˜ 65๊ฐœ ๋ฌธ์žฅ ํŒจํ„ด์„ ๋ถ„์„ํ•œ ๋’ค, ๋™์ผํ•œ ํ’ˆ์งˆ๊ณผ ๊ตฌ์กฐ๋กœ ๋Œ€๋Ÿ‰ ์ƒ์„ฑ์„ ์š”์ฒญํ•จ

  • ์‚ฌ์šฉํ•œ ํ”„๋กฌํ”„ํŠธ๋‚˜ ์ฝ”๋“œ:

\`\`\` vc-investment.json๊ณผ business-situations.json์˜ practice ์‹œ๋‚˜๋ฆฌ์˜ค๋“ค์ด \n๊ฐ๊ฐ 8๊ฐœ ๋ฌธ์žฅ๋ฐ–์— ์—†์–ด์„œ, ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค์ฒ˜๋Ÿผ 50๊ฐœ๋กœ ํ™•์žฅํ•ด์ค˜. \`\`\`
  • ์–ป์€ ๊ฒฐ๊ณผ๋‚˜ ํ”ผ๋“œ๋ฐฑ: VC & Investment 5๊ฐœ ์‹œ๋‚˜๋ฆฌ์˜ค์™€ Business Situations 5๊ฐœ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๊ฑธ์ณ ์ด 420๊ฐœ ๋ฌธ์žฅ์ด ์ƒ์„ฑ๋จ. ๊ฐ ๋ฌธ์žฅ์— ๋„ค์ดํ‹ฐ๋ธŒ ํ‘œํ˜„(text), ํด๋ฆฌ์…ฐ ๋ฒ„์ „(cliche), ํ•œ๊ตญ์–ด ์ปจํ…์ŠคํŠธ ์„ค๋ช…(context), ๋‚œ์ด๋„(difficulty), ํƒœ๊ทธ(tags)๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋จ

#### 2๏ธโƒฃ ๋…น์Œ ์žฌ์ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • ์‹œ๋„ํ•œ ๋ฐฉ๋ฒ•๊ณผ ์ ‘๊ทผ ๋ฐฉ์‹: ๊ธฐ์กด ์•ฑ์€ Web Speech API๋กœ ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ๋งŒ ๋ณ€ํ™˜ํ•˜์˜€์œผ๋‚˜, ์‚ฌ์šฉ์ž๊ฐ€ ๋ณธ์ธ ๋ฐœ์Œ์„ ์ง์ ‘ ๋“ค์–ด๋ณผ ์ˆ˜ ์žˆ๋„๋ก MediaRecorder API๋ฅผ ๋ณ‘ํ–‰ํ•˜์—ฌ ๋…น์Œ โ†’ ์žฌ์ƒ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ ์ž ํ•จ

  • ์‚ฌ์šฉํ•œ ํ”„๋กฌํ”„ํŠธ๋‚˜ ์ฝ”๋“œ:

\`\`\` ๋…น์Œ์„ ๋ˆ„๋ฅด๊ณ  ์™„๋ฃŒํ•˜๋ฉด ๋ณธ์ธ ๋…น์Œํ•œ ๊ฑฐ๋ฅผ ์žฌ์ƒํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” \n๋ฒ„ํŠผ์„ ์˜†์— ๋งŒ๋“ค ์ˆ˜ ์—†์„๊นŒ? \`\`\`
  • ์–ป์€ ๊ฒฐ๊ณผ๋‚˜ ํ”ผ๋“œ๋ฐฑ: ๋งˆ์ดํฌ ๋ฒ„ํŠผ ์ขŒ์ธก์— โ–ถ ์žฌ์ƒ ๋ฒ„ํŠผ์ด ๋‚˜ํƒ€๋‚˜๋Š” UI๊ฐ€ ๊ตฌํ˜„๋จ. `useSpeechRecognition` ํ›…์— MediaRecorder๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ๋…น์Œ๊ณผ ์Œ์„ฑ ์ธ์‹์ด ๋™์‹œ์— ๋™์ž‘ํ•˜๋ฉฐ, ๋…น์Œ ์™„๋ฃŒ ํ›„ ๋ณธ์ธ ์Œ์„ฑ์„ ์ฆ‰์‹œ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ

#### 3๏ธโƒฃ ๋…น์Œ ์žฌ์ƒ ๋ฒ„๊ทธ ๋””๋ฒ„๊น… ๋ฐ ํ•ด๊ฒฐ

  • ์‹œ๋„ํ•œ ๋ฐฉ๋ฒ•๊ณผ ์ ‘๊ทผ ๋ฐฉ์‹: ์ดˆ๊ธฐ ๊ตฌํ˜„์—์„œ ์žฌ์ƒ ๋ฒ„ํŠผ์€ ๋‚˜ํƒ€๋‚˜์ง€๋งŒ ์†Œ๋ฆฌ๊ฐ€ ๋‚˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•จ. ๋ธŒ๋ผ์šฐ์ € ๋„ค์ดํ‹ฐ๋ธŒ `

  • ์‚ฌ์šฉํ•œ ํ”„๋กฌํ”„ํŠธ๋‚˜ ์ฝ”๋“œ:

\`\`\` ๋…น์Œ ํ›„ ๋ฒ„ํŠผ์€ ์ƒ๊ธฐ๋Š”๋ฐ ํ”Œ๋ ˆ์ด๋˜๋Š” ์Œ์„ฑ์ด ์—†์–ด ํ•œ๋ฒˆ ๊ธฐ๋Šฅ \n์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด? \`\`\`
  • ์–ป์€ ๊ฒฐ๊ณผ๋‚˜ ํ”ผ๋“œ๋ฐฑ: ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ํ•ด๊ฒฐํ•จ

- ๋ ˆ์ด์Šค ์ปจ๋””์…˜: `getUserMedia()`๊ฐ€ async์ธ๋ฐ `recognition.start()`๊ฐ€ ๋จผ์ € ๋๋‚˜๋Š” ํƒ€์ด๋ฐ ๋ฌธ์ œ ๋ฐœ์ƒ โ†’ MediaRecorder๋ฅผ ๋จผ์ € awaitํ•œ ํ›„ SpeechRecognition ์‹œ์ž‘ํ•˜๋„๋ก ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•จ - ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ˆ„๋ฝ: `recorder.start()`์— timeslice ์—†์ด ํ˜ธ์ถœํ•˜๋ฉด stop ์‹œ์ ์—๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ด โ†’ `recorder.start(100)`์œผ๋กœ 100ms๋งˆ๋‹ค ์ฃผ๊ธฐ์  ์ˆ˜์ง‘ํ•˜๋„๋ก ๋ณ€๊ฒฝํ•จ - ์žฌ์ƒ ๋ฐฉ์‹: `new Audio(blobURL)`์ด ์ผ๋ถ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์กฐ์šฉํžˆ ์‹คํŒจ โ†’ DOM `