자동화
n8n / 스크립트 / 봇
-
멤버 카드에 퀵팩트 정보 추가하기
멤버나 그룹의 흥미로운 사실들을 데이터베이스에서 가져와 카드 형태로 보여주는 기능을 구현했다. 커밋 메시지에 B1+B2+B3 로 표기한 건, 이 작업이 세 계층으로 명확히 분리됐다는 의도를 담은 것. 데이터베이스 스키마 설계부터 봇의 enrichment 로직, 마지막으로 프론트엔드 UI 렌더링까지 순서대로 쌓은 거다.
읽기 → -
색인요청이 support 팀 손에 닿지 않던 이유
지난주 한 서비스의 검색엔진 최적화(SEO) 운영 흐름을 점검하다가 흥미로운 병목을 찾았다. Google Search Console(GSC) 색인요청이라는 정기적인 작업이 특정 계정(dev.slecs, authuser=1)에만 가능했고, support 팀은 이 작업을 수행할 권한이 없었던 것이다. 그간 이 부분이 구두로만 전달되다 보니 새로운 팀원들이 합류
읽기 → -
SSOT도 실측 확인이 필수다
서버 봇 공통 지침과 인프라 문서의 "단일 진실 공급원(SSOT)"을 명시하고, 거기에 **맹신금지/실측대조 규칙**을 덧붙였다. 동시에 오래된 심링크를 정정했다.
읽기 → -
배포 상태 문서화로 팀 커뮤니케이션 간극 채우기
vtuberprofile 서비스가 미배포에서 라이브로 전환되었다. 145명이 사용 중이고 봇크론도 정상 작동한다. CLAUDE.md에 이 상태를 기록했다. 단순한 문서 업데이트처럼 보이지만, 실은 팀 전체가 "지금 어디까지 왔는가"를 공유하는 기초 작업이다.
읽기 → -
운영 자동화와 스팸 차단 정책을 문서로 정리
특정 사이트의 k2 버전 운영 정책을 한군데 정리했다. 스팸 방지부터 자동 처리까지, 장기간 운영하면서 축적된 규칙들을 docs 에 명문화한 작업이다.
읽기 → -
스케줄 범위 확대할 땐 '정상적인 이상'도 문서화하라
크론 작업 범위를 25개에서 35개로 확대하고, 그 과정에서 도메인 특성을 CLAUDE.md에 명시했다. 간단해 보이지만 이 작은 문서화 항목이 팀의 많은 오해와 불필요한 버그 조사를 막을 수 있다.
읽기 → -
자동화 봇 운영현황을 문서에 담다
한 이커머스 서비스 (이미지·스트림 기반 콘텐츠)의 자동화 시스템이 꽤 복잡해졌다. 탤런트 145명, 그들을 관리하는 봇 4종, 주기적으로 도는 cron 작업들, 그리고 사용자 요청 인터페이스. 이 모든 것이 제각각 문서화되거나 머릿속으로만 떠다니던 상황을 한 번에 정리하는 작업을 했다.
읽기 → -
자동 기사 생성 품질을 높이는 다층 처리 완성
자동화 봇의 기사 생성 파이프라인에서 humanizer의 1층과 2층 처리를 연결했다. 영문 콘텐츠의 자연스러움을 높이기 위해 초안 생성에서 고도화 개선으로 이어지는 체인을 완성한 작업이다.
읽기 → -
상 목록 조회가 화면에 안 띄우던 alias 예약어 버그
지난주에 상 조회 기능 데이터가 DB에서는 정상 반환되는데 화면에 나타나지 않는 버그를 잡았다. 원인은 SQL 쿼리의 alias가 DB의 예약어였기 때문. 백틱으로 처리해서 해결했는데, 이런 류 버그가 왜 자꾸 튀어나오는지, 어떻게 더 일찍 catch할 수 있을지 생각해보게 됐다.
읽기 → -
그룹 페이지에 수상 내역 추가로 프로필 완성도 올려
kpop 그룹의 프로필 페이지에 수상 정보를 추가했다. 적재 봇, UI 컴포넌트, 다국어 번역까지 한 번에 정리한 작업이었는데, 각 레이어에서 뭘 챙겨야 하는지 좋은 학습이 됐다.
읽기 → -
정산 도메인 규칙 분산을 단일진실로 통합 관리
도메인별 지침이 여러 곳에 흩어져 있는 문제를 정리했다. 특히 결제·정산(payment/settlement) 같은 금융 도메인은 변경이 잦고 실수 여지가 크기 때문에, 진실의 출처(single source of truth)를 명확히 하는 게 핵심이다.
읽기 → -
자체 칼럼 시스템으로 콘텐츠 운영 자동화
자체 칼럼(articles) 플랫폼을 구축하고, 디스코그래피 콘텐츠를 자동으로 생성하는 봇을 만들었다. 기존에는 콘텐츠 업데이트가 주로 수동 작업이거나 외부 소스에 의존했는데, 팀 규모가 커지면서 이런 반복적인 운영 비용이 계속 늘어나고 있었다.
읽기 → -
레거시 자동화 도구는 문서로 정리한다
docs/seo-infra.md에 archived 상태의 money-bot을 추가하고, orphan CLAUDE.md 커밋이 정상 케이스임을 명시했다. 작은 변경 같지만 팀 문서화 정책과 프로젝트 생명주기 관리에서 꽤 중요한 패턴이라 생각해서 기록해본다.
읽기 → -
봇별 지침 문서화로 운영 일관성 확보
gov-bot이라는 새 서버 봇을 위해 CLAUDE.md 파일을 생성했다. 한 줄짜리 commit처럼 보이지만, 이건 우리 멀티 봇 환경에서 지침 관리를 체계화하는 중요한 스텝이다.
읽기 → -
서버 봇 지침 분리로 자동화 시스템 단정화
money-bot 전용 CLAUDE.md를 생성하고 서버 환경에서 검증했다. 이 작업은 단순해 보이지만 팀의 자동화 시스템이 성장할 때 꼭 필요한 구조 정리였다.
읽기 → -
데이터 적재량을 매주 자동으로 팀에 공유하기
discover 시스템의 적재량(데이터 인제스트 규모) 집계를 주간 cron으로 자동화하고, 매주 디스코드에 리포팅하는 기능을 추가했다. 사실 단순한 모니터링 자동화 같지만, 뒤에는 팀의 운영 효율과 의사결정 가시성을 높이려는 의도가 있었다.
읽기 → -
API 429 throttle을 정책 준수와 백오프로 자동 복구
Wikimedia API와 상호작용하는 그룹 발견/시드 봇이 갑자기 자주 실패하기 시작했다. 원인은 API 요청 제한(throttle)에서 나온 429 응답을 제대로 처리하지 못한 것. Wikimedia 같은 공개 API는 사용 정책이 엄격한데, 당시 봇은 User-Agent를 명시하지 않았고, 429를 받아도 지능형 재시도가 없었다. 이번 작업으로 정책
읽기 → -
그룹 수집 요청 과다로 인한 API 오류 차단
외부 서비스와 연동하는 자동화 봇을 운영하다 보면 정기적으로 데이터를 수집해야 하는데, 이때 가장 자주 마주치는 문제가 API 레이트 제한이다. 이번엔 그룹 데이터를 수집하는 seed_groups 자동화에서 발생하던 429 에러(Too Many Requests)를 해결하기 위해 요청 throttle을 상향하고, 동시에 불필요한 데이터를 조기에 필터링했다.
읽기 → -
음악 발견 봇의 장르별 노이즈 필터링 정확도 개선
음악 발견 시스템에서 특정 신호가 **없을 때**의 필터링이 제대로 동작하지 않던 문제를 수정했다. 사소해 보이지만, 자동화 시스템에서 "조건부 처리"의 함정을 보여주는 좋은 사례다.
읽기 → -
한국 시그널 중심화로 발견 엔진 정확도 개선
그룹 발견 봇이 관련성 없는 해외 신호로 노이즈가 심했다. discover_groups.py 에서 해외 신호가 존재할 때만 제외하는 로직을 추가해서 재현율을 높였다. 핵심은 "단순 제외"가 아니라 "한국 스텁은 절대 버리지 않는다"는 전략이었다.
읽기 →