엔지니어가 엔지니어링에 집중할 수 있도록 자율형 콘텐츠 파이프라인을 구축했습니다
요약
콘텐츠 발행 과정을 CI/CD 파이프라인처럼 자동화하기 위해 n8n을 활용한 자율형 워크플로우를 구축했습니다. 주제 선정부터 기사 작성, 검토, 이미지 생성, 배포까지의 전 과정을 엔지니어링 원칙을 적용하여 자동화했습니다.
핵심 포인트
- 콘텐츠 발행을 소프트웨어 배포와 유사한 CI/CD 관점으로 접근
- n8n을 중심 엔진으로 활용한 자동화 아키텍처 설계
- 단순 생성이 아닌 '주제 생성' 단계를 추가하여 콘텐츠 품질 향상
- 수동 개입을 최소화한 자율형 콘텐츠 파이프라인 구축
콘텐츠 자동화에 관한 대부분의 대화는 기사 생성에 집중되어 있습니다.
그것은 대개 쉬운 부분입니다.
진정한 과제는 유용한 콘텐츠를 일관되게 생성하고, 자신의 작업물을 검토하며, 지원 에셋(supporting assets)을 만들고, 여러 플랫폼에 콘텐츠를 배포하며, 이 모든 과정을 매일 누군가가 수동으로 관리하지 않고도 수행할 수 있는 시스템을 구축하는 것입니다.
몇 달 전, 우리는 간단한 질문에서 시작했습니다:
콘텐츠 발행이 전통적인 글쓰기 워크플로우(workflow)보다 CI/CD 파이프라인처럼 작동한다면 어떨까?
그 질문은 우리가 구축한 가장 흥미로운 자동화 프로젝트 중 하나로 이어졌습니다.
문제점
많은 엔지니어링 팀과 마찬가지로, 우리에게도 공유할 가치가 있는 아이디어는 부족하지 않았습니다:
- DevOps 교훈
- 클라우드 비용 최적화 전략
- AI 실험
- 플랫폼 엔지니어링(Platform engineering) 관행
- CI/CD 개선
- 아키텍처 결정
아이디어가 문제였던 것은 아닙니다.
일관성이 문제였습니다.
기사를 쓰는 데는 시간이 걸립니다. 그것을 발행하는 데는 훨씬 더 많은 시간이 걸립니다. 그다음에는 커버 이미지, 포맷팅, SEO 태그, 배포 및 추적이 뒤따릅니다.
머지않아 전체 프로세스는 수동 배포 파이프라인(manual deployment pipeline)과 매우 흡사해 보이기 시작했습니다.
모든 단계가 누군가가 그것을 수행하는 것을 기억하는 것에 의존했습니다.
그리고 중요하지만 긴급하지 않은 많은 작업과 마찬가지로, 콘텐츠 생성은 우선순위 목록에서 계속 뒤로 밀려났습니다.
콘텐츠를 엔지니어링 문제로 취급하기
어떻게 하면 더 빨리 글을 쓸 수 있을지 묻는 대신, 우리는 다른 질문을 던졌습니다:
엔지니어라면 이 문제를 어떻게 해결할까?
현대의 전달 파이프라인(delivery pipelines)은 이미 다음과 같은 방법을 알고 있습니다:
- 일정에 따라 실행하기
- 워크플로우(workflows) 실행하기
- 출력값 검증하기
- 저품질 결과 거부하기
- 여러 목적지에 배포하기
- 결과 기록하기
살펴보면 볼수록 콘텐츠 발행은 소프트웨어 전달(software delivery)과 매우 닮아 있었습니다.
그래서 우리는 소프트웨어를 출시할 때 사용하는 것과 동일한 원칙을 사용하여 발행 프로세스를 구축하기로 결정했습니다.
아키텍처
system의 중심에는 n8n이 있습니다.
매 12시간마다, 예약된 워크플로 (workflow)가 자동으로 시작됩니다.
워크플로는 스프레드시트에서 니치 (niche, 틈새 분야)를 읽어옵니다. 주제에는 다음이 포함됩니다:
- DevOps
- Cloud Engineering
- AI Agents
- Kubernetes
- Platform Engineering
- Developer Productivity
하지만 즉시 기사를 생성하는 대신, 시스템은 먼저 주제 (topic)를 생성합니다.
이 결정은 우리가 수행한 가장 큰 개선 사항 중 하나로 밝혀졌습니다.
워크플로는 다음과 같은 단순한 순서를 따릅니다:
- 니치 (niche) 선택
- 주제 (topic) 생성
- 기사 (article) 생성
- 기사 (article) 검토
- 커버 이미지 생성
- 초안 (draft) 발행
- 발행 URL 저장
개괄적인 수준에서 워크플로는 다음과 같습니다:
Cron
↓
Select Niche
...
한 번 구성되면, 전체 프로세스는 수동 개입 없이 실행됩니다.
주제 생성이 모든 것을 바꾼 이유
우리가 배운 초기 교훈 중 하나는, 기사의 품질은 종종 첫 번째 문단이 작성되기 전에 결정된다는 것이었습니다.
처음에는 니치 (niche)를 제공하고 모델에게 기사를 생성하도록 요청했습니다.
결과는 기술적으로는 정확했지만, 기억에 남지 않았습니다.
일반적인 입력 (generic inputs)은 일반적인 출력 (generic outputs)을 만들어냈습니다.
주제 생성 (topic generation)을 기사 생성 (article generation)에서 분리하자, 품질이 극적으로 향상되었습니다.
모델에게 다음과 같이 말하는 대신:
“Kubernetes에 대해 써줘.”
시스템은 먼저 더 구체적인 것을 생성합니다:
“소규모 Kubernetes 클러스터가 팀의 예상보다 얼마나 더 빨리 운영 비용이 비싸지는가.”
갑자기 기사에 명확한 관점 (angle)이 생겼습니다.
모델은 단순히 기술에 대해 쓰는 것이 아니라, 특정 아이디어를 탐구하고 있었습니다.
그 작은 변화가 놀라울 정도로 큰 차이를 만들었습니다.
품질 게이트 (Quality Gates) 추가
이것이 프로젝트에서 가장 중요한 부분이 되었습니다.
콘텐츠를 생성하는 것은 쉽습니다.
콘텐츠를 필터링하는 것은 어렵습니다.
검증 (validation)이 없다면, 자율 발행 시스템은 결국 자율 스팸 생성기가 되고 맙니다.
이를 방지하기 위해, 우리는 별도의 언어 모델 (language model)로 구동되는 검토 단계를 도입했습니다.
각 기사는 다음 사항에 대해 평가됩니다:
-
독창성 (Originality)
-
가독성 (Readability)
-
기술적 깊이 (Technical depth)
-
실용적 가치 (Practical value)
-
SEO 잠재력 (SEO potential)
검토자는 품질 점수 (quality score)를 부여합니다.
만약 점수가 미리 정의된 임계값 (threshold) 미만으로 떨어지면, 해당 기사는 거절되며 새로운 주제로 워크플로 (workflow)가 다시 시작됩니다.
이 간단한 품질 게이트 (quality gate)는 우리가 시도했던 그 어떤 프롬프트 엔지니어링 (prompt engineering) 수정보다 더 효과적으로 결과물의 품질을 개선했습니다.
이는 또한 엔지니어링 팀이 배포 (deployments)를 처리하는 방식과도 닮아 있습니다.
모든 빌드 (build)가 프로덕션 (production)에 도달하는 것은 아닙니다.
모든 기사가 발행 (publication)에 도달해서도 안 됩니다.
시각적 자산의 자동화
또 다른 예상치 못한 병목 현상 (bottleneck)은 이미지 생성 이었습니다.
모든 기사에는 커버 이미지가 필요하며, 이를 수동으로 만드는 것은 빠르게 반복적인 작업이 되었습니다.
우리는 이미지 생성을 워크플로 (workflow)에 직접 통합했습니다.
기사 주제는 다음과 같은 요소에 집중된 구조화된 이미지 프롬프트 (image prompt)로 변환됩니다:
-
기술적 개념 (Technical concepts)
-
아키텍처 테마 (Architecture themes)
-
인프라 비주얼 (Infrastructure visuals)
-
출판 품질의 그래픽 (Publication-quality graphics)
생성된 이미지는 자동으로 기사에 첨부되며 발행 패키지의 일부가 됩니다.
추가적인 작업은 필요하지 않습니다.
여러 플랫폼에 걸친 발행
발행 대상은 두 가지 범주로 나뉩니다.
첫 번째는 다음과 같이 안정적인 API를 갖춘 플랫폼을 포함합니다:
-
WordPress
-
Dev.to
-
Hashnode
-
Ghost
이들은 자동화에 이상적입니다. 워크플로 (workflow)는 최소한의 노력으로 초안을 작성하고, 콘텐츠를 발행하며, 결과 URL을 저장할 수 있습니다.
두 번째 범주는 자동화 친화도가 낮은 플랫폼을 포함합니다.
Medium이 좋은 예시입니다.
자동화가 가능하기는 하지만, 이 플랫폼은 프로그래밍 방식의 발행 (programmatic publishing)보다는 주로 인간의 상호작용을 위해 설계되었습니다. 이는 추가적인 복잡성과 유지보수 오버헤드 (maintenance overhead)를 유발합니다.
현재로서는 자동화가 계속 진화하는 동안 Medium은 초안 저장소로서 워크플로 (workflow)의 일부로 남아 있습니다.
우리를 놀라게 한 점
가장 큰 놀라움은 기사 생성 자체가 어려운 부분이 아니었다는 점입니다.
품질 관리 (Quality control)가 어려운 부분이었습니다.
AI 콘텐츠에 관한 대부분의 논의는 생성 (Generation)에 집중되어 있습니다.
실제로 생성은 시스템의 아주 작은 부분에 불과했습니다.
더 흥미로운 엔지니어링 과제들은 다음과 같았습니다:
- 주제 선정 (Topic selection)
- 중복 탐지 (Duplicate detection)
- 품질 점수 산정 (Quality scoring)
- 에셋 관리 (Asset management)
- 퍼블리싱 워크플로 (Publishing workflows)
- 멀티 플랫폼 배포 (Multi-platform distribution)
시간이 흐르면서, 이 프로젝트는 단순한 기사 생성기에서 완전한 콘텐츠 플랫폼으로 진화했습니다.
우리가 배운 점
몇 가지 눈에 띄는 교훈이 있었습니다.
자동화는 기존 프로세스를 증폭시킵니다.
만약 프로세스가 망가져 있다면, 자동화는 단순히 나쁜 결과를 더 빠르게 만들어낼 뿐입니다.
생성 품질보다 품질 게이트 (Quality gates)가 더 중요합니다.
강력한 검증 (Validation)이 결합된 괜찮은 생성기는, 검토 프로세스가 없는 뛰어난 생성기보다 종종 더 나은 성능을 보여줍니다.
콘텐츠를 퍼블리싱하는 것은 놀라울 정도로 소프트웨어를 배포하는 것과 유사합니다.
다음과 같은 동일한 원칙이 적용됩니다:
- 검증 (Validation)
- 재현성 (Repeatability)
- 신뢰성 (Reliability)
- 관찰 가능성 (Observability)
- 피드백 루프 (Feedback loops)
그리고 아마도 가장 중요한 점은:
자율형 시스템 (Autonomous systems)도 여전히 인간의 감독 (Human oversight)으로부터 도움을 받습니다.
워크플로는 반복적인 작업을 처리합니다.
인간은 방향성, 판단력, 그리고 맥락을 제공합니다.
그 지점에서 진정한 가치가 발생합니다.
마치며
원래 목표는 명확했습니다:
엔지니어를 전업 작가로 만들지 않고도 일관되게 콘텐츠를 발행하는 것.
그 결과로 나타난 것은 소프트웨어 전달 파이프라인 (Software delivery pipeline)에 훨씬 더 가까운 무언가였습니다.
주제가 생성됩니다.
기사가 검토됩니다.
이미지가 생성됩니다.
초안이 발행됩니다.
결과가 추적됩니다.
이 시스템은 전문 지식, 경험, 또는 판단력을 대체하지 않습니다.
이 시스템이 대체하는 것은 반복적인 작업입니다.
그리고 엔지니어링 팀에게 있어, 그것이 종종 가장 가치 있는 자동화입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기