실시간으로 당신의 스타트업 피치에 반박하는 AI를 만들었습니다

발행: (2026년 3월 16일 오후 03:18 GMT+9)
12 분 소요
원문: Dev.to

Source: Dev.to


실시간으로 당신의 스타트업 피치를 반박하는 AI를 만들었습니다

소개

스타트업 피치를 연습할 때 가장 큰 어려움 중 하나는 비판적인 청중을 찾는 것입니다. 실제 투자자나 멘토가 없으면, 아이디어가 얼마나 설득력 있는지 판단하기가 어렵죠. 그래서 저는 실시간으로 피치를 듣고 반박해 주는 AI를 만들었습니다. 이 도구는 여러분이 말하는 내용을 실시간으로 받아들이고, 논리적 약점, 시장 가정, 재무 모델 등에 대해 즉각적인 질문을 던집니다.

“이걸 실제 투자자 앞에서 사용하면 어떨까?” 라는 생각이 들었고, 바로 구현에 착수했습니다.

어떻게 작동하나요?

  1. 음성 → 텍스트 변환
    • Whisper(OpenAI) 모델을 사용해 마이크 입력을 실시간으로 텍스트로 변환합니다.
  2. 텍스트 → 프롬프트 생성
    • 변환된 텍스트를 기반으로 시스템 프롬프트사용자 프롬프트를 구성합니다. 시스템 프롬프트는 AI가 “엄격한 VC” 역할을 하도록 설정하고, 사용자 프롬프트는 현재까지의 피치 내용을 전달합니다.
  3. GPT‑4 호출
    • OpenAI의 gpt-4-turbo 엔드포인트에 프롬프트를 보내면, AI가 즉시 반박 질문을 반환합니다.
  4. 음성 출력
    • 반환된 텍스트를 ElevenLabs TTS API에 전달해 음성으로 변환하고, 스피커를 통해 재생합니다.

전체 파이프라인은 FastAPI 서버와 WebSocket을 이용해 프론트엔드와 실시간으로 통신합니다.

데모

https://github.com/user/real‑time‑pitch‑critic/assets/1234567/abcdefg

위 영상에서는 제가 2분 정도 피치를 진행하면, AI가 5~7개의 즉각적인 반박을 제시하는 모습을 볼 수 있습니다. 질문들은 다음과 같은 카테고리를 포함합니다.

카테고리예시 질문
시장 규모“당신이 제시한 TAM이 10배 이상 과대평가된 것 같은데, 근거는 무엇인가요?”
경쟁 구도“현재 경쟁사 A가 이미 비슷한 솔루션을 출시했는데, 차별점이 구체적으로 무엇인가요?”
비즈니스 모델“수익 모델이 구독 기반이라고 했는데, 고객 확보 비용(CAC)과 LTV 비율은 어떻게 되나요?”
팀 역량“기술 리더가 스타트업 경험이 없는데, 이를 어떻게 보완할 계획인가요?”
재무 예측“5년 뒤 매출 100억 원 목표가 비현실적으로 보이는데, 어떤 가정을 기반으로 했나요?”

주요 코드 스니펫

# app/main.py
import os
import asyncio
from fastapi import FastAPI, WebSocket
from openai import AsyncOpenAI
from whisper import WhisperModel
from elevenlabs import generate, play

app = FastAPI()
openai_client = AsyncOpenAI(api_key=os.getenv("OPENAI_API_KEY"))
whisper = WhisperModel("base")

SYSTEM_PROMPT = """
You are a very skeptical venture capitalist. 
When the founder presents their pitch, you should immediately ask probing,
critical questions about market size, competition, business model, team,
and financial assumptions. Keep your tone professional but tough.
"""

@app.websocket("/ws")
async def websocket_endpoint(ws: WebSocket):
    await ws.accept()
    transcript = ""
    async for msg in ws.iter_text():
        # 1️⃣ 음성 → 텍스트
        result = whisper.transcribe(msg)
        transcript += " " + result["text"]
        
        # 2️⃣ 프롬프트 구성
        messages = [
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": transcript}
        ]
        
        # 3️⃣ GPT‑4 호출
        response = await openai_client.chat.completions.create(
            model="gpt-4-turbo",
            messages=messages,
            temperature=0.7,
        )
        reply = response.choices[0].message.content
        
        # 4️⃣ TTS 변환 & 전송
        audio = generate(text=reply, voice="adam")
        await ws.send_bytes(audio)

핵심 포인트

  • 프롬프트 엔지니어링: 시스템 프롬프트를 통해 AI의 성격을 “극단적인 VC”로 정의했습니다. 이는 질문의 깊이와 공격성을 조절하는 핵심 요소입니다.
  • 스트리밍: WebSocket을 사용해 음성 → 텍스트 → 질문 → 음성 순환을 실시간으로 처리했습니다.
  • 비용 관리: gpt-4-turbogpt-4 대비 2~3배 저렴하면서도 충분히 정교합니다. 평균적으로 1분 피치당 약 $0.03 정도가 소요됩니다.

한계와 향후 개선점

현재 한계개선 아이디어
오류 감도: Whisper가 배경 소음에 민감함잡음 억제 전처리 및 large-v2 모델 적용
질문 중복: 동일한 질문이 반복될 수 있음대화 히스토리를 저장해 중복 질문 차단
톤 조절: 너무 공격적으로 들릴 때가 있음시스템 프롬프트에 “친절하지만 비판적인” 옵션 추가
멀티모달: 슬라이드나 화면을 인식하지 못함Vision‑LLM(예: GPT‑4V)과 연동해 시각 자료 분석

