자동 AI 블로그 구축기 v1.0: Antigravity, GitHub 그리고 NotebookLM
1. 왜 자동 AI 블로그인가?
하루가 다르게 쏟아지는 AI 관련 뉴스는 트렌드를 따라가기가 벅찹니다. AI 시대에 적응하기 위해 제가 배워야 할 것들도 급속히 늘어나고 있습니다.
Google Trends: 20-Year Global Search Interest (AI, Bitcoin, War, iPhone)
지난 20년(2006~2026)간 글로벌 구글 트렌드 검색량 추이: 전쟁(War), 스마트폰 혁명의 상징인 아이폰(iPhone), 그리고 비트코인(Bitcoin) 붐과 비교해 보더라도 최근 AI가 얼마나 거대한 패러다임 전환을 이끌고 있는지 한눈에 확인할 수 있습니다.
제 바이브 코딩 도전기 2탄은, AI 뉴스들과 제가 배운 것 + 배워야 하는 것들을 주제로, 기사 수집부터 심층 분석, 마크다운 포스트 작성, 그리고 블로그 배포까지 자동화한 AI 자동 블로그 로 정했습니다.
2. 왜 GitHub인가?
SEO나 구축 편의성 때문에 원래는 Google의 blogger.com을 고려했습니다만, 플랫폼별로 장단점을 비교하면서 알아보다 보니, GitHub가 가진 장점이 많았습니다.
| 플랫폼 | 장점 (Pros) | 단점 (Cons) | AI 자동화 적합도 |
|---|---|---|---|
| GitHub Pages (선택) | 완전한 데이터 소유권(Markdown 파일), 완벽한 버전 관리, CI/CD를 통한 100% 무인 자동화 가능, 호스팅 평생 무료 | 초기 진입 장벽(Git, 프레임워크 학습 필요), 댓글 등 동적 기능(DB) 구현 번거로움 | ⭐⭐⭐⭐⭐ |
| Blogger (Google) | 구글 검색 엔진 최적화(SEO) 기본 탑재, 서버 유지보수 불필요, 구글 계정으로 1분 만에 세팅 가능 | Markdown 파일 직접 관리 불가, API 한계로 인한 CI/CD 파이프라인 연동 어려움, 구식 UI/UX | ⭐⭐ |
| WordPress | 전 세계 점유율 1위, 수만 개의 플러그인과 테마, 방대한 생태계 및 확장성 | 별도의 웹 호스팅 비용 발생, 지속적인 보안/버전 업데이트 관리의 번거로움, 무거움 | ⭐⭐⭐ |
| Medium / Substack | 글쓰기에 최적화된 에디터, 플랫폼 자체 트래픽 유입, 뉴스레터 및 구독 수익화 용이 | 데이터 통제권이 플랫폼에 귀속됨, 강제 유료화(Paywall) 장벽, 코드 자동화 및 API 배포 까다로움 | ⭐ |
특히 제가 구축하려는 'AI 자동 블로그'의 관점에서는 GitHub가 압도적으로 유리했습니다. 구체적인 이유는 다음과 같습니다.
-
데이터 통제권: 모든 블로그 글이 내 PC에 일반 텍스트(Markdown) 파일로 저장되고, 이를 GitHub에 백업 및 연동하는 구조를 사용할 수 있습니다. 이 구조에서는 원한다면 언제든 다른 호스팅 서비스로 언제든지 쉽게 이사할 수 있는 자유를 얻게 됩니다. 다른 블로그 플랫폼들은 서비스가 종료되거나 다른 플랫폼으로 이사 가고 싶을 때, 수백 개의 글과 이미지를 온전히 빼내는 것(백업)이 매우 어렵습니다.
-
투명한 버전 관리: 글을 쓰다 보면 실수로 내용을 지우거나 예전에 어떻게 썼는지 확인하고 싶을 때가 있습니다. GitHub는 프로그래머들이 코드를 관리하듯, AI가 작성하거나 내가 수정한 글의 모든 변천사(누가, 언제, 무엇을 추가하고 지웠는지)를 타임머신처럼 기록해 둡니다. 덕분에 언제든 과거의 글로 안전하게 되돌아갈 수 있습니다.
-
무료!: GitHub Pages를 이용해 무료로 정적 웹사이트(블로그) 호스팅이 가능합니다. 또 안정적이고 빠릅니다.
-
완전 자동화(CI/CD, 지속적 통합 및 배포) 구현의 편리함: 네이버나 티스토리 같은 일반 블로그는 사람이 직접 사이트에 접속해 글을 쓰고 발행 버튼을 눌러야 합니다. 하지만 GitHub와 코드로 만든 블로그를 사용하면, AI 파이썬 프로그램이 매일 뉴스를 요약해 파일로 저장(Commit)만 해두면 됩니다. 파일이 업데이트되는 순간 GitHub 시스템(GitHub Actions)이 이를 감지하여 새로운 내용을 자동으로 병합(Continuous Integration)하고, 알아서 예쁜 웹사이트 형태로 변환해 인터넷에 실시간으로 발행 및 배포(Continuous Deployment)해 줍니다. 즉, '내가 자는 동안에도 알아서 돌아가는 무인 블로그'를 만들기에 가장 완벽한 환경입니다.
그리고 바이브 코딩을 하려면 어차피 GitHub를 배우고 익숙해질 필요도 있어, GitHub를 선택했습니다. 비개발자 입장에서 잘 모르던 GitHub의 기능들을 알게되고, 왜 가장 인기있는 툴인지 이해할 수 있어서 많은 도움이 되는 좋은 결정이었습니다.
3. 블로그 자동화 구조
블로그 자동화는 크게 데일리 뉴스(Daily News)와 주제별 심층 분석(Deep Research) 으로 구성되어 있습니다. 전체적인 파이프라인의 조감도는 다음과 같습니다.
AI Pipeline Architecture
데이터 수집부터 NotebookLM 심층 리서치를 거쳐 퍼블리싱까지 이어지는 자동화 파이프라인
🔄 데일리 파이프라인 (Daily Flow)
매일 아침 전 세계의 AI 뉴스를 모아 요약본을 발행하는 파이프라인입니다.
- RSS 피드 및 이메일 뉴스레터 수집: AITimes 등 국내외 주요 AI 매체의 RSS 피드를 웹에서 크롤링함과 동시에, TLDR, The Rundown AI, AI Breakfast 등 글로벌 유력 AI 뉴스레터들을 Gmail API를 통해 파이썬 스크립트가 매일 자동으로 수집합니다.
- NotebookLM 심층 리서치 (Deep Research): 구글의 NotebookLM을 CLI 및 MCP(Model Context Protocol) 형태로 연동하여, 수집된 수십 개의 기사를 입력하고 '오늘의 주요 뉴스 Top 10'과 '기타 단신'으로 분류하여 심층 요약합니다.
- 포스트 자동 생성 및 포맷팅: AI가 요약한 결과를 실제 블로그 글로 예쁘게 다듬는 과정은 두 개의 파이썬 스크립트가 협력하여 처리합니다.
auto_blog_daemon.py: 'AI 매니저' 역할을 합니다. 구글 NotebookLM에게 "수집된 기사들을 읽고 Top 10을 뽑아서 글을 써줘"라고 명령을 내리고, 완성된 초안을 받아오는 역할을 합니다.daily_digest.py: '출판 편집자' 역할을 합니다. AI가 작성한 초안을 넘겨받아 블로그 템플릿에 맞게 제목, 날짜, 태그를 붙여주고, 누락된 기사 원문 링크(URL)를 매칭하여 최종적인 예쁜 블로그 파일로 완성한 뒤AI News폴더에 저장합니다.
🎯 심층 리서치 (Deep Research Flow)
특정 주제에 대한 심층 리포트를 원할 때 실행되는 비정기(Ad-hoc) 파이프라인입니다.
"최신 AI 모델들의 성능이 왜 자꾸 떨어질까?"에 대한 조사 지시를 내리면, research_pipeline.py 파이썬 에이전트가 NotebookLM의 'Deep Research' 엔진을 호출합니다. 그러면 NotebookLM이 스스로 구글 검색을 통해 Reddit, 개발자 포럼 등의 방대한 웹 자료를 수집하고 심층 분석하여, 왜 AI가 점점 멍청해지는 걸까? — 성능 저하 원인 분석 이라는 고품질의 블로그 포스트를 단 몇 분 만에 완성하고 발행해 줍니다.
4. 한번에 짠 하고 완성되는 일은 없다.
아는 만큼 보인다는 말은 정말 맞는 말입니다. 일단 만들고 나서 보니, 만들기 전에는 몰랐던 것들도 보이고, 포스트의 품질도 기대치에 못 미치는 경우가 많았습니다. 묻지도 따지지도 않고 일단 디버깅, 개선, 리팩토링을 시전해 줍니다.
🛠️ Gemini API의 한계와 NotebookLM으로의 전면 개편
가장 뼈아팠던 시행착오는 '리서치 엔진의 한계'였습니다. 초기 백엔드 파이썬 코드는 무료로 제공되는 구글 Gemini API(Gemini Flash 모델)의 'Google Search Grounding' 기능을 직접 호출하여 실시간 뉴스를 검색하고 요약하도록 설계되어 있었습니다. 하지만 이 구조는 곧바로 두 가지 치명적인 문제에 직면했습니다.
- 지속적인 503 에러 (서버 과부하): Gemini API 무료 버전의 한계로 인해, 트래픽이 몰리거나 파이프라인이 매일 실행될 때마다 수시로
503 Service Unavailable에러가 발생하며 파이프라인이 멈췄습니다. 이를 피하기 위해 여러 모델 버전을 돌려쓰거나 재시도(Retry) 로직을 추가하며 이리저리 수정해 보았지만 임시방편일 뿐이었습니다. 일단 유료 API로 변경하니 503에러는 발생하지 않게 되었습니다. - 환각(Hallucination)과 맥락 상실: 여러 기사를 구글 검색으로 한꺼번에 긁어와 Gemini에게 "이거 전부 읽고 요약해 줘"라고 던져주다 보니, 한 번에 처리해야 할 정보량이 너무 많아 모델이 엉뚱한 결론을 내리거나 중요한 뉴스를 누락해 버리는 부작용이 심각했습니다. 유료 API도 입력되는 뉴스 데이터가 수십 개 단위로 넘어가면 여전히 이 'Lost in the middle' 현상(중간 정보 누락 및 환각)을 피할 수 없었습니다.
결론적으로, "검색과 방대한 문서 분석은 그에 특화된 전문 도구에 맡기자"는 깨달음을 얻었습니다. 여러 문서를 묶어서 심층 분석하는 데 압도적인 성능을 자랑하는 구글의 NotebookLM을 메인 리서치 엔진으로 전격 교체했습니다. 현재 파이썬 스크립트는 직접 구글 검색을 하지 않고, NotebookLM에게 리서치를 지시한 뒤 완성된 고품질의 요약본을 받아와 블로그 양식에 맞게 다듬는 역할만 수행하도록 구조를 완전히 분리했습니다.
🔗 레퍼런스(출처) 무결성 확보
AI가 출처를 표기할 때, 기사의 상세 URL 대신 홈페이지 메인 주소만 덜렁 적어놓거나, A 매체의 기사에 B 매체의 URL을 매핑하는 등 출처의 신뢰도가 떨어지는 문제가 있었습니다.
- 1:1 맵핑 규칙 강제화: 프롬프트 엔지니어링을 통해 AI가 반드시
[매체명](상세URL)형식으로 원본 링크를 1:1 보존하도록 규칙을 강화했습니다. - 유연한 예외 처리: 원문 URL을 찾을 수 없는 '기타 단신 뉴스'의 경우 억지로 링크를 만들지 않고 텍스트 형태로만 출력하게 하여 가짜 링크(Broken Link) 생성을 원천 차단했습니다. 소스 매체 홈페이지 링크 역시 불필요한 중복을 피해 깔끔한 텍스트로 치환했습니다.
5. 산넘어 산, 최적화
완벽한 블로그가 되기 위해서는 아직 가야할 길이 많이 남았습니다. 도메인도 바꾸고, UX도 개선하고, 광고도 달아보고, 리팩토링을 통해 구조와 코드 최적화 등
하지만 무엇보다도 글 자체의 품질을 높이는 작업이 필수적입니다. 자동화 기능의 고도화도 지속적으로 진행하겠지만, AI가 자동으로 작성한 글을, 제가 검수 및 교정하고 그 결과 데이터를 AI가 다시 피드백으로 학습하여 스스로 발전하는 '휴먼 인 더 루프(Human-in-the-Loop)' 시스템을 구축할 예정입니다. 더 나아가 각 분야 전문가 그룹의 인사이트를 파이프라인에 주입하는 방안도 구상 중입니다.
📚 참고자료
- Next.js Documentation
- NotebookLM by Google
- GitHub Pages Deploy Guide
- 본 블로그의
scripts/내 데몬 스크립트 아키텍처 및 MCP 연동 규칙
💡 AI Learnings 의 다른 글
전체보기→[AI 개발 자동화] Gemini CLI Superpowers 완벽 가이드 및 실전 유스케이스
단순한 터미널 챗봇을 완벽하게 규율 잡힌 시니어 엔지니어로 바꿔주는 Gemini CLI Superpowers 확장의 14가지 핵심 스킬과 실전 활용법을 소개합니다.
[Antigravity 활용 가이드 3] 오픈소스 Skill로 코딩 자동화 파이프라인 구축하기
Gemini CLI의 꽃이라 할 수 있는 Skill 시스템을 이해하고, 오픈소스로 공개된 다양한 스킬을 확장하여 강력한 코딩 자동화 워크플로우를 구축하는 방법을 알아봅니다.
[AI 개발의 미래] Gemini CLI Superpowers vs Antigravity 에이전트 전격 비교
최근 인공지능(AI) 코딩 어시스턴트 시장은 단순한 '코드 자동 완성' 시대를 넘어, 개발자의 워크플로우를 주도적으로 설계하고 실행하는 **'에이전트 기반(Agentic) 개발'** 시대로 접어들었습니다 [1]. 그 중심에는 터미널 환경을 AI 통합 워크스페이스로 변모...
[AI 개발의 혁신] FastMCP란 무엇이며, 왜 사용해야 하는가?
**MCP(Model Context Protocol)**는 대규모 언어 모델(LLM)을 외부 데이터 소스 및 도구와 안전하게 연결해주는 개방형 표준 프로토콜로, 종종 'AI를 위한 USB-C 포트'에 비유됩니다 [1, 2]. 하지만 이 프로토콜의 스펙을 직접 구현하는...
Model Context Protocol (MCP) 완벽 가이드: AI 에이전트 통합의 새로운 표준
**Model Context Protocol (MCP)**는 2024년 11월 Anthropic이 발표한 오픈 소스 표준으로, AI 애플리케이션이 외부 시스템 및 데이터 소스와 원활하고 안전하게 연결될 수 있도록 돕는 범용 프로토콜입니다 [1], [2]. 과거에는 A...
[Antigravity 활용 가이드 2] 토큰 한계를 넘는 비법: YOLO 모드와 청킹(Chunking)
Gemini CLI의 강력한 기능인 YOLO 모드를 활용한 브레인스토밍 이터레이션 기법과 제한된 컨텍스트 윈도우를 효율적으로 극복하는 청킹(Chunking) 기술을 소개합니다.
[Antigravity 활용 가이드 1] Antigravity와 Gemini CLI, 어떻게 다르게 써야 할까?
Agentic AI 코딩 어시스턴트인 Antigravity와 강력한 터미널 도구인 Gemini CLI의 차이점을 알아보고, 각 도구를 어떤 상황에서 어떻게 활용해야 완벽한 시너지를 낼 수 있는지 분석합니다.