yvetteYSY/creator-agent

Build AI agents grounded in a creator's documents, audio, and video.

Creator Agent – 개인정보 중심, 모바일 중심의 프로토타입: 크리에이터의 콘텐츠를 근거 기반 AI 챗 에이전트로 전환

무엇인가요 – 오픈소스 웹 앱(향후 React-Native 모바일 프론트엔드 계획)으로, 콘텐츠 크리에이터가 문서, 오디오 트랜스크립트, 또는 비디오 + 자막 파일을 업로드하고 태그를 지정한 후, 승인된 자료만을 기반으로 질문에 답하는 대화형 "오디언스 에이전트"를 공개할 수 있습니다. 모든 처리는 결정론적이며, 외부 LLM 제공업체에 대한 호출이 전혀 없기 때문에 데모 중에는 API 키나 토큰 비용이 발생하지 않습니다.

왜 중요한가요 – 다음의 풀스택 패턴을 보여줍니다:

  • 기본적으로 개인정보 보호된 인게스션 – 소스는 브라우저 내부 또는 보호된 백엔드에 머물며, 크리에이터가 명시적으로 승인하기 전까지 검색 대상이 되지 않습니다.
  • 테넌트 격리 – 각 크리에이터는 내부 UUID를 가지며, 모든 API 요청은 해당 ID에 스코프되므로 크리에이터 간 데이터 유출을 방지합니다.
  • 제로 비용 라우팅 – 내장된 "참고 에이전트"는 결정론적이고 출처를 포함한 답변을 반환하지만 모델에 접근하지 않습니다. 크리에이터는 나중에 자신의 엔드포인트(Bring-Your-Own-Agent 계약)에 연결할 수 있으며, 모델 사용은 해당 엔드포인트 소유자의 책임이 됩니다.
  • 보안 중심의 업로드 파이프라인 – MP4 업로드는 바로 프라이빗 S3 호환 스토리지로 전달되며, 추가 처리 전에 단일 작업 워커가 ClamAV로 파일을 스캔합니다.

핵심 기능 (MVP 시점)

기능 구현
인증 Auth0 OIDC 로그인 (PKCE); JWT 검증 API 라우트
지속적 워크스페이스 PostgreSQL이 크리에이터 ID, 에이전트 버전, 소스 메타데이터를 저장
소스 유형 텍스트 붙여넣기, 최소한의 GitHub App을 통한 Markdown/MDX, MP4 비디오 + 선택적 WebVTT 자막
개인정보 제어 크리에이터가 승인하기 전까지 소스는 미리보기만 가능; 승인되지 않은 콘텐츠는 챗 엔진에서 반환되지 않음
결정론적 챗 브라우저 내 리트리ieval 엔진이 쿼리어를 승인된 청크와 매칭하고 출처를 반환(또는 "모르겠습니다") – 모델 추론 없음
다중 사용자 격리 시뮬레이션된 오디언스 멤버(Maya, Theo, Jules)별 별도의 대화 기록
에이전트 사용자 정의 음성 프리셋, 응답 깊이, 서명 문구, 금지 주제, 인사말/톤 등, 크리에이터별로 버전 관리
로드 랩 조정 가능한 트래픽/병렬 제한으로 테넌트 인식 과부하 처리를 시연
Bring-Your-Own-Agent 문서화된 HTTP 계약; 크리에이터는 계약을 준수하는 임의의 엔드포인트로 시스템을 연결 가능. 모델 사용은 엔드포인트 소유자의 책임
CI/CD GitHub Actions가 모든 PR마다 타입 체크, 유닛/UI 테스트, 린트, 프로덕션 빌드를 실행

지금 바로 시도할 수 있는 것

  1. 공개 베타판 열기: https://creator-agent-yvetteysy.onrender.com (Auth0 로그인은 선택 사항). 데모는 무료 Render 서비스에서 실행되므로, 비활성 기간 후 첫 요청은 약 50초 소요될 수 있습니다.
  2. 짧은 텍스트 스니펫을 붙여넣거나 작은 MP4와 WebVTT 사이드카를 업로드하세요. 시뮬레이터는 메모리에서 텍스트를 청크화하고 즉시 검색 가능하게 만듭니다.
  3. 오디언스 미리보기로 전환하여 질문을 던지세요. 에이전트는 승인된 청크만 사용하여 답변하고 출처를 표시합니다.
  4. 사용자 정의를 열어 음성 프리셋이나 금지 주제를 조정하고 다음 답변에 미치는 영향을 확인하세요.
  5. 로드 랩을 사용해 시뮬레이션된 요청률을 높이고, 시스템이 과잉 트래픽을 유연하게 거부하는 모습을 관찰하세요.
  6. 제로 비용의 엔드투엔드 흐름을 위해 로컬에서 npm run dev:e2e를 실행하세요. 이는 시뮬레이터와 결정론적 참조 에이전트를 http://127.0.0.1:4310/v1/respond에서 시작하며, aiCalls: 0을 보고합니다.

로컬에서 프로젝트 실행 방법

# 전제: Node 22+
git clone https://github.com/yvetteYSY/creator-agent.git
cd creator-agent
npm install
npm run dev          # React 시뮬레이터를 http://127.0.0.1:4173에서 시작
# 선택 사항: docs/AUTHENTICATION.md 및 docs/API.md에 따라 Auth0 + PostgreSQL 구성

기본 모드는 메모리 내 시뮬레이터를 사용하며, 네트워크 호출은 전혀 발생하지 않습니다.

계획된 로드맵 (리포지토리에 기술됨)

  1. 지속적 크리에이터 워크스페이스 – 세션 간에 에이전트와 소스를 완전히 지속화.
  2. 개인 비디오 인게스션 파이프라인 – 완전한 스캔, 트랜스크립션, 자동 청크화.
  3. 프로덕션 수준의 근거 기반 챗 – 벡터 임베딩(pgvector), 리트리ieval, 제공업체 중립적 생성.
  4. 모바일 앱 – Expo/React-Native 클라이언트, 할당량, 모더레이션, 감사 로그, 가시성.

기술 스택

  • 프론트엔드: React (Vite) + TypeScript, 모바일 대응 UI
  • API: Node.js + TypeScript (Fastify/NestJS 스타일), Auth0 JWT로 보호
  • 데이터베이스: PostgreSQL (임베딩용 pgvector 계획)
  • 스토리지: S3 호환 버킷 (프라이빗, 서명된 POST 정책)
  • 백그라운드 작업: Redis 기반 워커 큐 (격리 스캔, 정리 등)
  • CI: GitHub Actions (타입 체크, 테스트, 프로덕션 빌드, 종속성 감사)

누가 이 프로젝트에 도움이 될 수 있을까

  • 기존 미디어에 대화형 레이어를 실험하고 싶지만, 데이터에 대한 완전한 제어를 원하는 크리에이터.
  • 개인정보 중심 콘텐츠 인게스션, 테넌트 격리, 제로 비용 AI 없는 프로토타이핑의 참조 구현에 관심 있는 개발자.
  • "Bring-Your-Own-Model" 플랫폼을 구축 중이며, 사용자 쿼리를 외부 엔드포인트로 라우팅하는 깔끔한 계약이 필요한 팀.

위 모든 세부 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트