y-life.kr / 작가와 기자 / 자동화 설계서 ← 일람
v0.1 · system design

매일 자동 발행 시스템 설계서

AI 작가 3명·AI 기자 10명이 매일 한 편의 신뢰 가능한 칼럼을 발행하기 위한 흐름.
진짜 뉴스 스크랩 + Gemini API 칼럼 생성(2,500자) + 이미지 자동 폴백 + 사람 검수.

2026-05-18 · 연라이프 · 설계 단계 (실 구현은 v6 안정 후)

1 · 설계 목표

매일 AI 작가 3편 + AI 기자 10편 = 총 13편의 칼럼을 정해진 시각에 발행한다. 모든 글은:

2 · 전체 흐름 (8 단계)

1
스케줄러 — Cloudflare Cron (또는 GitHub Actions cron). 매일 새벽 02:00 KST 트리거.
2
스크랩 — 각 페르소나 RSS 화이트리스트에서 지난 24시간 기사 20~50건 수집.
3
큐레이션 — Gemini 가 페르소나 관심·문체에 맞는 기사 3–5건 선별. 중요도·신뢰도 채점.
4
본문 생성 — Gemini 가 페르소나 프롬프트로 2,500자 칼럼 1편 작성. 인용·출처 자동 삽입.
5
이미지 — 원본 OG 이미지 시도 → 라이선스 확인 → 실패 시 Gemini Imagen 으로 추상 이미지 생성.
6
검수 큐 — Firestore articles_pending/ 컬렉션에 저장. 관리자 대시보드 알림.
7
승인 — 연소사 (또는 위임 관리자) 가 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
환경기상청 · 환경부 · 한겨레21NOAA · Carbon Brief
교육교육부 · KEDI · EBSi · 에듀프레스
의료질병관리청 · 대한의학회NEJM · Lancet · BMJ
울산경상일보 · 울산매일 · 울산저널 · KBS울산

수집 방식

저작권 원칙 — 기사 원문은 인용 단위(2~3문장)만 사용한다. 본문 전체 복제는 절대 하지 않으며, 모든 인용에 원문 보기 링크를 표시한다. 사진은 매체의 라이선스가 명시된 경우에만 사용 (대부분 직접 사용 금지) → 자동 이미지 폴백.

4 · Gemini API 칼럼 생성

당분간 gemini-2.5-pro 또는 gemini-2.5-flash 를 사용. 한국어 본문 품질·비용을 함께 고려해 페르소나별 등급을 다르게 설정.

모델용도가격(추정)비고
gemini-2.5-proAI 작가 3명 (산문)입력 $1.25 / 출력 $5 per 1M tok품질 우선
gemini-2.5-flashAI 기자 10명 (해설)입력 $0.15 / 출력 $0.60 per 1M tok대량 작업
gemini-2.5-flash큐레이션·채점위와 동일분류·요약·점수

칼럼 1편당 토큰 예상

시스템 프롬프트 구조 (페르소나별 슬롯)

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}}

품질 가드

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” 형태. 정치인·종교 지도자·의료 인물 묘사 금지.

비용

6 · 사람 검수 큐 (반드시 거침)

자동으로 발행하지 않는다. 모든 글은 Firebase Firestore articles_pending/ 컬렉션에 저장된 뒤, 통합 관리 대시보드에 알림이 뜬다.

검수 항목 (체크리스트)

  1. 분야와 페르소나 톤이 맞는가
  2. 인용된 매체 링크가 실제 작동하는가 (자동 검증 결과 표시)
  3. 사실 단정·편향이 없는가 (특히 정치·의료)
  4. “AI 작성” 라벨이 표시되어 있는가
  5. 이미지가 적절한가 (사람 얼굴·민감 장면 없음)
  6. 본문 길이가 2,500자 ± 200 범위 안인가

처리

안전장치 — 검수 큐에 24시간 이상 머문 글은 자동 발행되지 않고 자동 폐기된다. 휴가·부재 시 사이트가 잠시 조용해질 뿐, 잘못된 글이 나가는 일은 없다.

7 · 발행·아카이브·전체 색인

승인된 글은 페르소나마다 정해진 시각에 자동 발행된다 (페르소나 카드의 cadence 참조).

발행 동선

  1. 정적 HTML 생성 (블로그_페르소나_칼럼.html 의 데이터 슬롯에 주입)
  2. RSS 피드 갱신 (/rss/{slug}.xml)
  3. 이메일 구독자 알림 (Resend · SendGrid 등 사용 검토)
  4. SNS 카드 자동 생성 (OG 이미지) — 페이스북·X·카카오 채널 자리 잡기
  5. 광장 생각의 지도에 새 노드 자동 추가 (작가/기자별 색)

아카이브·색인

8 · 비용·안전장치

항목단가일 사용월 합계
Gemini 본문 (Flash · 기자 10)$0.002110편약 850원
Gemini 본문 (Pro · 작가 3)$0.0173편약 2,100원
Gemini 큐레이션·요약13페르소나약 600원
Imagen 이미지 폴백$0.02평균 2–3장약 1,500원
OG·RSS·이메일 송출무료/저렴
월 합계약 5,000–9,000원

안전장치

9 · 실행 환경

YUV 3.2 표준 부합. 본인 컴퓨터를 켜둘 필요 없는 클라우드 구성.

옵션 A — Cloudflare 단일 (권장)

옵션 B — GitHub Actions + 외부 DB

키 관리 — 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 · 위험·윤리·면책

최종 책임 — AI 페르소나의 글에 대한 최종 편집 책임은 연소사(편집인)에게 있다. 자동 발행이라는 표현은 운영의 자동화를 의미하지만, 검수 없이는 어떤 글도 발행되지 않는다.