승인 — 연소사 (또는 위임 관리자) 가 30분 안에 한 번 훑고 ✓. 거부 시 자동 폐기 + 사유 메모.
↓
8
발행 — 페르소나 정해진 시각(06:30–13:30)에 자동 발행. 사이트·RSS·이메일 구독·SNS 카드 동시 송출.
3 · 진짜 뉴스 스크랩 — RSS 화이트리스트
가짜 글이 아닌 진짜 보도된 기사만 출처로 사용한다. 페르소나별로 신뢰 가능한 매체를 미리 등록한다 (페르소나 데이터의 sources 배열).
분야
국내
해외
사회
연합뉴스 · 한겨레 · 동아일보 · KBS
—
정치
연합 · 한겨레 · 조선 · 중앙 · 한국
—
국제
연합
Reuters · AP · AFP · BBC · Le Monde
경제
한국경제 · 매일경제 · 연합인포맥스
Bloomberg · FT
문화
씨네21 · 아트인사이트 · 월간미술
—
과학
동아사이언스
Nature News · Science · arXiv · IEEE
환경
기상청 · 환경부 · 한겨레21
NOAA · Carbon Brief
교육
교육부 · KEDI · EBSi · 에듀프레스
—
의료
질병관리청 · 대한의학회
NEJM · Lancet · BMJ
울산
경상일보 · 울산매일 · 울산저널 · KBS울산
—
수집 방식
매체별 공식 RSS(/rss, /feed) 또는 sitemap 우선
해외 매체는 NewsAPI 또는 매체 자체 RSS 사용
중복 제거 (URL 정규화 + 제목 유사도 0.85 이상은 한 묶음으로)
지난 24시간 + 페르소나 관심 키워드 매칭 점수 ≥ 0.6 만 다음 단계로
저작권 원칙 — 기사 원문은 인용 단위(2~3문장)만 사용한다. 본문 전체 복제는 절대 하지 않으며, 모든 인용에 원문 보기 링크를 표시한다. 사진은 매체의 라이선스가 명시된 경우에만 사용 (대부분 직접 사용 금지) → 자동 이미지 폴백.
4 · Gemini API 칼럼 생성
당분간 gemini-2.5-pro 또는 gemini-2.5-flash 를 사용. 한국어 본문 품질·비용을 함께 고려해 페르소나별 등급을 다르게 설정.
모델
용도
가격(추정)
비고
gemini-2.5-pro
AI 작가 3명 (산문)
입력 $1.25 / 출력 $5 per 1M tok
품질 우선
gemini-2.5-flash
AI 기자 10명 (해설)
입력 $0.15 / 출력 $0.60 per 1M tok
대량 작업
gemini-2.5-flash
큐레이션·채점
위와 동일
분류·요약·점수
칼럼 1편당 토큰 예상
입력 ≈ 3,500 토큰 (시스템 프롬프트 + 기사 5건 발췌 + 페르소나 카드)
출력 ≈ 2,500 토큰 (2,500자 ± 200)
비용: Flash 기준 약 $0.0021/편 (≈ 3원) · Pro 기준 약 $0.0169/편 (≈ 22원)
일 13편 × 30일 = 월 약 2,800원 ~ 8,500원 (페르소나 등급 혼합)
시스템 프롬프트 구조 (페르소나별 슬롯)
You are {{persona.name}} ({{persona.role}}, {{persona.field}}).
Voice: {{persona.voice}}
Focus: {{persona.focus.join(', ')}}
Today's date: {{date}}
Mission:
- Write one Korean column of about 2,500 characters (±200).
- Use 2~3 H2 subheads, 1 H3, one blockquote with cite, one "pullquote" sentence.
- Cite 2~3 real news sources from the provided list. Quote at most 2~3 sentences each, with permalink.
- Never claim facts you cannot trace to a source.
- NEVER produce libelous content about real, named persons.
- Avoid "X-not-Y" rhetorical frames (per 연라이프 카피 원칙).
- End with a question that opens the reader's thinking.
- Output JSON: { "title", "kicker", "subtitle", "body_html", "pullquote", "sources":[{title,url}], "tags":[…] }
Sources you may cite (and ONLY these):
{{#sources}} - {{title}} ({{url}}) {{/sources}}
Today's curated headlines (already filtered for relevance):
{{#headlines}} - {{title}} | {{outlet}} | {{date}} | {{summary}} {{/headlines}}
품질 가드
출력 JSON 검증 → 누락 필드 시 1회 재시도
자동 길이 체크 (2,300~2,700자)
금지어 사전 (선정성·정치 편향·의료 단정) 충돌 시 검수 큐로 자동 라우팅
인용 URL 이 실제 응답 200 인지 HEAD 요청으로 확인
5 · 이미지 자동 처리
모든 칼럼은 대표 이미지 1장이 포함되어야 한다. 다음 순서로 시도한다.
A
OG 이미지 시도 — 인용한 첫 번째 매체의 og:image. 라이선스가 “인용·공정사용” 범주이고 매체 자체에서 직접 임베딩 허용한 경우만.
↓ 실패
B
무료 이미지 라이브러리 — Unsplash · Pexels API 에서 분야 키워드로 검색.
↓ 실패
C
Gemini Imagen 자동 생성 — “추상적·은유적·중립적” 프롬프트로 자체 생성. 사람 얼굴 생성 금지.
↓ 실패
D
SVG 폴백 — 페르소나 색조의 추상 도형(원·선·점). 자동 생성 SVG 한 장. 늘 성공.
Imagen 프롬프트 원칙 — “photo of …”, “portrait of …” 등은 절대 사용하지 않는다. 항상 “gentle abstract illustration of …, soft paper tones, no people, no text” 형태. 정치인·종교 지도자·의료 인물 묘사 금지.
비용
OG/Unsplash/Pexels: 무료
Imagen: 이미지 1장 약 $0.02 — 일 평균 2–3장만 폴백 사용 시 월 1,200~1,800원
6 · 사람 검수 큐 (반드시 거침)
자동으로 발행하지 않는다. 모든 글은 Firebase Firestore articles_pending/ 컬렉션에 저장된 뒤, 통합 관리 대시보드에 알림이 뜬다.
검수 항목 (체크리스트)
분야와 페르소나 톤이 맞는가
인용된 매체 링크가 실제 작동하는가 (자동 검증 결과 표시)
사실 단정·편향이 없는가 (특히 정치·의료)
“AI 작성” 라벨이 표시되어 있는가
이미지가 적절한가 (사람 얼굴·민감 장면 없음)
본문 길이가 2,500자 ± 200 범위 안인가
처리
승인 → articles_published/{slug}/{post-id} 로 이동, 발행 시각 큐에 등록
수정 요청 → 사유 메모 → Gemini 재생성 (한 번까지)
폐기 → 사유 메모, 페르소나의 그날 발행은 한 번 건너뜀
안전장치 — 검수 큐에 24시간 이상 머문 글은 자동 발행되지 않고 자동 폐기된다. 휴가·부재 시 사이트가 잠시 조용해질 뿐, 잘못된 글이 나가는 일은 없다.
7 · 발행·아카이브·전체 색인
승인된 글은 페르소나마다 정해진 시각에 자동 발행된다 (페르소나 카드의 cadence 참조).
발행 동선
정적 HTML 생성 (블로그_페르소나_칼럼.html 의 데이터 슬롯에 주입)
RSS 피드 갱신 (/rss/{slug}.xml)
이메일 구독자 알림 (Resend · SendGrid 등 사용 검토)
SNS 카드 자동 생성 (OG 이미지) — 페이스북·X·카카오 채널 자리 잡기
광장 생각의 지도에 새 노드 자동 추가 (작가/기자별 색)
아카이브·색인
월별 색인 페이지 자동 생성 (/archive/{slug}/{YYYY-MM}.html)
주제 태그 페이지 자동 생성
전체 사이트 sitemap.xml 자동 갱신
매월 1일 → 페르소나별 “월간 e-book” 자동 묶음 (PDF · EPUB · MOBI) — 상점 페이지에 자동 등록
8 · 비용·안전장치
항목
단가
일 사용
월 합계
Gemini 본문 (Flash · 기자 10)
$0.0021
10편
약 850원
Gemini 본문 (Pro · 작가 3)
$0.017
3편
약 2,100원
Gemini 큐레이션·요약
—
13페르소나
약 600원
Imagen 이미지 폴백
$0.02
평균 2–3장
약 1,500원
OG·RSS·이메일 송출
—
—
무료/저렴
월 합계
—
—
약 5,000–9,000원
안전장치
Google AI Studio 월 한도 $20 설정 (한도 도달 시 자동 정지)
자체 예산 한도 30,000원 — 70% 도달 시 이메일, 100% 도달 시 자동 정지
이상 호출(10분에 100건 초과) 자동 일시 정지
API 키는 Cloudflare Workers 환경 변수에 보관 (클라이언트 노출 금지)
9 · 실행 환경
YUV 3.2 표준 부합. 본인 컴퓨터를 켜둘 필요 없는 클라우드 구성.
옵션 A — Cloudflare 단일 (권장)
Cloudflare Cron Triggers — 매일 02:00 KST 자동 실행
Cloudflare Workers — 스크랩·Gemini 호출 함수
Cloudflare R2 — 이미지 저장
Cloudflare D1 또는 Firestore — 글·검수 큐 DB
Cloudflare Pages — 정적 사이트 호스팅 (현재 GH Pages 에서 마이그레이션 예정)
옵션 B — GitHub Actions + 외부 DB
GitHub Actions cron — 동일 시각 트리거
Workers/Lambda 없이 Actions 안에서 모두 처리
이미지는 GitHub 저장소 또는 R2 로 push
장점: 비용 0원에 가까움 · 단점: 시간 제약(60분) · 큰 작업은 분할 필요
키 관리 — Gemini API 키는 Cloudflare Workers 환경 변수 또는 GitHub Actions Secrets 에만 둔다. 사이트 정적 자산에 절대 노출하지 않는다.
10 · 단계별 로드맵 (4주)
주차
작업
산출물
예상 비용
1주차
Gemini API 키 발급 · 월 한도 설정 · Cloudflare 가입 · Workers 1차 셋업
키 보관 · 비용 모니터링 패널 가동
0원
2주차
RSS 스크랩·중복 제거·페르소나 매칭 점수
매일 새벽 12~30건 큐레이션 산출
≈ 500원
3주차
본문 생성·이미지 폴백·검수 큐 (Firestore)
매일 13편 후보가 검수 큐로 도착
≈ 3,000원
4주차
발행·RSS·이메일·SNS 카드·아카이브
실제 발행 시작 · 월간 e-book 자동 묶음 1회 확인
≈ 5,000원
11 · 위험·윤리·면책
저작권 — 인용은 2~3문장으로 한정, 원문 링크 의무. 매체별 인용 정책 자동 점검.
편향 — 정치 페르소나는 한 사건당 최소 3개 매체 인용 의무.
의료·법률·금융 — 진단·처방·법률 조언·매매 권유 절대 금지. 전문가 상담 권고 문구 자동 삽입.
실명 비방 — 실명 인물의 부정적 단정 금지. 공인의 공적 행위에 대한 비평은 출처 기반으로만.
아동 안전 — 미성년 관련 사건은 익명 처리만 인용. 사진 사용 금지.
AI 표기 — “AI 작성” 라벨 노출. 칼럼 끝 면책 문구 자동 삽입.
광고·이해 충돌 — 페르소나가 광고주의 상품을 직접 추천하지 않는다 (편집·광고 분리).
최종 책임 — AI 페르소나의 글에 대한 최종 편집 책임은 연소사(편집인)에게 있다. 자동 발행이라는 표현은 운영의 자동화를 의미하지만, 검수 없이는 어떤 글도 발행되지 않는다.