내 컴퓨터에서 24시간 도는 아티스트 콘텐츠 운영 AI 에이전트 만들기

안녕하세요.

이번에 “홈랩에서 24시간 멈추지 않는 AI 에이전트 운영 인터페이스 개발하기” 스터디에 참여하게 되었습니다.

저는 기존에 특정 아티스트와 관련된 뉴스를 수집해 뉴스레터를 만드는 기능을 개발했습니다. 이번 프로젝트에서는 기존 뉴스레터 기능에 유튜브 반응 분석과 나무위키 정보 확인 기능을 추가해, 하나의 아티스트 콘텐츠 운영 AI 에이전트로 확장해 보려고 합니다.

최종 목표는 외부 유료 LLM API를 사용하지 않고, 내 컴퓨터에서 실행되는 Ollama 로컬 LLM으로 뉴스·유튜브·나무위키 정보를 분석하는 것입니다.

완성된 에이전트는 Docker로 24시간 실행하고, Tailscale을 이용해 외부나 휴대폰에서도 호출할 수 있도록 만들 계획입니다.


소개

시도하고자 했던 것과 그 이유를 알려주세요

아티스트와 관련된 콘텐츠를 관리하려면 여러 사이트를 반복해서 확인해야 합니다.

예를 들면 다음과 같은 업무입니다.

  • 새로운 뉴스가 올라왔는지 확인

  • 뉴스 중 중요한 내용을 선별하고 요약

  • 뉴스레터 제목과 본문 작성

  • 유튜브 영상별 조회 수와 좋아요 수 확인

  • 새로운 유튜브 댓글 확인

  • 질문·응원·불만·악성 댓글 분류

  • 나무위키에 새로운 내용이 추가되었는지 확인

  • 변경된 정보가 중요한 내용인지 판단

기존에는 뉴스레터를 만들더라도 유튜브와 나무위키는 따로 확인해야 했습니다. 이처럼 여러 곳에 흩어진 정보를 한 번에 수집하고 분석해 주는 에이전트가 있으면 반복 업무를 줄일 수 있을 것으로 생각했습니다.

따라서 이번 4주 프로젝트의 주제를 다음과 같이 정했습니다.

뉴스, 유튜브 반응, 나무위키 변경 사항을 24시간 확인하고 콘텐츠 운영에 필요한 정보를 정리해 주는 AI 에이전트

프로젝트 핵심 기능

1. 뉴스레터 관리

기존에 개발한 뉴스레터 기능을 이번 프로젝트의 첫 번째 Tool로 활용합니다.

  • 아티스트 관련 뉴스 수집

  • 중복 기사 제거

  • 중요 기사 선별

  • 기사 핵심 내용 요약

  • 뉴스레터 제목과 본문 초안 생성

  • 생성 결과 저장

  • 최근 뉴스레터 조회

이번 프로젝트에서는 뉴스레터 실제 발송보다 뉴스 수집부터 뉴스레터 초안 생성까지의 자동화에 집중할 예정입니다.

2. 유튜브 반응 분석

YouTube Data API를 활용해 영상별 성과와 시청자 반응을 수집합니다.

  • 영상별 조회 수 수집

  • 영상별 좋아요 수 수집

  • 영상별 댓글 수 수집

  • 신규 댓글 수집

  • 조회 수 대비 좋아요와 댓글 비율 계산

  • 질문·응원·불만·악성 댓글 분류

  • 반복적으로 등장하는 주제와 키워드 추출

  • 영상별 긍정·부정 반응 요약

  • 반응이 좋은 영상과 확인이 필요한 영상 추천

  • 일간 또는 주간 유튜브 반응 보고서 생성

YouTube Data API에는 추천 수라는 직접적인 통계가 없으므로, 조회 수·좋아요 수·댓글 수와 댓글 내용을 이용해 반응이 좋았던 영상을 에이전트가 추천하도록 만들 예정입니다.

이번 프로젝트는 테스트 목적이기 때문에 다음 기능은 구현하지 않습니다.

  • 실제 댓글 작성

  • 댓글 삭제

  • 댓글 신고

  • 자동 답글 등록

  • 채널 설정 변경

공개적으로 조회할 수 있는 영상 통계와 댓글을 수집하고 분석하는 것까지만 구현할 예정입니다.

3. 나무위키 정보 확인

아티스트의 나무위키 문서를 주기적으로 확인해 변경된 내용을 찾아보려고 합니다.

  • 지정된 나무위키 문서 확인

  • 현재 문서 내용 저장

  • 이전에 저장한 문서와 비교

  • 추가·수정·삭제된 내용 탐지

  • 중요한 변경인지 로컬 LLM으로 분석

  • 변경된 내용 요약

  • 확인이 필요한 정보 목록 생성

