Claude에게 전용 라디오 방송국을 만들어줬더니, 멈추지 않고 방송 중입니다 (괜찮아요)
I Gave Claude Its Own Radio Station — It Won't Stop Broadcasting (It's Fine)
핵심 요약
Claude를 활용해 24시간 내내 대본 작성부터 진행까지 모든 콘텐츠를 생성하는 AI 라디오 방송국을 구축함.
- AI 라디오 방송국 — Claude가 5명의 개성 있는 호스트 대본과 뉴스 해석을 실시간으로 생성함.
- 기술 스택 구성 — Python, ffmpeg, Icecast, Kokoro TTS 등을 활용해 Mac Mini에서 구동함.
- 자동화 시스템 — 방송 일정과 음악 재생은 결정론적 알고리즘으로, 콘텐츠 생성은 AI로 분리함.
- Claude Code 활용 — 전체 코드베이스를 Claude Code와 페어 프로그래밍하여 개발함.
Claude가 전체 창의적 엔진 역할을 하는 WRIT-FM이라는 24/7 AI 라디오 방송국을 만들었습니다. 데모가 아니라, 실시간으로 모든 콘텐츠를 생성하며 계속 운영 중입니다.
Claude가 하는 일(전부 다):
Claude CLI (claude -p)가 방송에서 말하는 모든 단어를 작성합니다. 방송국에는 5명의 독특한 AI 호스트(심야 철학을 다루는 The Liminal Operator, 음악 역사를 다루는 Dr. Resonance, 야간 사색을 담당하는 Nyx, 뉴스 분석을 하는 Signal, 소울/펑크를 담당하는 Ember)가 있으며, 각자 고유한 목소리, 성격, 그리고 절대 하지 않을 말(anti-patterns)을 가지고 있습니다. Claude는 풍부한 페르소나 프롬프트와 방송 맥락을 전달받아 심층 분석, 가상 인터뷰, 패널 토론, 이야기, 청취자 사연, 음악 에세이를 위한 1,500~3,000단어 분량의 대본을 생성합니다. Kokoro TTS가 음성을 렌더링합니다. Claude는 실제 청취자 메시지를 처리하고 개인화된 방송 응답도 생성합니다.
주간 일정에 따라 8개의 서로 다른 프로그램이 있으며, Claude가 이 모든 것을 작성합니다. 호스트별로 어조, 주제, 말투를 조정합니다. 뉴스 프로그램은 실제 RSS 헤드라인을 가져오며, Claude는 이를 단순히 보도하는 대신 심야 방송의 시각으로 해석합니다.
AI 없이 자동화된 부분(휴리스틱):
방송 일정(어떤 프로그램이 언제 나갈지)은 순수한 시간대 조회 방식입니다. 스트리머는 토크 세그먼트와 AI 생성 음악 범퍼를 번갈아 가며 재생하고, 미리 생성된 풀에서 선택하며, 재생 기록을 통해 반복을 피하고, 실패 시 자동 재시작합니다. 데몬 스크립트가 인벤토리 수준을 모니터링하고 프로그램이 부족해지면 새로운 생성을 트리거합니다. AI가 언제 무엇을 재생할지 결정하지 않으며, 이는 모두 결정론적입니다.
Claude Code가 구축에 도움을 준 방법:
전체 코드베이스는 Claude Code로 개발되었습니다. writ CLI, 스트리밍 파이프라인, 다중 호스트 페르소나 시스템, 콘텐츠 생성기, 일정 파서 등 모든 것이 Claude Code와 페어 프로그래밍되었습니다.
기술 스택: Python, ffmpeg, Icecast, 대본용 Claude CLI, 음성용 Kokoro TTS, AI 음악 범퍼용 ACE-Step. Mac Mini에서 실행됩니다.
라디오: www.khaledeltokhy.com/claude-show
gh: https://github.com/keltokhy/writ-fm

