본문으로 건너뛰기

MakhalReader: 엔지니어를 위한 LLM 기반 지능형 RSS 리더

LLM을 활용해 RSS 피드의 기술적 가치를 0-10점으로 평가하고 요약하여 정보 과잉을 해결하는 오픈소스 엔지니어용 리더입니다.

섹션별 상세

LLM 기반의 정교한 콘텐츠 스코어링 시스템을 통해 정보의 질을 필터링한다. 수집된 기사는 사전에 정의된 기술 프로필(Kubernetes, eBPF, LLM 추론 등)과 비교되어 0-10점 사이의 점수를 부여받으며, 0-2점의 낮은 가치 기사는 자동으로 제외되고 8점 이상의 우수한 기사는 데일리 다이제스트로 분류된다.
사용자 상호작용을 통한 개인화 프로파일링 메커니즘을 구현했다. 기사에 대한 추천(Upvote) 및 비추천(Downvote) 데이터를 기반으로 태그 빈도를 분석하여 구조화된 선호도 프로필을 구축하며, 이는 LLM-Rec 연구 결과를 적용하여 단순 제목 기반 추천보다 15-22% 높은 순위 정확도를 보여준다.
3단계 중복 제거 기술을 사용하여 동일한 콘텐츠의 반복 노출을 방지한다. 추적 파라미터가 제거된 Canonical URL 정규화, 제목 핑거프린팅, 그리고 소스 신뢰도 기반의 단일 진실 공급원(Source of Truth) 선정 과정을 거쳐 여러 플랫폼에 동시 게재된 기사를 하나로 통합 관리한다.
FastAPI와 React를 기반으로 한 현대적인 풀스택 아키텍처를 채택했다. SQLite의 WAL(Write-Ahead Logging) 모드를 사용하여 데이터 무결성과 빠른 읽기 성능을 확보했으며, SSE(Server-Sent Events)를 통해 새로운 기사와 LLM 분석 결과가 실시간으로 UI에 반영되는 반응형 환경을 제공한다.
text
OPENROUTER_API_KEY=sk-or-v1-...
SCORER_MODEL=google/gemini-2.5-flash-lite

# 로컬 Ollama 폴백 설정
OLLAMA_URL=http://host.docker.internal:11434
OLLAMA_MODEL=mistral

FETCH_INTERVAL_MINUTES=15

LLM 모델 선택 및 폴링 간격 설정을 위한 환경 변수 구성 예시

용어 해설

RSS 피드(RSS)
웹사이트의 업데이트 정보를 XML 형식으로 배포하는 기술이다. 사용자가 여러 사이트를 방문하지 않고도 한곳에서 최신 콘텐츠를 구독할 수 있게 하며, MakhalReader는 이 데이터를 수집하여 LLM으로 분석하는 원천으로 활용한다.
프로그레시브 웹 앱(PWA)
웹 기술을 사용하여 네이티브 앱과 유사한 사용자 경험을 제공하는 애플리케이션이다. 오프라인 캐싱, 푸시 알림, 홈 화면 추가 기능을 지원하여 네트워크 연결 없이도 저장된 기사를 읽을 수 있게 한다.
서버 전송 이벤트(SSE)
서버에서 클라이언트로 실시간 데이터를 단방향으로 푸시하는 웹 기술이다. MakhalReader에서 새로운 기사가 수집되거나 LLM 점수 산정이 완료되었을 때 페이지 새로고침 없이 UI를 즉시 업데이트하는 데 사용된다.
로그 선행 기입(WAL)
SQLite 데이터베이스에서 쓰기 성능과 동시성을 향상시키는 메커니즘이다. 변경 사항을 별도의 로그 파일에 먼저 기록한 후 나중에 데이터베이스에 반영하여, 읽기 작업과 쓰기 작업이 서로를 차단하지 않도록 최적화한다.
트라필라투라(Trafilatura)
웹 페이지에서 광고, 메뉴, 푸터 등을 제외하고 실제 본문 텍스트와 메타데이터만 정교하게 추출하는 Python 라이브러리이다. LLM이 핵심 내용만 효율적으로 분석할 수 있도록 입력 데이터를 정제하는 역할을 수행한다.

코드 예제

bash
# 1. 환경 설정 구성
cp .env.example .env
# OPENROUTER_API_KEY 설정 (또는 Ollama 사용을 위해 비워둠)

# 2. 실행
docker compose up -d

Docker Compose를 사용하여 MakhalReader를 로컬 환경에 즉시 배포하는 명령어

기술

  • FastAPI
  • React
  • SQLite
  • Gemini 2.0 Flash
  • Ollama
  • Docker
  • Trafilatura
  • Tailwind CSS

활용 사례

  • 기술 블로그 자동 큐레이션
  • 개인용 AI 뉴스 다이제스트 생성
  • 오프라인 기술 문서 리더
  • 중복 기사 제거 및 통합 관리
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 03. 21.수집 2026. 03. 21.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.