AI 에이전트로 블로그 파이프라인 자동화하는 법 — Hermes Agent 실제 구축 사례
블로그 운영하다 보면 하루가 금방 간다. 키워드 찾고, 글 쓰고, 이미지 만들고, 검수하고, 발행 버튼 누르는 걸 매일 반복해야 하니까. 주 3~5개 꾸준히 올리는 건 체력보다 인내심의 싸움이다.
AI가 이 과정을 대신해줄 수 있다면? 단순히 글만 쓰는 수준을 넘어, 기획부터 검수, 발행까지 전 과정을 AI 에이전트가 자동 처리하게 만드는 게 가능하다. 이 글에서는 Hermes Agent로 실제 블로그 자동화 파이프라인을 구축한 경험을 공유한다. 이 사이트(ai.ktoolu.com/blog) 자체가 이 시스템으로 돌아가고 있다.
AI 에이전트 vs AI 채팅: 뭐가 다른가
ChatGPT에 "블로그 글 써줘"라고 프롬프트를 날려본 경험은 누구나 있을 것이다. 하지만 그 결과물을 가져와서 직접 수정하고, 이미지를 만들고, CMS에 올리는 건 사람 몫이다.
AI 에이전트는 이걸 다르게 접근한다. 단순한 채팅 인터페이스가 아니라, 스스로 도구를 호출하고 파일을 읽고 쓰며, 정해진 일정에 따라 작업을 실행한다. 정리하면:
구분 | AI 채팅 (ChatGPT 등) | AI 에이전트 (Hermes 등)
작업 방식 | 사용자가 질문 → AI가 답변 | AI가 스스로 도구 호출 + 파일 작업
반복 작업 | 매번 프롬프트 입력 | cron으로 자동 실행
연속성 | 대화 세션마다 초기화 | 상태 유지 + 메모리 활용
외부 연동 | 수동 복붙 필요 | API, DB, 파일 직접 조작
즉, AI 에이전트는 "생각하는 AI + 행동하는 도구" 가 합쳐진 거다. 블로그 자동화를 위해서는 이 조합이 가장 중요하다.
Hermes Agent의 구조 이해하기
Hermes Agent는 오픈소스 AI 에이전트 프레임워크로, Nous Research에서 개발했다. 블로그 자동화 파이프라인을 구축할 때 핵심이 되는 요소는 세 가지다.
1. 스킬(Skills) — 작업 템플릿
스킬은 특정 작업을 수행하는 방법을 정의한 명세서다. 예를 들어 이 글을 쓰는 데 사용된 `ai-ktoolu-writer` 스킬은 다음과 같은 흐름을 담고 있다:
1. 주제 선정 (content-master-plan 확인) 2. 중복 체크 (기존 글 확인) 3. 글 작성 (1,500자 이상, frontmatter 포함) 4. 품질 검수 (quality-reviewer 로드) 5. Humanize (AI 패턴 제거) 6. 파일 저장 및 manifest 업데이트 7. Notion API 발행
스킬은 YAML frontmatter로 메타데이터를 정의하고, 마크다운 본문으로 상세 절차를 기록한다. 새 블로그 사이트를 추가할 때는 해당 사이트 전용 스킬 하나만 만들면 된다.
2. 크론(Cron) — 실행 스케줄러
매주 월요일 아침 7시, GM 에이전트가 `content-master-plan.md`를 갱신한다. 화요일 아침 7시 30분이면 ai-ktoolu-writer가 실행돼서 금주 할당된 글을 작성한다. 사람 손 하나 안 거치고 cron이 다 처리한다.
`~/.hermes/` 디렉토리 아래에 YAML 형식으로 cron 작업을 정의한다:
```yaml # ai-ktoolu 크론 예시 schedule: "30 7 * * 2" # 매주 화요일 07:30 skill: ai-ktoolu-writer context: "2026년 기준 최신 정보 사용" ```
3. 도구(Tools) — 외부 세계와의 연결
에이전트가 직접 사용할 수 있는 도구 모음이다. 블로그 파이프라인에서 실제 쓰는 도구를 몇 개 꼽아보면:
- **browser_navigate** — 기존 글 확인, 자료 조사
- **terminal** — Notion API curl 호출, 파일 복사/이동
- **write_file/patch** — 마크다운 파일 저장 및 수정
- **웹 검색** — 최신 정보 확인
도구가 많을수록 에이전트 혼자 처리할 수 있는 작업 범위가 넓어진다.
실제 파이프라인: ai.ktoolu.com/blog 운영 구조
말로만 설명하면 감이 안 잡히니까, 이 사이트가 실제로 어떻게 운영되는지 보여주겠다.
전체 흐름
```mermaid flowchart LR A[content-master-plan] --> B[GM 주간 계획] B --> C[ai-ktoolu-writer 실행] C --> D[주제 확인 + 중복 체크] D --> E[글 작성] E --> F[quality-reviewer 검수] F --> G[humanizer 처리] G --> H[01-draft 저장] H --> I[Notion Blog DB 발행] I --> J[04-published 이동 + 정리] ```
발행 파이프라인 상세
1. 주제 할당: 매주 월요일 GM 에이전트가 사이트별 콘텐츠 현황을 분석하고, `content-master-plan.md`에 금주 할당 주제를 기록한다. Search Console 데이터와 커버리지 공백을 기반으로 주제를 선정한다.
2. 작성: 화요일과 목요일, 각각 할당된 주제로 에이전트가 글을 작성한다. 이 과정에서 이미 발행된 글과 중복되는지 browser로 확인하고, ktoolu.com 등 관련 사이트와의 방향 중복도 체크한다.
3. 검수 + 휴머나이즈: quality-reviewer 스킬이 8개 게이트(Gate)를 통과하는지 검증한다. 글자 수 1,500자 이상, 구조적 완성도, 출처 정확성, AdSense 대비 등을 자동 확인한다. 이후 humanizer 스킬이 AI 특유의 표현("~입니다", "~할 수 있습니다" 남발 등)을 제거한다.
4. 발행: Notion Blog DB에 페이지를 생성한다. 마크다운을 Notion block JSON으로 변환하는 전용 스크립트(`gen-notion-payload.py`)를 통해 제목, 본문, 태그, 카테고리, 발행일 등이 자동으로 매핑된다.
5. 정리: 발행 후 파일을 `01-draft/`에서 `04-published/`로 이동하고, `pipeline-manifest.json`에 발행 기록을 남긴다. 이 단계를 빼먹으면 같은 글이 draft와 published에 중복으로 남게 된다.
파이프라인 핵심 구성 요소
Notion을 CMS로 활용하기
ai.ktoolu.com/blog는 Notion을 헤드리스 CMS로 사용한다. Notion Database에 글을 등록하면 Cloudflare Pages(n8n 웹훅)가 자동으로 정적 사이트를 재빌드한다. 이 방식의 장점은:
- **Notion UI로 간편 관리** — 마크다운을 몰라도 팀원이 수정 가능
- **API가 안정적** — REST API로 페이지 생성·수정·조회 가능
- **버전 관리 불필요** — Notion 자체 히스토리로 롤백 가능
실제 발행 시 필요한 API 호출 구조:
```json POST /v1/pages { "parent": { "database_id": "..." }, "properties": { "Title": { "title": [{ "text": { "content": "제목" } }] }, "Slug": { "rich_text": [{ "text": { "content": "slug" } }] }, "Summary": { "rich_text": [{ "text": { "content": "SEO 설명" } }] }, "Category": { "select": { "name": "카테고리" } }, "Tags": { "multi_select": [{ "name": "태그" }] }, "Published": { "checkbox": true }, "PublishedAt": { "date": { "start": "2026-07-28" } } } } ```
자동 검수 시스템
품질 검수는 Gate라는 단위로 나뉜다. 각 Gate는 세부 체크리스트와 통과 기준을 가진다:
Gate | 검수 항목 | 통과 기준
Gate 1 | 구조 | H2 3개 이상, 도입부·결론 있음
Gate 2 | 길이 | 1,500자 이상
Gate 3 | 미디어 | 이미지 1장 이상
Gate 4 | 어조 | AI 특유 표현 없음
Gate 5 | 출처 | 수치/통계 출처 명시
Gate 8 | 한국어 품질 | ~ㅂ니다체 혼용 없음, 금칙어 없음
FAIL이 나오면 에이전트가 수정 후 재검수한다. 2회 연속 FAIL이면 ESCALATED 플래그를 붙여 사람의 판단을 기다린다.
Humanizer: AI 톤 제거
AI가 쓴 글은 읽으면 안다. "~입니다", "~할 수 있습니다", "또한", "특히" 같은 표현이 일정한 간격으로 반복되고, 문장 길이가 인위적으로 균일하다. humanizer는 이런 패턴을 제거하는 전용 스킬이다.
주요 처리 대상:
- **과장된 표현 제거:** "획기적인", "혁신적인", "주목할 만한" → 사실만 씀
- **서론형 표현 정리:** "오늘날의 디지털 세상에서" → 바로 본론
- **문장 리듬 변화:** 전부 같은 길이 → 짧게/길게 섞기
- **개인적인 의견 추가:** "써보니 이게 좋더라" 같은 실제 경험 톤
직접 구축해보기: 미니멀 버전
이 모든 시스템이 부담스럽다면, 최소한의 구성으로 시작하는 방법도 있다.
최소 구성 (1일 1시간 → 10분)
``` Google Search Console → ChatGPT(프롬프트 템플릿) → 수동 확인 → 발행 ```
1. Search Console에서 검색량 있는 키워드 추출 2. ChatGPT에 글쓰기 프롬프트 템플릿 적용 3. 사람이 퀄리티 체크 후 수정 4. CMS에 직접 발행
중간 구성 (1일 10분 → 1분)
``` Search Console → AI 에이전트(작성+검수) → 수동 승인 → Notion API 발행 ```
1. AI 에이전트가 키워드 기반 초안 작성 2. 검수 자동화로 1차 품질 확보 3. 사람이 최종 승인만 누름 4. Notion API로 자동 발행
완전 자동화 구성 (0분 — 완전 자동)
``` cron → AI 에이전트(주제 할당+작성+검수+발행) → Notion DB → 정적 사이트 배포 ```
1. cron이 정해진 시간에 작업 실행 2. 모든 과정을 사람 개입 없이 처리 3. Notion DB 업데이트 → 정적 사이트 자동 재배포
주의할 점
- **발행 전 최종 검수는 필수다.** 아무리 Gate를 통과해도 맥락을 놓친 문장이 나올 수 있다. 특히 AI 툴의 스펙이나 가격 정보는 공식 사이트에서 반드시 재확인해야 한다.
- **cron 시간은 트래픽이 적은 시간대가 좋다.** API 호출 제한(Rate Limit)에 걸리지 않도록 작업 간격을 5분 이상 두는 게 안전하다.
- **pipeline-manifest를 잘 관리해야 한다.** 같은 글이 여러 번 발행되는 걸 막으려면 발행 후 원본을 반드시 삭제하거나 이동시켜야 한다. 실제로 이걸 빼먹어서 17개의 글이 중복 발행된 사례가 있었다.
- **모든 사이트에 같은 파이프라인을 적용할 필요는 없다.** 사이트 성격에 따라 검수 기준이 다르고, CMS도 다르다. Astro 기반 사이트는 git push + Vercel/Cloudflare Pages로 배포하고, Notion 기반 사이트는 API로 직접 발행하는 식으로 유연하게 가져가는 게 좋다.
총평
AI 에이전트로 블로그 자동화하는 건 더 이상 공상이 아니다. 이 글을 포함한 ai.ktoolu.com/blog의 모든 콘텐츠가 사람 손을 거의 안 거치고 만들어지고 있다. 키워드 발굴 → 글 작성 → 검수 → 발행까지 Hermes Agent가 다 처리한다.
물론 "AI가 썼다"는 게 면죄부는 아니다. 검수는 여전히 중요하고, 사람의 취향과 판단이 결과물의 완성도를 결정한다. 다만 AI가 70~80%의 루틴 작업을 대신해주니, 남은 20%에 집중할 수 있다는 게 가장 큰 장점이다.
당신 블로그에도 적용해보는 건 어떨까. "일주일에 한 개, ChatGPT로 작성 후 사람이 검수" — 이게 가장 쉬운 시작점이다.
새 글 알림 받기
유튜버를 위한 실전 팁과 최신 트렌드를 이메일로 받아보세요.
스팸 없이, 새 글이 올라올 때만 보내드려요.
언제든지 구독 취소할 수 있어요 · 스팸 없음