메일은 매일 왔는데, 중요한 뉴스가 빠졌다면
사내 기술 브리핑을 자동화하면 아침마다 결과물이 도착합니다. 제목도 자연스럽고 링크도 열리니 파이프라인이 잘 돌아간다고 생각하기 쉽죠. 그런데 관련 없는 기사들이 같은 사건으로 합쳐졌거나, 즐겨 보던 RSS가 2주째 빠졌거나, 결과 대부분이 한 매체 기사라면 어떨까요?
Daily AI Thread의 운영 기록에서는 일부 안전장치가 의도와 반대로 작동한 날에도 작업이 종료 코드 0으로 끝났고, 사이트와 이메일까지 정상 생성됐습니다. 피드 수집 실패는 매일 숫자로 집계됐지만, 구체적인 원인이 남지 않아 서로 다른 오류를 구분하고 조치하기 어려웠던 사례도 있었습니다.
AI 뉴스봇의 품질은 발행 성공 여부가 아니라, 어떤 후보가 왜 사라졌는지 다시 설명할 수 있느냐로 판단해야 합니다. 이 사례에서 가져올 것은 특정 요약 모델보다 후보·제외 사유·원문 확인 실패를 남기는 운영 방식입니다.
원문 읽기는 출발점이지 안전장치는 아닙니다
Daily AI Thread는 최근 24시간의 RSS 후보를 출처 종류, 최신성, 같은 사건을 보도한 매체 수 등을 기준으로 선별합니다. 같은 사건은 통합하고 출처 편중을 줄인 뒤 원문을 확인해 브리핑을 발행하며, 날짜별 수집량과 채택·제외 사유도 공개합니다.
현재 공개된 정책에서는 원문을 끝내 읽지 못한 기사를 RSS 설명만으로 싣지 않습니다. 예비 후보로 교체하고, 조건을 만족하는 기사가 부족하면 10건보다 적게 발행합니다. 목표 개수보다 원문 확인 여부를 우선하는 셈입니다.
기존 글의 숫자는 통계로 쓰기 어렵습니다. ‘뉴스레터 읽기의 30~40%가 중복’이고 ‘48분 중 새 정보는 11분’이라는 수치는 독립 연구 결과가 아니라 Readless가 자사 기능을 설명하며 가정한 계산 예시입니다. 표본, 측정 절차, 원자료가 공개되지 않았으므로 업계 평균처럼 인용하면 안 됩니다.
정상 발행 뒤에 숨었던 세 가지 실패
첫 번째는 중복 제거의 과잉 확신입니다. 회사명과 제품명처럼 넓은 공통어를 근거로 구글 관련 기사 다섯 건이 같은 사건으로 묶였고, 그중 네 건이 조용히 제외됐습니다. 제작자는 이후 자동 삭제를 멈추고 중복 가능성을 경고한 뒤 사람이 원문을 대조하도록 바꿨습니다.
두 번째는 원인을 잃어버린 피드 실패 기록입니다. 한 피드는 HTTP 202와 함께 기사가 아닌 HTML 확인 페이지를 반환했고, 다른 피드는 HTTP 502를 반환했습니다. 둘 다 매일 ‘피드 실패’ 숫자에는 포함됐지만 상태 코드와 응답 내용 등 구체적인 원인이 보존되지 않았습니다. 그 결과 두 실패를 구분해 진단하지 못했고, 첫 번째 피드는 14일 동안 빠진 뒤에야 교체됐습니다.
세 번째는 출처 상한의 자동 완화입니다. 출처당 최대 3건이라는 규칙이 있었지만 2026년 7월 23일부터 8월 19일까지 발행된 28편 중 5편에서 상한이 깨졌습니다. 7월 31일에는 9건 중 8건이 한 매체 기사였고, 여러 피드의 www 서브도메인이 허용 목록과 맞지 않아 403을 반환한 설정 문제가 원인으로 연결됐습니다.
| 겉으로 보인 상태 | 실제 실패 | 남겨야 할 증거 |
|---|---|---|
| 중복 제거 완료 | 관련 없는 기사까지 통합 | 클러스터 구성원, 경고 점수, 사람 판정 |
| 피드 실패 2곳 | 202 확인 페이지와 502 오류의 원인 소실 | 상태 코드, 콘텐츠 유형, 응답 본문 판별 결과 |
| 목표 건수 발행 | 출처 상한을 풀어 한 매체에 쏠림 | 상한 완화 수준, 피드별 실패 사유, 출처 분포 |
오늘 하루치 기록부터 역추적해보세요
전체 시스템을 새로 만들 필요는 없습니다. 먼저 최근 브리핑 한 편이 어떤 후보에서 만들어졌는지 재현해보세요. Daily AI Thread의 선정 데이터 페이지에서 공개 형태를 확인할 수 있습니다.
- 수집량에서 채택 수까지 연결합니다.
하루의 전체 수집량, 순위 후보, 원문 확인 대상, 최종 채택 수를 한 줄로 연결하세요. 숫자가 줄어든 단계마다 같은 사건, 순위 미달, 원문 확인 실패처럼 제외 사유가 있어야 합니다. - ‘같은 사건’의 기준을 먼저 적습니다.
회사명이나 제품명이 같다는 이유만으로 합치지 마세요. 발표 주체, 실제 사건, 발표 시점이 모두 일치하는지 비교하고 애매한 상위 경고는 사람이 원문을 읽어 판정합니다. - URL마다 판정 기록을 남깁니다.
source,url,published_at,event_candidate,fetch_status,content_type,source_cap_used,decision,exclusion_reason정도면 첫 감사에 충분합니다. 실패 건에는 상태 코드와 실제 응답 내용을 함께 남겨야 202 확인 페이지와 502 오류를 구분할 수 있습니다. - 상한 완화를 정상 상태와 분리합니다.
목표 건수를 채우려고 출처 상한을 풀었다면 완화 전후 값과 이유를 기록하세요. 후보가 원래 부족했는지, 피드 설정 실패로 부족해졌는지를 구분해야 합니다. - 원문 실패 시 덜 발행하는 선택을 둡니다.
RSS 문구만으로 빈자리를 채우지 말고 예비 후보로 교체하세요. 대체 후보도 원문을 확인할 수 없다면 발행 건수를 줄이는 편이 판정 근거를 지키기 쉽습니다.
첫 성공 기준은 간단합니다. 최종 항목마다 확인 가능한 원문 URL이 있고, 제외된 후보마다 이유가 있으며, 피드 실패의 구체적인 원인·상한 완화·중복 경고가 정상 종료 로그 속에 숨지 않으면 됩니다.
자동 삭제보다 사람의 판단 위치를 설계하세요
이 사례는 특정 중복 탐지 방식이 얼마나 정확한지 보여주는 벤치마크가 아닙니다. 사용한 정확한 모델과 임계값, 전체 오탐률과 미탐률은 공개되지 않았습니다. 따라서 “이 알고리즘을 복사하면 된다”보다 틀렸을 때 어느 단계에서 사람이 발견할 수 있는가를 가져오는 편이 현실적입니다.
사람이 모든 기사를 다시 읽으면 자동화의 이점이 사라집니다. 검토 범위를 중복 점수가 높은 묶음, 원문 확인 실패, 출처 상한 완화처럼 손실이 큰 예외로 좁히세요. 자동화는 후보를 줄이고 증거를 정리하며, 사람은 되돌리기 어려운 제외 결정을 맡는 구조입니다.
독자 피드백도 같은 방식으로 기록할 수 있습니다. Daily AI Thread 제작자는 출시 직후 가독성 지적을 받고 요약 접기와 예상 독서 시간을 배포한 뒤, 목차와 현재 읽는 기사 표시를 추가했습니다. 다만 완독률이나 재방문율이 실제로 개선됐다는 데이터는 공개되지 않았습니다. 기능 배포와 효과 확인을 별도 상태로 남겨야 하는 이유입니다.



