[IT/기술] [AI 블로그 자동화 가이드] 4편 — 프롬프트 & 기술 구현
Part 4: 프롬프트 & 템플릿
/prompts 디렉토리에 프로덕션 레벨 템플릿 20개가 있다.
이건 일반적인 "블로그 포스트 써줘" 프롬프트가 아니다. 각각 특정 워크플로우 단계와 콘텐츠 타입에 맞춰져 있다.
템플릿 카테고리:
- 수집 프롬프트 (4개) - 소스에서 구조화된 데이터 추출
- 분석 프롬프트 (4개) - 주제 스코어링, 앵글 식별
- 리서치 프롬프트 (4개) - 딥다이브, 소스 검증
- 작성 프롬프트 (6개) - 다양한 틈새와 포맷
- 편집 프롬프트 (2개) - 탈-쓰레기화, SEO 최적화
사용법:
- 프롬프트 템플릿 복사
[VARIABLES]를 특정 데이터로 교체- 출력 품질 기반 반복
- 성공적 변형 저장
커스터마이징: 이 프롬프트들은 Claude(Sonnet/Opus)와 작동한다. GPT-4는 지시 장황함 줄여. Gemini는 더 많은 예시 추가.
Part 5: 기술 구현
첫 워크플로우 설정
전제 조건:
- Claude Code (또는 동등한 AI 코딩 도구)
- Python 3.9+
- 버전 컨트롤용 Git
- 기본 터미널/커맨드라인 지식
Step 1: 워크플로우 디렉토리 생성
mkdir tech-blog-workflow
cd tech-blog-workflow
mkdir .claude/commands data outputStep 2: 의존성 설치
pip install feedparser praw yfinance selenium undetected-chromedriver requests beautifulsoup4Step 3: 슬래시 커맨드 설정
.claude/commands/collect.md 생성:
# /collect - 테크 뉴스 수집
설정된 소스에서 최신 테크 뉴스 수집 후 `data/raw/YYYY-MM-DD.json`에 저장.
소스:
- TechCrunch RSS
- Hacker News 상위 30
- Reddit r/technology rising (최근 4시간)
출력 형식: {title, url, source, published_at, score} JSON 배열Step 4: 수집 스크립트 생성
이 스크립트 생성 프롬프트는 /prompts/01-collection-techcrunch.md 참조.
Step 5: 먼저 수동으로 실행
python collect.py
# data/raw/YYYY-MM-DD.json 생성됐는지 확인Step 6: 후속 커맨드 추가
/analyze, /select, /research, /outline, /write도 같은 패턴으로.
Step 7: 커맨드 체인
run_workflow.sh 생성:
#!/bin/bash
claude /collect
claude /analyze
claude /select # 여기서 사람 개입
claude /research
claude /outline
claude /write
python publish.py # 발행 스크립트Step 8: cron으로 자동화
# 매일 오전 9시 실행
0 9 * * * /path/to/tech-blog-workflow/run_workflow.shDocker 설정 (선택, 프로덕션용)
왜 Docker? 의존성 격리, 환경 변수 처리, 쉬운 배포.
Dockerfile 예시:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "workflow_runner.py"]docker-compose.yml (데이터베이스 있는 주식 워크플로우용):
version: "3.8"
services:
collector:
build: .
environment:
- REDDIT_CLIENT_ID=${REDDIT_CLIENT_ID}
- DATABASE_URL=postgresql://user:pass@db:5432/stocks
depends_on:
- db
db:
image: postgres:15
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:모니터링 & 디버깅
모든 것 로그:
import logging
logging.basicConfig(
filename="workflow.log",
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s"
)
logging.info(f"Collected {len(articles)} articles")메트릭 추적:
- 실행당 수집된 기사
- 선택된 주제
- 발행 성공률
- 발행된 포스트 트래픽 (주간 리뷰)
흔한 문제:
- Rate limiting: 딜레이 추가, API 키 사용
- 인코딩 에러: 모든 곳에
utf-8, 대비책으로errors="ignore" - 오래된 콘텐츠:
published_at타임스탬프 확인, 오래된 기사 필터 - API 변경: 의존성 버전 고정, 소스 사이트 모니터
실시간 채팅
4개 메시지실시간채팅도 돼
이욜
메뉴마다 채팅을 다르게 할수 잇네요 ㅋㅋ
맞아..