나무위키는 안정적인 공식 콘텐츠 API가 없으므로 대량으로 문서를 수집하지 않고, 지정한 문서 몇 개를 낮은 빈도로 확인할 예정입니다.

또한 나무위키 내용을 자동으로 편집하거나 그대로 재게시하지 않고, 변경 사항을 탐지하고 분석하는 기능까지만 구현합니다.

최종 사용 모습

사용자가 에이전트에게 다음과 같이 요청할 수 있는 상태를 목표로 합니다.

오늘 아티스트 콘텐츠 운영 상태를 확인해 줘.

에이전트는 요청을 이해하고 필요한 Tool을 선택합니다.

1. 새로운 뉴스 수집
2. 중요 뉴스 선별
3. 뉴스레터 초안 생성
4. 유튜브 영상 통계 수집
5. 신규 댓글 수집
6. 댓글 유형과 주요 반응 분석
7. 반응이 좋았던 영상 추천
8. 나무위키 변경 사항 확인


진행 방법

어떤 도구를 사용하고, 어떻게 활용할 예정인가요?

  • Python: 프로젝트 기본 개발 언어

  • FastAPI: 기능을 호출하고 결과를 확인할 API 서버

  • Agent SDK: Agent의 Tool 선택과 실행 관리

  • Ollama: 뉴스 요약, 댓글 분류, 변경 사항 분석

  • YouTube Data API: 영상 통계와 신규 댓글 수집

  • PostgreSQL: 수집 데이터와 작업 이력 저장

  • Docker: 서버와 에이전트의 24시간 상주 실행

  • Tailscale: 휴대폰과 외부 PC에서 안전하게 접속

  • Codex: 프로젝트 설계, 코드 작성, 테스트와 오류 해결

외부 LLM API 비용을 발생시키지 않기 위해 OpenRouter와 OpenAI API는 사용하지 않습니다.

뉴스 요약, 뉴스레터 초안 작성, 유튜브 댓글 분류, 나무위키 변경 분석은 내 PC에서 실행되는 Ollama 로컬 모델로 처리할 예정입니다.

전체 구조

세 가지 기능을 모두 Agent 내부에 직접 작성하는 대신, 각 기능을 독립적인 서비스로 만들고 Agent가 Tool로 호출하도록 설계했습니다.

사용자 또는 스케줄러
          │
          ▼
     FastAPI 서버
          │
          ├── 뉴스레터 서비스
          ├── YouTube 분석 서비스
          ├── 나무위키 확인 서비스
          ├── 데이터베이스
          │
          └── AI Agent
                 │
                 ├── 뉴스 Tool
                 ├── YouTube Tool
                 └── 나무위키 Tool

각 구성 요소의 역할은 다음과 같습니다.

  • FastAPI: 외부 요청을 받는 창구

  • 서비스 모듈: 데이터 수집, 저장, API 호출

  • Ollama: 요약, 분류, 분석, 보고서 생성

  • Agent: 요청을 해석하고 필요한 Tool을 순서대로 선택

  • Scheduler: 정해진 시간에 수집 작업 실행

  • Database: 뉴스, 통계, 댓글, 변경 내용, 작업 상태 저장

  • Docker: 프로그램을 계속 실행하고 오류 발생 시 재시작

  • Tailscale: 집 밖에서 홈 PC의 서버에 접속

API 서버와 Agent의 역할 구분

이번 프로젝트를 계획하면서 가장 고민했던 부분은 세 가지 기능을 API 서버에 넣어야 하는지, Agent에 넣어야 하는지였습니다.

현재는 다음과 같이 구분했습니다.

API 서버와 서비스가 담당하는 기능

  • 뉴스 데이터 가져오기

  • YouTube Data API 호출

  • 영상별 조회 수·좋아요 수·댓글 수 수집

  • 신규 댓글 가져오기

  • 나무위키 문서 가져오기

  • 데이터를 DB에 저장

  • 이전 데이터와 현재 데이터 비교

  • 작업 상태와 오류 기록

Agent가 담당하는 기능

  • 어떤 뉴스가 중요한지 판단

  • 뉴스레터 초안 작성

  • 유튜브 댓글 유형 분류

  • 주요 반응과 반복 키워드 추출

  • 영상 성과 비교

  • 반응이 좋은 영상 추천

  • 나무위키 변경의 중요도 판단

  • 여러 Tool을 어떤 순서로 실행할지 결정

  • 전체 운영 보고서 생성

즉, 실제 기능은 API 서버의 서비스 모듈에 만들고, Agent는 해당 기능들을 Tool로 사용하면서 판단을 담당하도록 구성할 예정입니다.


