샘호트만
샘호트만
⚔️ 베테랑 파트너
🔬 임팩트 찐친

해외 멘토를 AI로 도플갱어 구축하는 중 - 앞으로 공부 많이 된다

좋은 skills 만들어주신 다혜님 감사합니다. 사례글 쓰는게 편했습니다.

https://github.com/daht-mad/write-post

소개

좋아하는 해외 Creator가 있습니다. 뭔가 궁금할 때마다 영상을 다시 찾아보는 게 너무 비효율적이었습니다.

영상 뒤져서 찾고, 타임스탬프 찾고, 다시 듣고. 이걸 반복하다 생각했습니다.

"차라리 이 사람을 AI로 복제해서 물어보면 안 되나?"

예전에 윤자동님 채널에서 관련된 내용을 구축한 걸 보여드린 적 있습니다.

https://youtu.be/DUlI3zqOOw0?t=1486

이걸 저 혼자 쓰고 있었는데, 이를 확장하기 위해 또한 최종 목표로는 여러 해외 멘토의 지식과 대본 등을 담아서 수강생들에게 제공하는 것입니다. 지금은 단일 멘토로 품질을 검증하는 단계 및 검색 성능을 끌어올리기 위해 간단하게 개발하고 있는 단계입니다.


진행 방법

기존 n8n 워크플로우를 PRD로 활용

이전에 n8n으로 YouTube 자막 추출 → 청킹 → 임베딩하는 워크플로우를 만들어둔 게 있었습니다. 그리고 제 요구사항을 떠든 것과 종합하여 이걸 PRD(기획 문서)로 정리해서 Claude Code에 던졌습니다.

기존에 동작하는 워크플로우가 있으니까 "뭘 만들어야 하는지"가 명확했고, Claude에게 설명하기도 편했습니다.


Day 1: 환경 세팅과 에러 해결

처음에는 기술 스택들 임의로 정하였습니다.

## 기술 스택

- **Frontend**: Next.js 16.1.3, React 18+, TypeScript, Tailwind CSS v4, Shadcn UI
- **Backend**: Python 3.11+, FastAPI, Pydantic v2, FSD 아키텍처
- **Vector DB**: Qdrant (Docker)
- **LLM**: OpenAI API (gpt-5-nano)
- **Embeddings**: Voyage AI (voyage-4-nano, 384 dims)
- **Tools**: yt-dlp, youtube-transcript-api, uv

또한 테스트하기 위해서 한번에 스크립트 짜서 활용하니 편하더군요.

통합 실행 스크립트 요청:

프로젝트 초기 실행 시 Front/Backend/Docker를 한 번에 실행할 수 있는 스크립트
- 명령어로 모두 실행 가능하게
- README에 사용법 작성

Claude가 통합 실행 스크립트를 만들어줬고, npm start 한 줄로 전체 시스템이 돌아가게 됐습니다.


Day 2: 핵심 로직 개선

둘째 날은 RAG 시스템의 핵심인 청킹과 분류 로직을 다듬었습니다.

분류 기준 개선 요청:

Chunk classification 프롬프트 개선
- 목표: Creator 스타일 모방 + 지식 베이스 구축
- 샘플: "세일즈 콜 첫 5분 노하우" 콘텐츠 분석

기존에는 "좋은 콘텐츠"처럼 모호한 기준이었는데, 다음과 같이 명확하게 바꿨습니다:

  • 건너뛸 콘텐츠: 청크에 대해서 단순 소개, 일반적인 조언

  • 보관할 콘텐츠: 청크에 대해 구체적 정보 + 고유한 관점 + 질문에 답변 가능 (3가지 모두 충족)

청크를 분류하는 프롬프트 예시

"""Chunk classification prompts and JSON schema.

Used by: src/features/chunk_classification/classifiers/llm_classifier.py
Purpose: Classify text chunks as KEEP or SKIP for vector database storage.
"""

