← 프로젝트
개발 중2026.08 – 현재·기획 · 설계 · 개발 · 운영

AI 뉴스 데스크

AI News Desk

보도국 데스크의 아침을 돕는 어시스턴트. 포털·방송·통신사·재난문자·시장 지표를 수집해 노컷뉴스가 놓친 것과 챙길 것을 Discord로 브리핑한다.

비공개 저장소
  • Python
  • Claude Code 서브에이전트
  • Discord
  • Node.js
  • SQLite
  • GA4
  • launchd
  • GCP VM
AI 뉴스 데스크 아키텍처Read브리핑네이버 뉴스 — 섹션 · 랭킹 · 단독네이버 뉴스섹션 · 랭킹 · 단독방송 3사 · 연합 — 메인뉴스 · RSS · 일정방송 3사 · 연합메인뉴스 · RSS · 일정노컷뉴스 RSS — 33개 피드노컷뉴스 RSS33개 피드재난문자 · 시장지표 — 행안부 · KRX · 환율재난문자 · 시장지표행안부 · KRX · 환율콜렉터 (Python) — http_get → JSON 캐시콜렉터 (Python)http_get → JSON 캐시data/cache/날짜/*.json — 데이터 교환 정본data/cache/날짜/*.json데이터 교환 정본서브에이전트 — 갭 판정 · 요약 · 등급서브에이전트갭 판정 · 요약 · 등급Discord 브리핑 — 웹훅 · 봇Discord 브리핑웹훅 · 봇편집 대시보드 — Node · SQLite · GA4편집 대시보드Node · SQLite · GA4
Python은 수집과 정형화만, 판단과 요약은 서브에이전트가. 둘은 항상 JSON 파일로만 데이터를 교환한다.

문제

데스크는 아침마다 조간 1면, 포털 랭킹, 방송 3사 메인뉴스, 통신사 일정을 각각 열어 보고 “우리가 뭘 놓쳤나”를 머릿속으로 맞춰 봅니다. 그 비교 작업을 기계가 대신하고, 사람은 판단만 하게 하자는 것이 출발점입니다.

구조 원칙

  • Python은 I/O와 정형화만. 30여 개 콜렉터가 전부 같은 HTTP 클라이언트를 쓰고, 결과를 날짜별 JSON 캐시에 떨어뜨립니다. LLM은 호출하지 않습니다.
  • 판단은 서브에이전트가. 갭 판정, 어텐션 아이템 선별, 속보 중요도, 제보 등급 같은 ’판단’은 Claude Code 서브에이전트가 캐시를 읽어 수행합니다. 실패하면 결정론 폴백으로 내려가 어떤 이유로도 예외를 던지지 않습니다.
  • 인메모리 전달 금지. 두 세계는 JSON 파일로만 만납니다. 덕분에 어느 단계든 파일을 열어 재현할 수 있습니다.
  • 노컷뉴스 스타일 가이드 준수. 단신·어텐션 원고를 쓸 때 보도국 스타일 가이드(제목 글자수, 호칭, 자살·재난 보도 안내문)를 반드시 반영합니다.

지금 하고 있는 것

재난문자 15분 폴러, 시장 지표 트리거, 헬스체크가 VM에서 상시 돌고 있습니다. 편집 대시보드(개요·애널리틱스)는 Phase 6으로 진행 중이고, 픽스처 기반 회귀 테스트 1,200여 건이 네트워크 없이 통과합니다.