Digester 구축하기: 클라우드 네이티브 지식 컨시어지
요약
사용자의 과거 독서 메모리와 새로운 기술 기사를 시맨틱 벡터 검색으로 연결하는 AI 기반 지식 컨시어지 'Digester' 구축 사례를 소개합니다. Next.js, Supabase(pgvector), AWS 등을 활용한 클라우드 네이티브 아키텍처를 다룹니다.
핵심 포인트
- 시맨틱 벡터 검색을 통한 과거 지식과 신규 정보의 문맥 연결
- Next.js와 비동기 처리를 활용한 매끄러운 사용자 경험 구현
- Supabase와 pgvector를 이용한 임베딩 및 벡터 유사도 검색
- Docker와 AWS EC2, GitHub Actions를 활용한 CI/CD 파이프라인 구축
정보 과부하는 개발자의 생산성을 크게 저하시키는 요소입니다. 우리 모두는 나중에 읽겠다고 약속하며 기술 기사, 심층 분석(deep-dives), 문서 페이지들을 북마크하지만, 실제로 읽는 경우는 드뭅니다. 정적인 북마크 목록은 가치 있는 지식이 사장되는 디지털 무덤이 됩니다.
Digester는 비동기 방식의 AI 기반 지식 컨시어지(knowledge concierge)입니다. 일반적인 요약을 제공하는 대신, URL을 입력받아 시맨틱 벡터 검색(semantic vector search)을 사용하여 사용자의 과거 독서 메모리와 대조한 후, 새로운 통찰을 과거에 읽었던 내용과 직접 연결하여 매우 구조화된 3가지 항목의 브리핑을 전달합니다.
사용자 관점에서 경험은 빠르고, 마찰이 없으며, 매끄럽습니다:
- 제출(Submit): 미니멀한 커맨드 팔레트(command-palette) 스타일의 입력창에 기술 기사 URL을 붙여넣습니다.
- 관찰(Observe): 대시보드가 즉시 로딩 상태("비동기 스크래퍼 및 벡터 검색 처리 중... (Processing async scraper & vector search...)")로 전환됩니다. 백엔드에서 무거운 작업을 수행하는 동안 화면이 멈춘 채로 기다릴 필요가 없습니다.
- 읽기(Read): 대시보드가 동적으로 업데이트되어 정확히 세 개의 실행 가능한 통찰력 카드(actionable insight cards)를 표시합니다. 각 카드는 핵심 요점을 알려주며, 이전 데이터와 어떻게 업데이트되거나 연결되는지를 보여주는 "문맥 일치(Context Match)"를 포함합니다.
기술 아키텍처 및 흐름 (Technical Architecture & Flow)
앱이 타임아웃 없이 대량의 문서 처리를 수행할 수 있도록, 애플리케이션을 세 가지 명확한 계층으로 분리했습니다:
1. 프론트엔드 흐름 (Frontend Flow - 에지 계층 (The Edge Layer))
- 사용 기술: Next.js (App Router) + Tailwind CSS + Vercel
- 흐름: 이 계층은 전역 프레젠테이션과 사용자 상태를 처리합니다. 사용자가 URL을 입력하면 프론트엔드는 즉시 백그라운드 작업을 시작하고 사용자 연결을 바로 해제하여, UI를 빠르고 반응성 있게 유지합니다.
2. 백엔드 흐름 (Backend Flow - 엔진 및 메모리 계층 (The Engine & Memory Layer))
- 사용 기술: Node.js/Python API + Supabase (pgvector가 포함된 PostgreSQL)
- 흐름 (The Flow): URL이 캡처되면, 백엔드는 해당 페이지를 스크래핑하여 LLM이 처리하기 적합한 깨끗한 마크다운 (Markdown) 형태로 변환합니다. 이 텍스트를 청크 (Chunks) 단위로 분할하고, 의미론적 임베딩 (Semantic Embeddings)을 생성한 뒤, 데이터베이스 내부에서 벡터 유사도 검색 (Vector Similarity Search)을 수행합니다. 이를 통해 사용자의 이력을 검색하여 LLM 파이프라인 (LLM Pipeline)에 입력하고, 새롭게 학습된 지식을 메모리 그래프 (Memory Graph)에 다시 저장합니다.
3. DevOps 흐름 (인프라 및 자동화 계층 (The Infrastructure & Automation Layer))
- 사용 기술: GitHub Actions + Docker + AWS EC2 + Nginx + CloudWatch
- 흐름 (The Flow):
- CI/CD: 코드를 GitHub에 푸시할 때마다 자동화된 워크플로우 (Workflow)가 실행되어 백엔드의 보안 Docker 이미지를 빌드하고, 이를 AWS EC2 인스턴스에 즉시 배포합니다.
- 라우팅 및 게이트 (Routing & Gates): Nginx가 EC2 서버에서 리버스 프록시 (Reverse Proxy) 역할을 수행하며, 들어오는 보안 웹 트래픽을 깔끔하게 관리합니다.
- 모니터링 (Monitoring): AWS CloudWatch가 컨테이너 로그를 지속적으로 수집하고 메트릭 알람 (Metric Alarms)을 설정하여, 파이프라인 실패나 LLM 타임아웃 (Timeout)이 발생할 경우 즉시 알림을 보냅니다.
다음 단계는?
현재 저희는 백그라운드에서 대규모 클라우드 아키텍처 (Cloud Architecture)와 에이전틱 워크플로우 (Agentic Workflows)를 구축하고 있습니다. 곧 실행 단계에 대해 업데이트해 드릴 예정이니, 계속 지켜봐 주세요!
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기