하루 만에 만든 뉴스 하네스를, 20일 동안 매일 돌리며 키운 기록
경제 뉴스를 매일 같은 품질로 정리하는 일은 의외로 사람을 지치게 한다. 처음 며칠은 꼼꼼하다가도 곧 피로가 쌓이고, 그날그날 컨디션에 따라 깊이가 흔들린다. 그래서 이 일을 사람 대신 매일 돌아가는 작은 팀에게 맡겨 보기로 했다. econ-radar는 그렇게 시작한 개인 지식 하네스다. 매일 저녁 경제 뉴스를 산업구조와 투자, 시장이라는 세 각도로 정리해 자동 발행하고, 그 기록을 주제별로 누적해 동향 리포트와 블로그, 책으로 키워 간다.
그동안 이 시리즈에서는 개별 문제를 하나씩 다뤘다. 승인 게이트를 접고 완전 자동 발행으로 옮긴 이야기, 에이전트가 같은 뉴스를 반복하지 않게 신선도와 중복을 설계한 이야기가 그랬다. 이번엔 한 걸음 물러나 20일 전체를 한 호흡으로 되짚는다.
골격 자체는 2026년 6월 9일, 하루 만에 세웠다. 흥미로운 건 그다음이다. 20일 동안 거의 매일 돌리면서, 운영하다 부딪힌 불만과 실패가 그때그때 구조를 고쳐 나갔다. 첫 발행은 얕고 어딘가 AI가 쓴 티가 났다. 그 시작에서, 월요일 아침마다 한 주를 정리한 동향이 세 채널로 자동으로 나가는 지금에 이르기까지를 적어 둔다. 자동화를 한 번이라도 실제로 굴려 본 사람이라면 비슷한 자리에서 멈칫해 봤을 이야기다.
시작: 하루 만에 골격, 그러나 첫 발행은 얕았다
첫날 세운 것은 세 층이다. 1층은 매일 돌아가는 파이프라인으로, 뉴스를 수집하고 분석해 한 편의 뉴스레터로 편집한 뒤 렌더해 내보낸다. 2층은 옵시디언 vault로, 그날의 기록을 태그와 링크로 주제별 노트(MOC)에 누적한다. 3층은 저술로, 쌓인 기록에서 패턴을 뽑아 동향과 블로그, 책으로 키우는 자리다. 소스는 신뢰할 만한 경제지를 우선하고 해외 기사는 한국어로 번역하기로, 투자는 매수·매도 권유가 아니라 정보와 시나리오로 다루기로 운영 방침을 못 박았다.
첫 실행은 그럭저럭 돌아갔다. 수집 21건이 분석 두 종을 거쳐 뉴스레터가 되고, HTML과 푸시가 나오고, 주제 노트 다섯 개가 갱신됐다. 문제는 결과물이었다. “경제전문지를 훑는 느낌의 밀도”가 부족하다는 게 첫 피드백이었다. 핵심 항목이 세 개뿐이라 폭이 안 났고, 사건을 나열하기만 해 분석지라기보다 뉴스 목록처럼 읽혔다. 투자 섹션은 결론만 있고 강세와 약세 양면이 없었다. 문체도 어딘가 번역투에 AI 상투구가 섞여 있었다.
진화 1주차: 막연한 불만을 파일로 된 규칙으로
여기서 이 하네스를 끝까지 관통한 첫 번째 패턴이 나왔다. “밀도가 약하다”, “AI 같다” 같은 막연한 불만을 그때마다 파일로 된 규칙과 게이트로 옮겨 적었다.
밀도가 약하다는 불만에는 수집과 편집 단계에 구체 기준을 박았다. 섹션당 4~6건을 목표로 하고, 모든 핵심 항목에 “왜 중요한가”를 한 줄씩 붙이고, 투자 섹션은 강세와 약세를 함께 적게 했다. 문체가 AI 같다는 불만에는 실제 경제 기사에서 뽑은 표본을 기준선 파일로 두고, 발행 직전 문체만 보는 검수 에이전트(style-critic)를 게이트로 달았다. “A가 아니라 B”, “~인 셈” 같은 상투구를 잡아내는 자리다.
세 번째 렌즈도 이 무렵 두 번 갈아탔다. 처음엔 커리어(일의 미래)였는데, 매일 누적하기엔 신선한 재료가 잘 나오지 않아 “유망 기업”으로 바꿨다. 곧이어 취업 스터디에서 “지금 산출물이 투자자 입장에 치우쳤다, 수요 관점으로도 봐라”는 피드백이 왔다. 세 렌즈가 사실상 “누가 돈을 버나”만 묻고 “누가 사고 쓰나, 왜”가 빠져 있다는 지적이었다. 그래서 수요(Demand) 렌즈를 한 단 더 얹어, 유망 기업(파는 쪽)과 수요(사는 쪽)를 한 렌즈로 묶었다. 제약·바이오는 수요자가 환자와 처방의, 지불자로 나뉜다는 점까지 기준선에 적었다.
이 모든 기준선을 사람 머릿속이 아니라 파일에 둔 게 핵심이다. 문체 표본도, 깊이 체크리스트도, 수요 렌즈 분해도 전부 vault의 메모 파일에 있다. 에이전트가 매번 같은 잣대를 보게 하려는 장치다.
자동 발행: “확인 전까진 안 나간다”에서 “나가되 이상하면 내린다”로
6월 12일, 가동 며칠 만에 큰 결정을 했다. 발행 전 사람 승인을 받던 게이트를 접고 완전 자동 발행으로 바꾼 것이다. “확인 전까지 미발송”에서 “발송하되 이상하면 취소”로 방침을 옮겼다. 매일 저녁 정해진 시각에 만들어 블로그에 올리고 텔레그램으로 알리는 데까지, 사람 손을 떼기로 했다. (이 전환의 배경과 안전장치는 앞선 글에서 따로 다뤘다.)
대신 안전을 다른 데서 확보해야 했다. 6월 13일, 발행 4호 시점에 하네스 전체를 스스로 비판해 보고 우선순위 네 건을 한꺼번에 적용했다. 게이트가 문체만 보고 잘못된 수치는 그대로 나간다는 문제에는 사실 검증 게이트(fact-checker)를 새로 달았다. 핵심 수치를 최대 열 개까지 원문과 대조하고, 출처 없는 수치는 발행 전에 막는 자리다. 자동 발행으로 가는 마당에 가장 필요한 방어선이었다. 3층이 비어 있는 문제에는 주간 동향을 자동 생성하는 클라우드 루틴을 걸었고, 클라우드가 과거를 못 읽는 문제에는 vault를 private 저장소에 통째로 추적해 여러 주의 흐름을 잇게 했다. 렌더 단계가 한 번에 약 9만 3천 토큰으로 가장 비싼데, 정작 판단은 거의 필요 없다는 점을 발견했다. 그래서 이 단계를 고정된 스크립트로 갈아 발행당 토큰을 덜어냈다.
이 마지막 결정에서 두 번째 패턴이 또렷해진다. 판단이 필요 없는 단계는 LLM에 맡기지 않고 스크립트로 고정하고, 판단하는 단계만 모델에 맡긴다. 제일 비싼 단계가 정작 판단은 가장 덜 필요했다는 건 새겨 둘 만한 발견이었다.
자동화는 첫 실전에서 깨진다: 발송 전에 실제로 돌려 보기
자동 발행으로 옮기고 나서 가장 많이 배운 건, “자동으로 보낸다”가 한 번에 되는 법이 거의 없다는 사실이다.
텔레그램 알림이 자동 발행 뒤에 오지 않는 일이 생겼다. 워크플로는 “성공”으로 끝나는데 정작 발송 단계만 조용히 건너뛴 것이다. 원인은 발송 여부를 판단하는 로직이 마지막 커밋 하나만 비교한 데 있었다. 한 번의 push에 자동 생성 커밋과 큐레이션 커밋이 여러 개 묶여 올라가면, 발송 신호가 담긴 파일이 앞선 커밋에 있어 감지에서 빠졌다. 비교 범위를 push 전체로 넓히고 나서야 정상 발송을 확인했다.
이메일 채널을 붙일 때는 더 선명한 사례가 나왔다. 6월 25일 저녁, 첫 즉시 발송이 HTTP 400으로 거부됐다. 텔레그램은 멀쩡한데 이메일만 안 나갔다. 알고 보니 발송 서비스가 즉시 발송에 한해 특정 보호 헤더 하나를 요구하는데, 그동안 초안과 예약 발송만 테스트해 봐서 이 요구가 끝내 드러나지 않았다. 외부 발송 API의 안전장치는 초안이나 예약이 아니라 실제 즉시 발송에서만 모습을 드러낸다. 자동화는 으레 “첫 실전”에서 탈이 난다.
그래서 3층 주간 발행을 가동할 때는 아예 발송 전에 CI에서 한 번 끝까지 돌려 검증하는 절차를 거쳤다. 그 덕에 미리 잡은 것이 한글 파일명 문제다. 주간 동향 HTML을 처음엔 2026-W26-동향.html처럼 한글을 넣어 지었는데, 로컬에서는 멀쩡히 열리지만 라이브 URL에서는 한글이 인코딩 과정에서 깨질 위험이 드러났다. 파일명에서 한글을 빼고 나서야 라이브에서 정상 응답을 확인했다. 같은 검증에서 조건 분기의 환경변수가 다음 단계에 안 보여 블로그 발송이 영영 돌지 않던 버그도 함께 잡았다. 발행 전에 실제로 돌려 보지 않았다면 첫 자동 발송이 또 조용히 실패했을 자리들이다.
여기에 한 가지 교훈이 더 붙는다. “고쳤는데 라이브는 그대로”인 경우가 잦았는데, 배포 워크플로 지연에 브라우저와 CDN 캐시까지 겹친 탓이다. 로컬에서 된다고 실제 배달 환경에서도 되는 건 아니다. 채널마다 런타임이 다르므로 라이브는 따로 확인해 봐야 한다.
갈아타기보다 비교 후 보완
세 번째 패턴은 수집 단계를 손보려다 얻었다. 매일 웹검색으로 뉴스를 긁는 방식이 토큰을 많이 쓰니, RSS 수집으로 갈아타면 더 빠르고 싸지지 않을까 하는 가설이었다. 막연히 더 나아 보이는 쪽으로 옮겨가는 대신, 같은 날 발행을 세 방식으로 끝까지 만들어 비교했다. 기존 웹검색(A), RSS만(B), 웹검색에 RSS를 더한 합집합(C)이다.
RSS만 쓴 B는 수집이 1초대로 빠르고 중복 제거도 깔끔했지만, 정작 그날의 바이오 빅뉴스가 후보 279건 가운데 0건이었다. 핵심 전문지 소스가 차단돼 커버리지에 구멍이 났고, RSS 요약이 얇아 결국 본문을 다시 받아오느라 기대했던 토큰 절감도 없었다. 반면 웹검색에 RSS를 보완으로 더한 C는 웹검색이 빅뉴스를 잡고 RSS가 국내·전문지 소식을 일관되게 보강해 커버리지가 가장 넓었다. 세 발행본을 실제 데이터로 견줘 보니, RSS로 통째 대체하기보다 웹검색을 RSS로 보강하는 편이 낫다는 판단이 또렷이 섰다.
대체보다 비교 후 보완이라는 결론은, 앞서 수요 렌즈를 새 에이전트로 만드는 대신 기존 분석에 한 단 얹어 며칠 돌려 본 일과도 같은 결이다. 갈아엎기 전에 일단 나란히 두고 효과로 판단한다.
지식을 표준 형식으로: 한 폴더, 셋이 동시에 읽는다
2층 자산화에도 한 번의 정비가 있었다. 6월 24일, vault를 옵시디언 위키링크에서 OKF(Open Knowledge Format)라는 개방 표준으로 옮겼다. 마크다운과 링크로 지식을 쌓아 LLM이 읽게 하는 패턴을 Google Cloud가 표준으로 정리한 것인데, 핵심은 파일 경로가 곧 개념의 식별자가 되고 링크를 절대경로 마크다운으로 쓴다는 점이다. 바꾼 건 링크 문법 하나뿐이지만, 그 결과 vault 폴더 하나가 충돌 없이 세 가지로 동시에 쓰인다. 옵시디언에서는 그래프와 백링크로 탐색하고, 에이전트는 그냥 cat으로 읽어 질의하며, git으로는 버전을 관리하고 배포한다. 위키링크 1,228개를 한 번에 옮겨 이 셋을 모두 만족시켰다.
다만 여기엔 아직 풀지 못한 숙제가 남아 있다. 마이그레이션은 했지만 클라우드 발행 루틴이 참조하는 규약은 여전히 옛 포맷을 가리켜, 매일 옛 형식으로 만들어 마이그레이션을 도로 되돌린다. 규약과 기준선은 전역이 아니라 레포 안에 둬야 자리잡는다는 것이, 채널을 늘리며 거듭 확인한 교훈이다. 실제로 문체 규칙도 같은 이유로 레포 안에 사본을 두고 검수 에이전트가 의무적으로 보게 옮겼다.
마지막 빈칸: 월요일 아침의 주간 동향
가장 오래 비어 있던 자리가 3층의 공개 발행이었다. 주간 동향을 자동 생성하는 루틴은 6월 13일에 걸어 뒀지만, 정작 내보낼 길이 없어 W24부터 W26까지 세 주치가 한 번도 공개되지 못한 채 디스크에만 쌓여 있었다. 데일리는 매일 세 채널로 나가는데 주간은 안 나갔다.
이번 주에 그 길을 열었다. 주간 동향을 HTML로 렌더하는 스크립트를 새로 짜고, 데일리와 같은 세 채널(블로그, 텔레그램, 이메일) 발송 경로를 붙인 뒤, 월요일 아침 8시에 예약 발송하는 워크플로를 걸었다. 카덴스는 데일리는 매일 저녁, 주간은 월요일 아침으로 잡았다. 지난 한 주를 정리하고 이번 주 관전 포인트를 더한 프레임으로, 한 주를 여는 자리에서 한 번 읽히기를 노렸다. 앞서 말한 한글 파일명 버그는 바로 이 발행을 사전 검증하다 잡은 것이다.
에이전트 팀도 이 무렵 층별로 넓혔다. 매일 돌아가는 1층 여덟 명에 더해, 손볼 일이 생길 때만 부르는 전문가 네 종을 새로 두었다. 발행물의 시각과 반응형 UI를 보는 디자이너, 옵시디언 그래프를 주기적으로 정비하고 링크 무결성을 챙기는 사서, 블로그와 책을 내보내기 전 문체와 사실, 구조를 한 번에 보는 검수자, 동향과 블로그를 짧은 소셜 글로 재가공하는 담당이다. 매일 돌아가는 인원은 가볍게 두고, 깊게 손볼 때만 전문가를 호출하는 구조다. 일을 한 사람의 프롬프트 한 번으로 끝내지 않고 역할이 나뉜 팀으로 보자던 첫날의 설계가, 여기서 한 단계 더 분화했다.
20일을 관통한 것
처음에 빈 3층을 채우려고 시작했는데, 정작 채운 건 발행 경로 하나가 아니었다. 그 경로를 안전하게 굴리는 검증과 규칙, 그리고 일을 나눠 맡는 조직이었다. 20일을 돌아보면 거의 매일 구조가 바뀌었고, 그 변화는 모두 운영하다 나온 불만에서 출발했다. 막연한 불만을 그때그때 파일로 된 규칙으로 바꾸고, 자동이 한 번에 안 되니 발송 전에 실제로 돌려 보고, 갈아타기 전에 나란히 비교해 보완을 택하고, 일을 층별 에이전트 팀으로 나눈 것. 네 가지 패턴이 날짜만 다를 뿐 거듭 반복됐다.
그래서 자동화는 보내기 버튼을 다는 일이라기보다, 첫 실전에서 깨지는 자리를 미리 찾아 두는 일에 가깝다. 하네스는 완성으로 끝나지 않고 백로그가 계속 돌게 한다. 스스로 비판한 점이 그대로 다음 할 일이 되는, 멈추지 않는 구조다.
econ-radar가 매일 저녁 정리하는 경제 뉴스는 텔레그램 채널 @econradar와 이메일 뉴스레터로도 받아볼 수 있다. 발표 자료 전체는 슬라이드와 PDF로 열어 볼 수 있다.