처음 팟캐스트를 녹음하기 시작했을 때, 저는 창작 과정에 완전히 매료되었습니다. 주제를 조사하고, 게스트와 대화하며, 오디오를 편집하는 모든 과정은 엄청나게 보람찼습니다. 하지만 녹음이 끝나자마자 제 열정은 벽에 부딪혔습니다. 빈 텍스트 에디터를 바라보며, 쇼 노트(show notes)를 작성하고, 에피소드 설명을 만들고, 제목을 브레인스토밍하는 데 몇 시간을 써야 한다는 사실이 두려웠습니다.
저는 몇 가지 일반적인 AI 작문 도구를 사용해 보았지만, 결과물은 항상 단절된 느낌이었습니다. 그들은 팟캐스트 포맷팅의 미묘한 차이를 이해하지 못했고, 제목은 마치 10년 전의 클릭베이트(clickbait)처럼 들렸습니다. 저는 AI의 실수를 고치는 데 시간을 쓰는 것이, 제가 직접 작성하는 것보다 더 많은 시간이 걸린다는 것을 깨달았습니다.
그래서 무언가를 만들기로 결정했습니다. 가장 큰 마찰을 느꼈던 부분부터 시작하여, 팟캐스팅 워크플로우를 위해 특별히 설계된 도구 모음을 만들고 싶었습니다.
문제점
포스트 프로덕션 관리(post-production admin)의 문제는 단순히 지루하다는 것이 아닙니다. 그것은 성장의 핵심 병목 현상(bottleneck)이기 때문입니다. 상세한 쇼 노트 작성이나 매력적인 제목을 만드는 것을 건너뛰면, 단지 한 시간을 절약하는 것 이상을 놓치는 것입니다. 여러분은 발견 가능성(discoverability) 자체를 해치고 있는 것입니다.
팟캐스트 플랫폼은 검색과 추천에 크게 의존합니다. 에피소드 설명에 적절한 키워드가 없거나, 제목이 호기심 격차(curiosity gap)를 만들지 못하면, 청취자들은 그냥 스크롤을 지나가 버릴 것입니다. 이 관리 작업을 무시하는 대가는 잠재적인 청중에게 도달하지 못하고 정체되는 팟캐스트입니다.
하지만 문제는 이것입니다. 팟캐스터는 보통 작가(copywriter)가 아니라 창작자들입니다. 우리는 멋진 오디오를 만드는 데 시간을 쓰고 싶지, SEO 최적화된 요약문을 작성하는 데 시간을 쓰고 싶지 않습니다. 일반적인 대규모 언어 모델(large language models)은 텍스트를 쓸 수는 있지만, 팟캐스트 에피소드의 특정한 맥락을 갖추고 있지 못합니다. 그들은 타임스탬프(timestamps)를 자연스럽게 추출하는 방법을 모르고, 쇼 노트 템플릿을 포맷팅하는 방법을 이해하지 못하며, 로봇처럼 들리지 않으면서 특정 브랜드 톤에 맞는 제목을 생성하는 데 어려움을 겪습니다.
이 문제를 해결하기 위해 저는 PodCrisp를 만들기 시작했습니다. 초기 아키텍처는 표준 모놀리식 백엔드였지만, 긴 트랜스크립트를 처리할 때 지연 시간(latency)과 비용 문제에 빠르게 직면했습니다. 저는 예산이 무너지지 않으면서 사용자에게 더 가까운 곳에서 AI 추론(inference)을 실행할 방법이 필요했습니다.
이것이 저를 Cloudflare Workers로 이끌었습니다. 무거운 작업을 엣지(edge)로 옮기는 것은 사용자 경험에 혁신적이었지만, 학습 곡선(learning curve)이 따랐습니다.
저의 가장 큰 초기 실수 중 하나는 프롬프트 과잉 설계(over-engineering my prompts)였습니다. 저는 AI에게 가능한 모든 지침을 주면 완벽한 결과를 얻을 것이라고 생각했습니다. 하지만 현실은 모델을 혼란스럽게 만들 뿐이었습니다. 저는 간결하고 규칙 기반의 프롬프트를 작성하는 방법을 배워야 했습니다.
예를 들어, 제목 생성기(title generator)를 만들 때, 모호한 요청보다 엄격한 제약 조건을 설정하는 것이 훨씬 효과적이라는 것을 알았습니다. 제가 결국 정착한 프롬프트 구조는 다음과 같습니다:
// 팟캐스트 제목 생성을 위한 프롬프트 엔지니어링
function buildTitlePrompt(topic, tone, count) {
return {
...
클릭베이트를 명시적으로 금지하고 단어 수를 강제함으로써 출력 품질이 극적으로 향상되었습니다.
또 다른 주요 난관은 쇼 노트 생성기(show notes generator)였습니다. 트랜스크립트는 지저분합니다. 필러 워드, 중단, 장황한 생각이 포함되어 있습니다. 저의 첫 번째 시도는 원본 트랜스크립트를 AI에 그대로 쏟아붓는 것이었고, 그 결과 혼란스럽고 구조화되지 않은 노트가 나왔습니다.
저는 구조화된 파이프라인(structured pipeline)이 필요하다는 것을 깨달았습니다. 저는 지저분한 트랜스크립트를 받아 AI에게 엄격한 마크다운 구조로 출력하도록 강제하는 Cloudflare Worker를 구축했습니다.
// 쇼 노트 생성 파이프라인 (Cloudflare Workers + AI)
export default {
async fetch(request, env) {
...
이를 Cloudflare의 AI 모델을 사용하여 엣지에서 직접 실행함으로써 복잡한 GPU 인프라를 관리할 필요가 없었습니다. 추론은 빠르게 일어나고, 구조화된 시스템 프롬프트(system prompt)는 출력이 항상 CMS에 복사하여 붙여넣기 할 수 있는 상태임을 보장합니다.
실질적인 결과
돌이켜보면, 엣지 컴퓨팅(edge computing)으로 전환한 것이 제가 내린 가장 영향력 있는 기술적 결정이었습니다. 이는 인프라 비용을 예측 가능하게 유지해 주었고 애플리케이션이 믿기지 않을 만큼 빠릿하게 느껴지도록 만들었습니다.
하지만 저를 가장 놀라게 한 것은 제목 생성기의 '스타일 옵션(style options)'이 얼마나 중요한가 하는 점이었습니다. 저는 처음에 사용자들이 그저 좋은 제목이라면 무엇이든 원한다고 생각했습니다. 하지만 사용자들에게 '교육적(educational)', '대화체(conversational)', 또는 '도발적인(provocative)' 톤 사이를 전환할 수 있는 기능을 제공하자, 이 도구가 다양한 유형의 쇼에 실제로 유용해졌습니다. 실제 범죄 팟캐스트가 B2B 마케팅 쇼와는 매우 다른 제목을 필요로 하기 때문입니다.
만약 다시 시작한다면, 저는 트랜스크립트 업로드에 대한 사용자 인터페이스 접근 방식을 바꿀 것입니다. AI 출력 형식(AI output formatting)을 다듬는 데 몇 주를 보냈지만, 브라우저에서 대용량 텍스트 파일을 업로드하는 것이 번거로울 수 있다는 사실을 간과했습니다. 첫날부터 더 부드러운 청크 단위 업로드 경험(chunked-upload experience)을 구축하는 데 시간을 더 투자했을 것입니다.
또한 에피소드 스크립트 개요 생성기(episode script outline generator)를 만드는 것은 쇼 노트(show notes)를 작성하는 것과는 다른 사고방식이 필요하다는 것을 배웠습니다. 개요는 미래 지향적이고 구조적인 반면, 노트는 과거를 되돌아보며 요약하는 성격입니다. 이 둘을 같은 프롬프트 작업으로 취급한 것은 몇 번의 반복(iterations) 끝에 수정해야 했던 실수였습니다.
마무리하며
이러한 도구들을 구축하면서 저 자신의 팟캐스트 관리 방식 자체가 완전히 바뀌었고, 이를 커뮤니티와 공유할 수 있게 되어 기쁩니다. 만약 현재 다음 에피소드 제목을 정하는 데 어려움을 겪고 계시다면, 브레인스토밍에 도움을 줄 무료 팟캐스트 제목 생성기(Podcast Title Generator)를 준비했습니다. 이 도구는 제가 위에서 언급한 정확한 프롬프트 엔지니어링(prompt engineering) 기법을 사용하며, 계정을 만들 필요 없이 테스트해 볼 수 있습니다.
무료 제목 생성기는 여기에서 시도할 수 있습니다: [https://podcrisp.com/free-tools/title-generator]
전체 공개합니다: 저는 PodCrisp의 개발자입니다. 제가 직접 필요해서 이 도구를 만들었습니다.