SYSTEM_PROMPT = """You are classifying transcript chunks for a creator knowledge base.

## SKIP criteria (if ANY apply):
- Preview/intro content ("in this video we will...", "let me show you...")
- Generic advice available anywhere (e.g., "be confident", "practice makes perfect")
- Visual-dependent content (e.g., "click here", "as you can see")
- Pure self-introduction without unique insight
- Ads, sponsors, promotional content
- Filler: greetings, closings, transitions without substance
- Meta-commentary about the content structure

## KEEP criteria (ALL must apply):
1. Contains SPECIFIC, ACTIONABLE information (exact phrases, frameworks, numbers, steps)
2. Reflects creator's UNIQUE perspective or methodology
3. Could answer a direct question about this topic

## Examples:
SKIP: "hey guys welcome to today's training what we're going to go look at is how you can nail the first five minutes"
→ Preview content, no actionable information yet

SKIP: "Building rapport is important in sales calls"
→ Generic advice, not specific

KEEP: "I use 4 steps: rapport → confirm time → set agenda → transition to pain. For rapport, I ask 'whereabouts are you calling in from' - neutral and works globally."
→ Specific framework with exact phrase

KEEP: "I always say: 'normally the way these calls go is we learn about you, I share my background, then we see if there are mutual next steps' - this gives them control while you lead"
→ Exact script with reasoning

When in doubt, SKIP. Quality over quantity.
Respond in JSON format."""

USER_TEMPLATE = """Classify this transcript chunk.

Chunk:
{chunk_text}"""

# JSON Schema for OpenAI Structured Output
SCHEMA: dict = {
    "type": "object",
    "properties": {
        "decision": {
            "type": "string",
            "enum": ["KEEP", "SKIP"],
            "description": "Classification decision",
        },
        "reason": {
            "type": "string",
            "description": "Brief reason for the decision",
        },
    },
    "required": ["decision", "reason"],
    "additionalProperties": False,
}

청크 판단 및 맥락 보강 예시


Skills 기능 활용

Claude Code에는 Skills라는 기능이 있습니다. 외부 가이드라인을 불러와서 적용할 수 있습니다.

Vercel에서 만든 React Best Practices 스킬을 설치해서 적용해봤습니다. 45개 규칙이 자동으로 적용되니까 코드 품질이 올라가는 느낌이었습니다.

여기 내용 복사해서 설치해달라고 하시면 됩니다.


결과와 배운 점

현재 만들어진 것들

  • YouTube/Excel 트랜스크립트 인덱싱 파이프라인

  • LLM 기반 Chunk 품질 분류 (유용한 것만 KEEP)

  • Creator 스타일로 답변 생성(프롬프트 최적화해야함) + 타임스탬프 링크 제공

  • 웹 대시보드 (비디오 라이브러리, 채팅 인터페이스)

답변을 잘 한다

출처를 누르면 해당 구간으로 잘 가고 있습니다.

효과적이었던 방법

  1. 기존 워크플로우를 PRD로 정리해서 던지기: 이미 동작하는 n8n 워크플로우가 있으니까 "뭘 만들어야 하는지" 설명이 쉬웠습니다. 기획의 난이도가 줄어들어요.

  2. Skills 활용: Vercel 베스트 프랙티스 같은 외부 가이드라인 적용하면 품질이 올라갑니다. https://skillsmp.com/search 에서 쓸만한 것들을 발굴해서 적용해볼 생각입니다.


앞으로의 계획

지금은 단일 멘토 최적화에 집중하고 있습니다. 임베딩 모델 성능, 검색 품질, 답변 품질, 답변 속도를 개선할 예정입니다.

이게 만족스러운 수준이 되면, 멀티 멘토 시스템으로 확장합니다. 여러 해외 멘토의 지식을 담아서 제 수강생들에게 제공하는 게 최종 목표입니다.

주 1회 몰입 개발로 진행 중입니다.


도움 받은 글

4
6개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요