뉴스 자동화의 성패는 ‘요약’이 아니라 선별에서 갈립니다.
Make.com에서 점수화(score) + 자동 제외 흐름을 만들면, “쓸 만한 것만” 남는 시스템이 됩니다.
✅ 이 편의 핵심 목적
모든 뉴스를 요약하지 않습니다.
대신, 블로그에 올릴 가치가 있는 것만 자동으로 남깁니다.
- (1) 뉴스 수집 → (2) 1차 저비용 필터 → (3) DeepSeek 가치판단/점수화 → (4) 점수 낮으면 자동 제외 → (5) 통과한 것만 요약/게시 브랜치로 이동
이 구조가 완성되면, 자동화가 “일을 늘리는 기계”에서 품질을 지키는 편집자로 바뀝니다.

🔎 뉴스 선별이 자동화의 마지막 난관인 이유
1) 자동화는 “양”을 폭발시킨다
RSS/뉴스레터/구글 알림을 붙이는 순간부터 콘텐츠는 매일 쌓입니다.
요약 자동화만 해두면 결국 결과물이 “정리된 뉴스 쓰레기장”이 되기 쉽습니다.
2) 블로그의 신뢰는 ‘선별’에서 결정된다
사람이 다시 오는 이유는 “많이 올려서”가 아니라,
**“여기엔 쓸 만한 것만 있다”**는 경험 때문입니다.
3) 선별은 주관이 들어가서 어려워 보이지만…
주관을 “룰 + 점수”로 바꾸면 자동화가 가능합니다.
핵심은 내가 중요하다고 보는 기준을 명문화하는 것입니다.
📌 ‘의미 없는 뉴스’ 기준 정의하기
여기서부터는 “내 블로그(캐나다 생활 + 돈/경제)” 전제의 예시로 잡겠습니다.
(다른 주제라도 뼈대는 그대로 가져가면 됩니다.)
A. 의미 없는 뉴스(자동 제외 후보) 대표 유형
아래 중 하나라도 강하면 점수가 크게 깎이도록 설계합니다.
- 단발성·소모성: 하루 지나면 의미가 사라짐(“오늘만 세일”, “일시적 해프닝”)
- 정보 밀도 낮음: 제목만 요란하고 실내용이 빈약(인용/재탕 기사)
- 내 독자와 무관: 토론토/캐나다 생활 맥락이 전혀 없거나, 돈/경제 카테고리와 무관
- 행동으로 연결 불가: 읽어도 할 수 있는 것이 없음(체크리스트/영향/대응이 없음)
- 출처 신뢰 낮음: 익명 루머/선정적 클릭 유도
- 중복: 같은 사건의 ‘후속 기사’인데 새 정보가 없음
B. “캐나다 라이트 vs 돈/경제” 관점 필터(빠른 룰)
- 캐나다 라이트(생활 정보):
- 내 생활에 영향(절차/비용/규정/교통/교육/의료/육아/이민/치안 등)이 있으면 가산점
- “토론토/온타리오” 지역성 있으면 추가 가산점
- 돈/경제:
- 금리/인플레이션/주택/세금/고용/환율/가계지출/정책 변화처럼 구조적 영향이면 가산점
- 단기 주가 등락·연예인 코인·소문은 감점
C. 이 기준을 “기계가 읽을 수 있게” 바꾸기
기계는 “감”을 못 읽습니다. 그래서 아래를 명확히 적어줘야 합니다.
- 어떤 키워드를 만나면 감점? (예: “rumor”, “leak”, “exclusive”, “shocking” 등 클릭 유도)
- 어떤 키워드를 만나면 가산점? (예: “policy”, “rate”, “Ontario”, “Toronto”, “regulation” 등)
- “행동 가능성”을 어떻게 판단? (예: “What it means”, “How it affects”, “What to do”가 있으면 가산)
이걸 다음 단계에서 DeepSeek 프롬프트에 녹입니다.
🧠 DeepSeek에게 “쓸 가치 판단” 시키는 프롬프트
아래는 Make.com에서 그대로 붙여 쓰기 좋은 형태로 설계한 프롬프트 예시입니다.
핵심은 “모호한 감상”이 아니라 정해진 스키마(JSON) 로 출력시키는 것입니다.
1) 출력 JSON 스키마(고정)
DeepSeek는 반드시 아래 키로만 답하게 합니다.
- score: 0~100
- decision: PUBLISH / REVIEW / DROP
- signals.*: 0~5 (점수 근거를 구조화)
- recommended_angle: 나중에 12편(인사이트)로 연결되는 “글 방향” 씨앗
2) 시스템/유저 프롬프트(복붙용)
System (권장)
User (템플릿)
운영 팁(중요)
- 기사 본문을 못 긁어오는 경우가 많습니다. 그럴 때는 우선 RSS description/snippet 기반으로 점수화하고, REVIEW에 걸린 것만 “본문 추출(HTTP)”을 추가로 하세요.
- 이렇게 하면 비용과 실패율이 확 줄어듭니다.
🧮 중요도 점수(score) 컬럼 설계
이제 “판단 결과”를 쌓을 그릇(시트/DB)을 설계합니다.
가장 추천은 Google Sheets(가볍게) → 장기 운영 시 Data Store(더 안정적)입니다.
A. 시트 컬럼(최소 구성)
- id (해시 또는 UUID)
- source
- title
- url
- published_at
- excerpt
- category (canada_light / money_economy)
- score (0~100)
- decision (PUBLISH/REVIEW/DROP)
- reasons (문장 2~4개)
- signals_local / signals_action / … (0~5)
- processed_at
- scenario_run_id (나중에 추적용)
B. “고급 운영자” 컬럼(추천)
- prefilter_passed (TRUE/FALSE)
- model_version (DeepSeek 모델명/버전 문자열)
- prompt_version (v1/v2 등)
- cost_estimate (대략 토큰/호출수 추정치)
- needs_manual_review (TRUE/FALSE)
- drop_reason_tag (duplicate / no_canada / no_action / low_credibility 등)
이걸 해두면, 2주만 운영해도 “내가 뭘 버리고 뭘 살렸는지”가 데이터로 남아서 프롬프트가 급격히 좋아집니다.
🔁 점수 낮은 뉴스는 자동 제외하는 흐름
이 파트가 11편의 실전 핵심입니다. Make.com에서 Router + Filter를 사용해 “점수에 따른 분기”를 만듭니다.
1) 전체 시나리오 구조(권장 청사진)
[A] 수집(Trigger)
- RSS Watch / 이메일 / 웹훅 등으로 “새 뉴스” 들어옴
[B] 1차 프리필터(저비용)
- (예) 제목/출처/키워드로 대충 거르기
- (예) 너무 짧은 항목(본문 1줄) DROP
- (예) “Canada/Toronto” 완전 무관이면 DROP
[C] DeepSeek 점수화(핵심)
- HTTP로 DeepSeek 호출(또는 사용 중인 AI 모듈)
- JSON으로 결과 받기
[D] JSON Parse
- Make의 JSON Parse 모듈로 score/decision/... 필드 분해
[E] Router로 분기(중요)
- Route 1: score ≥ 70 → “요약/게시 브랜치”
- Route 2: 50–69 → “리뷰 대기열(수동 확인)”
- Route 3: < 50 → “자동 제외(로그만 남기고 종료)”
[F] 예외/오류 처리
- DeepSeek 응답이 JSON 깨지면: 재시도 1회 → 그래도 실패면 REVIEW로 보내기
- 에러 핸들러로 알림(이메일/슬랙)
2) Make.com에서 실제로 어떻게 배치하나(모듈 레벨)
아래는 “브랜치 2 (Make.com 기반)” 스타일로, 구현 순서를 딱 잘라 적습니다.
Step 1. 트리거 모듈
- RSS > Watch RSS feed items (또는 사용 중인 소스)
Step 2. 중복 방지(필수)
- (쉬움) Google Sheets에서 url 검색 → 있으면 종료
- (안정) Data Store에 url_hash 저장 후 존재 여부 체크
Step 3. 1차 프리필터(필터 1개만으로도 효과 큼)
필터 예시:
- title/description 길이 < N → DROP
- 특정 키워드 포함(예: “celebrity”, “gossip”) → DROP
- “Canada/Toronto/Ontario” 관련 키워드 0개 AND 돈/경제 키워드 0개 → DROP
포인트: DeepSeek 호출 전에 싸구려 필터로 30~60%만 쳐내도 비용/속도 체감이 큽니다.
Step 4. DeepSeek 호출(HTTP)
- HTTP > Make a request
- Body에 위 프롬프트 템플릿 주입 (TITLE/EXCERPT 매핑)
Step 5. JSON Parse
- JSON > Parse JSON으로 스키마 고정
- 여기서부터는 score/decision이 “필드”로 잡힙니다.
Step 6. Router 분기(점수 기반)
- Flow control > Router
- Route A (PUBLISH): score >= 70
- Route B (REVIEW): 50 <= score <= 69
- Route C (DROP): score < 50
- 각 Route 앞에 Filter를 붙이면 됩니다.
Step 7. DROP 라우트 처리(중요)
DROP는 “그냥 버리면 끝”이 아니라, 로그를 남기고 끝내야 운영이 편해집니다.
- Google Sheets “drop_log” 시트에 1줄 저장
- title, score, reasons, drop_reason_tag, source, url, processed_at
나중에 프롬프트가 이상해졌을 때, 이 로그가 디버깅의 생명줄입니다.
Step 8. REVIEW 라우트 처리(운영자용)
- Slack/이메일로 “리뷰 후보 5개만 묶어서” 알림
- 또는 “REVIEW 대기열” 시트에 쌓아두기
- (고급) 하루 1회 리뷰 대기열을 모아 “오늘 볼 것 TOP 5”만 다시 선별
Step 9. PUBLISH 라우트는 12편으로 자연 연결
- 여기서부터 요약/해석/게시(12편)가 시작됩니다.
즉, 11편은 편집 데스크, 12편은 칼럼니스트 역할입니다.
🧰 생활 팁: 선별 로직이 바로 좋아지는 “운영자 트릭 5개”
- 임계값을 처음부터 높이지 마세요
- 시작은 PUBLISH >= 65로 넉넉히 → 1주 후 70~75로 올리기
- REVIEW를 “실패”가 아니라 “보험”으로 쓰세요
- AI가 애매하면 사람에게 넘기는 구조가 오래 갑니다.
- 기사 본문 추출은 “REVIEW만” 하세요
- 모든 기사 본문 스크래핑은 비용/실패율 폭탄이 됩니다.
- 프롬프트 버전 컬럼(prompt_version)을 꼭 남기세요
- 프롬프트 수정 후 성능이 좋아졌는지 나빠졌는지 바로 보입니다.
- DROP 로그를 주 1회만 훑어도 기준이 선명해집니다
- “내가 버리려는 게 뭔지”를 보면서 기준이 정교해집니다.
🧠다음글 예고 (12편)
선별(11편)까지 해두면, 이제 남는 건 “쓸 만한 뉴스”입니다.
그런데 요약만 붙이면 결국 다른 블로그와 비슷해집니다.
다음 편에서는 DeepSeek로 한 줄 해석(인사이트) 을 자동 생성해서 “독자에게 왜 중요한지”까지 전달하는 구조를 만듭니다.
투자 관점/생활 관점을 분기하고, 시트에 insight 컬럼을 저장해 글에서 강조하는 방식까지 연결합니다.
'AI 활용 & 구조화 > 자동화 기록' 카테고리의 다른 글
| [13편] ‘아카이브용 데이터’ 만들기: 나중에 다시 쓰는 자동화 (Make.com + DeepSeek) (0) | 2025.12.31 |
|---|---|
| [12편] 요약을 넘어 ‘해석’까지: 한 줄 인사이트 자동 생성 (Make.com + DeepSeek) (0) | 2025.12.29 |
| [10편] Make.com 자동화 다음 단계 – 이메일 뉴스레터·다른 소스·자동 포스트까지 확장하는 로드맵 (0) | 2025.12.25 |
| [9편] 캐나다 생활 뉴스 vs 돈·경제 자동 분류하기 (0) | 2025.12.22 |
| [8편] 시트에서 복사해 바로 쓰는 뉴스 요약 글 구조 만들기 (2) | 2025.12.19 |