AI로 웃긴 챌린지 만들기
AI 모델을 활용해 재미있는 프롬프트에 대한 응답을 생성하는 게임 아이디어를 소개함
CLI, 웹 UI, 트위치 스트리밍 등 다양한 구현 방식을 시도하며 기술적 난관을 극복함
FFmpeg와 웹소켓을 이용한 실시간 스트리밍 구현 및 프롬프트 엔지니어링의 중요성을 강조함
AI 환각(Hallucination)을 유발하는 프롬프트와 그에 대한 모델의 반응을 분석함
AI 모델 기반 프롬프트 챌린지 구현
영상에서는 두 개의 AI 모델이 하나의 프롬프트를 받아 재미있는 응답을 생성하는 게임 방식을 설명합니다. 초기에는 CLI 기반으로 프로토타이핑했으나, 웹 UI와 트위치 스트리밍 연동을 통해 사용자 참여를 확대하는 방향으로 발전시켰습니다. 이는 AI 생성 콘텐츠(AI-generated content)를 활용한 인터랙티브 엔터테인먼트(Interactive Entertainment)의 가능성을 보여줍니다.
프롬프트 엔지니어링과 무작위성 확보
초기 프롬프트 세트가 반복적인 결과를 초래하는 문제를 해결하기 위해, 870개 이상의 다양한 프롬프트를 수집하고 무작위로 선택하여 모델의 창의성을 높였습니다. 또한, 매번 다른 시스템 프롬프트를 제공하여 각 모델이 고유한 응답을 생성하도록 유도하는 프롬프트 엔지니어링(Prompt Engineering) 기법을 적용했습니다. 이는 AI 환각(Hallucination)을 유발하는 재미있는 결과 도출에 기여합니다.
실시간 스트리밍을 위한 기술 스택
트위치 스트리밍을 위해 FFmpeg와 웹소켓을 활용한 복잡한 파이프라인을 구축했습니다. 브라우저 내에서 렌더링된 캔버스를 실시간으로 캡처하고, 이를 FFmpeg를 통해 인코딩하여 트위치로 스트리밍하는 과정을 상세히 설명합니다. 미디어 레코더 API와 웹소켓 통신을 결합하여 실시간 비디오 스트리밍(Real-time Video Streaming)을 구현하는 기술적 도전 과제를 다룹니다.
웹 UI 개발 및 IP 주소 스푸핑 문제 해결
초기 웹 UI는 단순한 웹소켓 서버로 구현되었으나, IP 주소 스푸핑 문제로 인해 트위치 연동으로 전환했습니다. 사용자의 투표를 실시간으로 반영하고 IP 주소 스푸핑을 방지하기 위해 트위치 API를 활용했으며, 이는 분산 시스템(Distributed System)에서의 인증 및 보안(Authentication and Security) 문제 해결의 중요성을 시사합니다.
FFmpeg 활용 및 브라우저 렌더링
영상에서는 FFmpeg를 사용하여 브라우저에서 렌더링된 캔버스 프레임을 실시간으로 스트리밍하는 방법을 설명합니다. 미디어 레코더 API를 통해 캡처된 데이터를 FFmpeg로 파이프하고, 이를 웹소켓으로 전송하여 트위치로 송출하는 복잡한 과정을 보여줍니다. 이는 클라이언트 측 렌더링(Client-side Rendering)과 실시간 미디어 처리(Real-time Media Processing) 기술의 결합을 보여주는 사례입니다.