4주 진행 계획

1주차: FastAPI 서버 뼈대 만들기

첫 주에는 AI 모델을 연결하지 않고, 각 기능을 요청하고 결과를 확인할 수 있는 API 서버를 만듭니다.

예정 API는 다음과 같습니다.

GET  /health
GET  /dashboard

POST /newsletter/run
GET  /newsletter/latest

POST /youtube/sync
GET  /youtube/videos
GET  /youtube/videos/{video_id}/stats
GET  /youtube/videos/{video_id}/comments

POST /wiki/check
GET  /wiki/changes

GET  /jobs/{job_id}

주요 API의 역할은 다음과 같습니다.

  • /health: 서버 상태 확인

  • /dashboard: 전체 콘텐츠 운영 현황 조회

  • /newsletter/run: 뉴스 수집과 뉴스레터 초안 생성 요청

  • /youtube/sync: 영상 통계와 신규 댓글 수집

  • /youtube/videos: 수집된 영상 목록 조회

  • /wiki/check: 나무위키 변경 확인

  • /wiki/changes: 확인된 변경 내용 조회

  • /jobs/{job_id}: 작업 진행 상태와 오류 확인

1주차에는 기존 뉴스레터 기능을 API에서 호출할 수 있도록 정리하고, YouTube와 나무위키 기능은 테스트 데이터를 저장하고 조회할 수 있는 뼈대부터 만들 예정입니다.

1주차 결과물

  • 실행 가능한 FastAPI 서버

  • 기존 뉴스레터 기능 호출 API

  • 유튜브 영상 통계와 댓글 저장 구조

  • 나무위키 변경 내역 저장 구조

  • 서버 상태와 작업 상태 조회

  • FastAPI /docs 화면에서 API 테스트

2주차: Docker 배포와 Agent SDK 연결

두 번째 주에는 FastAPI 서버를 Docker 컨테이너로 실행합니다.

다음 조건을 확인할 예정입니다.

  • 컨테이너가 정상적으로 실행되는가?

  • PC를 재부팅한 후 자동으로 다시 실행되는가?

  • 프로그램 오류가 발생하면 다시 시작되는가?

  • 데이터가 컨테이너 재시작 후에도 유지되는가?

  • 실행 로그와 오류를 확인할 수 있는가?

이후 Agent SDK를 연결하고, 각 기능을 Agent Tool로 등록합니다.

예정 Tool은 다음과 같습니다.

collect_news
generate_newsletter_draft
sync_youtube_data
analyze_video_reactions
check_wiki_changes
get_operation_status

사용자가 다음과 같이 요청하면 Agent가 필요한 Tool을 선택하도록 만들 예정입니다.

“오늘 유튜브 반응을 분석해 줘.”
1. sync_youtube_data 실행
2. 신규 영상 통계와 댓글 저장
3. analyze_video_reactions 실행
4. 결과 요약

2주차 결과물

  • Docker로 실행되는 FastAPI 서버

  • 컨테이너 자동 재시작

  • Agent SDK를 이용한 Agent

  • Agent에 최소 1개 이상의 Tool 연결

  • Tool 실행 결과와 오류 로그 저장

3주차: Ollama 로컬 LLM과 Tailscale 연결

세 번째 주에는 외부 LLM API 대신 Ollama를 연결합니다.

Ollama는 다음 작업을 담당합니다.

  • 중요 뉴스 선별

  • 뉴스 기사 요약

  • 뉴스레터 초안 작성

  • 유튜브 댓글 분류

  • 주요 댓글 반응과 키워드 추출

  • 영상별 반응 비교

  • 나무위키 변경 내용 분석

  • 전체 운영 보고서 작성

Ollama 모델은 PC에서 안정적으로 실행할 수 있는 크기를 우선 선택할 예정입니다. 모델 크기에 따른 응답 속도와 분석 품질도 비교해 보려고 합니다.

Tailscale도 설치해 PC와 휴대폰을 같은 사설 네트워크로 연결합니다.

외부의 휴대폰
      │
      ▼
Tailscale VPN
      │
      ▼
홈 PC의 FastAPI 서버
      │
      ▼
AI Agent + Ollama

예약 실행 기능도 추가할 예정입니다.

매일 오전 7시
→ 새로운 뉴스 수집

일정 주기
→ 유튜브 영상 통계와 신규 댓글 수집

하루 1회
→ 나무위키 변경 확인

3주차 결과물

  • Ollama 로컬 모델 연결

  • 댓글 분류와 뉴스 요약

  • 나무위키 변경 분석

  • Tailscale을 통한 휴대폰 접속

  • 정해진 시간에 실행되는 스케줄러

  • 외부 API 실패 시 오류 저장과 재시도

