마케팅 자동화: Herald의 AI 콘텐츠 초안 작성 기능
요약
Herald는 GitHub 커밋을 기반으로 AI가 콘텐츠 초안을 작성하고, 이를 개발자가 검토 및 수정하여 다양한 플랫폼에 자동 발행하는 워크플로우를 제공합니다. FastAPI와 Celery 같은 백엔드 기술 스택과 React/Tailwind CSS로 구축되어, 인디 개발팀의 마케팅 병목 현상을 해결하는 데 중점을 둡니다.
핵심 포인트
- GitHub 웹훅을 통해 커밋 이벤트를 감지하고 콘텐츠 생성을 트리거합니다.
- FastAPI와 Celery를 사용하여 비동기적이고 안정적인 워크플로우를 구축했습니다.
- LLM(OpenAI, Anthropic 등)을 활용하여 기술 문서 기반의 초안 카피를 생성합니다.
- React UI에서 개발자가 직접 초안을 검토하고 편집할 수 있는 기능을 제공합니다.
기능 하이라이트: AI 기반 콘텐츠 초안 작성 및 발행
문제점
인디 개발자나 소규모 팀은 코드를 작성하는 속도보다 그에 대해 글을 쓰는 속도가 느립니다. 기능을 추가하거나, 버그를 수정하거나, 모듈을 리팩토링할 때마다의 커밋은 블로그 게시물이나 트윗의 소재가 될 수 있지만, 이 콘텐츠를 초안 작성하고, 승인하고, 예약하는 과정 자체가 병목 현상을 일으킵니다. 전담 마케터가 없다면 팀들은 카피라이팅, 포맷팅, 발행에 몇 시간을 낭비하며, 종종 출시가 가장 관련성이 높은 시기를 놓치게 됩니다.
아키텍처 개요
Herald는 다음 요소들을 결합하여 이 문제를 해결합니다:
- 경량의 비동기 API 인터페이스를 위한 FastAPI,
- 리포지토리 메타데이터 및 초안을 영구 저장하기 위한 SQLAlchemy,
- 콘텐츠 생성 및 발행을 위한 백그라운드 작업을 실행하는 Redis 브로커가 있는 Celery,
- 콘텐츠 캘린더와 초안 상태를 보여주는 반응형 UI를 위한 React + Vite + Tailwind CSS.
핵심 워크플로우는 다음과 같습니다:
- GitHub 웹훅이
push이벤트를 전송합니다. - FastAPI가 페이로드를 수신하고, 이를 저장한 다음, Celery 작업을 예약합니다.
- 해당 작업은 LLM 제공업체(OpenAI, Anthropic 등)를 사용하여 초안 카피를 생성합니다.
- 초안은 PostgreSQL에 저장되고 개발자에게 표시됩니다.
- 개발자는 브라우저에서 초안을 검토하고 편집합니다.
- 승인되면, 또 다른 Celery 작업이 해당 API(Dev.to, Medium 등)를 통해 선택된 플랫폼에 발행합니다.
- 분석 데이터가 수집되어 콘텐츠 캘린더에 피드백됩니다.
상세 워크플로우
1. 웹훅 리시버
# app/main.py
from fastapi import FastAPI, Request
from models import Repository, Commit
...
이 엔드포인트는 페이로드를 검증하고, 커밋을 영구 저장하며, 백그라운드 작업을 트리거합니다.
2. 콘텐츠 생성 작업
# app/tasks.py
from celery import shared_task
from llm import generate_draft
...
generate_draft는 제공업체에 구애받지 않는(provider-agnostic) 래퍼를 통해 선택된 LLM을 호출합니다. 프롬프트는 전체 게시물로 확장될 수 있는 짧고 매력적인 서론을 생성하도록 조정되었습니다.
3. 프론트엔드 초안 검토
UI는 React로 구축되었고 Tailwind CSS를 사용하여 스타일링했습니다. 간단한 텍스트 영역(textarea)을 통해 개발자는 LLM 출력을 게시하기 전에 수정할 수 있습니다.
4. 발행 작업 (Publishing Task)
# app/tasks.py
@shared_task
def publish_to_devto(draft_id):
...
이 작업은 Dev.to API를 사용하여 기사를 발행합니다. Medium 및 기타 플랫폼을 위한 유사한 작업도 존재합니다.
성능 및 안정성 (Performance & Reliability)
- 복합 인덱스 (Composite Index):
(commit_id, status)에 대한 복합 인덱스는 커밋별 최신 초안 조회 속도를 높여줍니다. - 쿼리 투영 (Query Projection):
overview()엔드포인트는 이제 콘텐츠 캘린더에 필요한 열만 선택하여 페이로드 크기를 줄입니다. - 오류 처리 (Error Handling): 개선된 오류 메시지에는 깊이 및 크기 제한이 포함되어, 개발자가 재전송 전에 페이로드를 수정하도록 안내합니다.
- 재시도 가드 (Retry Guard):
retry_publication은 이미PUBLISHING상태인 경우 다시 실행되는 것을 방지하여 중복 게시를 막습니다.
사용자 경험 (User Experience)
d대시보드에서 콘텐츠 캘린더는 각 커밋을 Draft, Approved, Publishing, _Published_와 같은 상태 배지가 붙은 카드로 보여줍니다. 카드를 클릭하면 DraftEditor 컴포넌트가 열립니다. 승인 후 사용자가 “게시 (Publish)”를 클릭하면 Celery 작업이 트리거됩니다. 게시가 완료되면 라이브 기사 링크가 나타나고 분석 카운터가 실시간으로 업데이트됩니다.
결론 (Conclusion)
Herald의 AI 기반 초안 작성 기능은 모든 의미 있는 커밋을 수동적인 카피라이팅 없이도 발행 가능한 콘텐츠로 변환합니다. FastAPI, Celery, 그리고 Dev.to API를 활용함으로써, 개발자의 워크플로우에 자연스럽게 통합되는 원활한 마케팅 자동화 흐름을 제공합니다.
이 기능 소개는 Herald 리포지토리의 최신 커밋 기록을 기반으로 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기