결론

실시간 피치 비판 AI는 연습 비용을 크게 낮추고, 창업자에게 즉각적인 피드백 루프를 제공합니다. 아직 완벽하진 않지만, 프롬프트 설계와 스트리밍 파이프라인을 조합하면 충분히 유용한 도구가 됩니다. 여러분도 직접 구현해 보시고, 자신만의 질문 스타일이나 산업 특화 프롬프트를 추가해 보세요.


참고 자료

Tip: 로컬에서 테스트할 때는 ngrok을 사용해 임시 HTTPS 엔드포인트를 만들면, 모바일 기기에서도 쉽게 마이크와 스피커를 활용할 수 있습니다.

Source:

PitchFire 개요

Cover image for I Built an AI That Argues Back at Your Startup Pitch in Real Time

모든 창업자는 한 번쯤 겪어봤을 겁니다. 피치를 완벽하게 만들 때까지 연습하고, 회의실에 들어가면 투자자가 한 가지 질문을 던져 모든 것이 무너지는 상황—아이디어가 나쁘기 때문이 아니라, 반박할 사람이 없었기 때문이죠.

그것이 제가 Gemini Live Agent Challenge 2026을 위해 만든 PitchFire입니다. 실시간 AI 피치 스틸맨 에이전트로, 당신이 제시하는 모든 약한 주장에 도전하고, 강한 주장은 검증하며, 성공적으로 방어한 논쟁만을 바탕으로 전투에 강한 피치덱을 생성합니다.

  • 실시간 데모:
  • 소스 코드:

How It Works

  1. Start speaking – Tap the orb and begin your pitch.
  2. Voice Activity Detection – PitchFire listens for pauses. When you stop speaking, it captures the segment, sends it to Gemini 2.5 Flash, and returns a challenge card within 2–3 seconds.

Example cards

  • Weak claim – “Our TAM is $50 billion.”

    • Red challenge card: “A $50B TAM from what source? What year? What percentage can you realistically capture in 24 months? TAM without SAM/SOM is theater.”
    • Your conviction score drops.
  • Strong claim – “We have 3 paying pilots at $5K/month.”

    • Green validation card: Score goes up.
  1. End of pitch – Hit END and Gemini generates a pitch deck containing only the claims that survived.

Modes

  • Interrupt Mode – Interrupts when inconsistencies are detected or you fall silent.
  • Full Pitch Mode – Waits for 3 seconds of silence, then provides a full breakdown after the entire pitch.

Each card offers three actions:

  • READ – View the full challenge.
  • ▶ LISTEN – Hear it spoken aloud.
  • ↩ RESPOND – Type a direct defense, which is sent back through Gemini to keep the conversation anchored to that specific claim.

기술 스택

오디오 파이프라인은 시스템의 핵심입니다.

// Browser audio capture (simplified)
const audioContext = new (window.AudioContext || window.webkitAudioContext)();
const processor = audioContext.createScriptProcessor(4096, 1, 1);
processor.onaudioprocess = (e) => {
  const input = e.inputBuffer.getChannelData(0);
  const rms = Math.sqrt(
    input.reduce((sum, sample) => sum + sample * sample, 0) / input.length
  );
  // Detect voice activity based on RMS threshold
  // Accumulate chunks while voice is present
  // When silence exceeds threshold, concatenate chunks,
  // prepend 44‑byte WAV header, base64‑encode, and POST to Gemini
};
navigator.mediaDevices.getUserMedia({ audio: true })
  .then(stream => {
    const source = audioContext.createMediaStreamSource(stream);
    source.connect(processor);
    processor.connect(audioContext.destination);
  });
  • CaptureScriptProcessorNode를 통해 16 kHz, PCM16 원시 데이터로 캡처합니다.
  • VAD – 버퍼당 RMS 볼륨을 사용해 음성 활동을 판단합니다.
  • Packaging – 청크를 연결하고 44바이트 WAV 헤더를 앞에 붙인 뒤 base64 인코딩하여 Gemini의 멀티모달 REST 엔드포인트로 전송합니다.

Gemini가 가능하게 만든 것

전체 제품은 단일하고 잘 설계된 Gemini 프롬프트에 의존합니다. 모델은:

  • 오디오를 전사합니다.
  • 한 번의 호출로 각 주장을 분석합니다.
  • 주장을 약하거나 강하게 분류합니다.
  • 투자자 스타일의 도전이나 검증을 생성, 반증을 인용, 주장을 점수 매기고, 여섯 가지 피치 차원으로 분류합니다.

Gemini가 멀티모달 입력과 구조화된 추론을 동시에 처리할 수 없었다면, 이 제품은 존재하지 않았을 것입니다. Gemini 2.5 Flash API 덕분에 구축 시간이 몇 달에서 며칠로 단축되었습니다.

다음 단계

  • 투자자 페르소나 모드 – VC, 엔젤, 전략적.
  • 팀 연습 모드 – 여러 설립자가 함께 연습할 수 있습니다.
  • 통합 – 인기 있는 피치‑덱 도구와 연결.

Gemini Live Agent Challenge 2026을 위해 혼자 제작했습니다.

0 조회
Back to Blog

관련 글

더 보기 »

트라비고

Gemini와 함께 말하는 속도만큼 빠르게 여행하세요! 라이브 에이전트가 몰입형 스토리텔링 및 3D 내비게이션과 만나는 곳. 이 프로젝트는 Gemini Live Ag...에 진입하기 위해 만들어졌습니다.