4주차: 전체 데모와 운영 회고

마지막 주에는 새로운 기능을 추가하기보다 전체 흐름을 연결하고 안정화할 예정입니다.

최종 데모에서는 다음 요청을 사용할 계획입니다.

“오늘 아티스트 콘텐츠 운영 상태를 확인하고 보고서를 만들어 줘.”

Agent가 뉴스, 유튜브, 나무위키 Tool을 순서대로 실행하고 하나의 결과로 정리하는 과정을 시연하려고 합니다.

4주차 결과물

  • 뉴스레터 초안 생성 시연

  • 유튜브 영상 통계 및 댓글 분석 시연

  • 나무위키 변경 확인 시연

  • 세 가지 결과를 합친 운영 보고서

  • Docker 재시작 테스트

  • 휴대폰에서 Agent 호출

  • 실행 이력과 오류 로그 확인

  • README와 아키텍처 다이어그램

  • Ollama 모델별 속도와 결과 품질 비교


결과와 배운 점

현재는 프로젝트 구현 전, 4주 동안 진행할 주제와 범위를 정한 상태입니다.

처음에는 뉴스레터, 유튜브, 나무위키 기능을 모두 하나의 Agent 코드 안에 넣어야 한다고 생각했습니다.

계획을 정리하면서 Agent와 일반 기능의 역할이 다르다는 것을 알게 되었습니다.

API 서버
→ 외부 요청을 받는 창구

서비스 모듈
→ 뉴스, 댓글, 문서를 실제로 수집하고 저장

Agent
→ 어떤 Tool을 사용할지 판단하고 결과를 분석

Ollama
→ 요약, 분류, 보고서 생성

Docker
→ 서버와 Agent를 계속 실행

Tailscale
→ 외부에서 홈 PC에 접속

이번 프로젝트에서 중요한 것은 기능을 많이 만드는 것이 아니라, 이미 만든 자동화 기능을 Agent Tool로 연결하고 실제로 운영할 수 있는 구조를 경험하는 것이라고 생각합니다.

예상되는 시행착오

가장 큰 위험은 세 가지 기능의 범위가 커져 4주 안에 프로젝트를 완성하지 못하는 것입니다.

그래서 다음 순서로 우선순위를 정했습니다.

1순위: 기존 뉴스레터 기능을 API와 Agent Tool로 연결
2순위: YouTube 영상 통계와 신규 댓글 수집
3순위: Ollama를 이용한 댓글 반응 분석
4순위: 나무위키 변경 감지와 분석

일정이 부족하면 뉴스레터와 유튜브 반응 분석을 먼저 완성하고, 나무위키 기능은 지정 문서 한 개의 변경을 확인하는 수준으로 줄일 예정입니다.

또한 Ollama는 무료로 사용할 수 있지만 다음과 같은 제한이 있을 것으로 예상합니다.

  • PC의 CPU·GPU와 메모리 사용

  • 클라우드 모델보다 느린 응답

  • 작은 모델의 한국어 분석 품질

  • Docker와 Ollama의 연결 문제

  • 장시간 실행 시 발열과 전력 사용

이 부분도 실제 운영 과정에서 확인하고 기록해 보려고 합니다.

앞으로의 계획

이번 프로젝트를 통해 단순히 API를 호출하거나 LLM에 프롬프트를 보내는 수준을 넘어가고 싶습니다.

최종적으로 다음 내용을 직접 구현하고 설명할 수 있는 것이 목표입니다.

기존 뉴스레터 자동화 기능과 YouTube·나무위키 데이터 수집 기능을 하나의 AI Agent Tool로 연결하고, Ollama 로컬 LLM으로 분석하며, Docker와 Tailscale을 이용해 내 PC에서 24시간 운영되는 시스템을 구축했다.


활용 이미지 및 캡처 계획

사례글을 업데이트하면서 다음 화면을 추가할 예정입니다.

  • 1주차: FastAPI /docs API 테스트 화면

  • 2주차: Docker 컨테이너 실행 화면과 Agent Tool 실행 로그

  • 3주차: Ollama 분석 결과와 휴대폰 Tailscale 접속 화면

  • 4주차: 뉴스·유튜브·나무위키 결과가 합쳐진 최종 운영 보고서

도움 받은 글

  • 홈랩에서 24시간 멈추지 않는 AI 에이전트 운영 인터페이스 개발하기

  • YouTube Data API 공식 문서

  • Ollama 공식 문서

  • Agent SDK 공식 문서

  • FastAPI 공식 문서

  • Docker 공식 문서

  • Tailscale 공식 문서

2
1개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.