자동화 파이프라인7 분 읽기

내 수면 앱과 K-pop 퀴즈가 같은 해시태그를 달고 있었다

인스타그램 자동 크로스포스트는 어떤 앱을 올리든 똑같은 기본 해시태그를 붙이고 있었습니다. 에러는 없었습니다. 태그가 붙었는지만 확인했고, 그 앱에 맞는 태그인지는 아무도 확인하지 않았기 때문입니다. 앱마다 태그를 한 번만 생성해 캐시하고 기본 태그는 폴백으로만 남긴 과정과, 아직 모르는 점을 정리했습니다.

#instagram#hashtags#claude-cli#automation#caching
왼쪽은 서로 다른 앱들이 같은 해시태그 묶음을 공유하는 모습, 오른쪽은 앱마다 따로 생성되어 캐시된 해시태그 목록
기본 태그 한 벌을 모든 앱이 같이 쓰던 구조를, 앱별 생성 태그를 먼저 쓰고 기본 태그는 폴백으로만 남기는 구조로 바꿨습니다.

모든 앱이 같은 기본 태그를 달았습니다

인스타그램 자동 크로스포스트는 캡션 끝에 해시태그를 붙여서 올립니다. 문제는 그 해시태그를 어디서 가져오느냐였습니다. 캡션을 만드는 코드에는 기본 태그 묶음이 하나뿐이었고, 어떤 앱의 게시물이든 그 묶음을 붙였습니다.

앱별로 나눠 보면 어색합니다. 수면 앱, 여성건강 앱, K-pop 노래 맞히기 앱이 전부 같은 해시태그를 달고 나갑니다. 수면에 관심 있는 사람과 K-pop 퀴즈를 찾는 사람은 검색하는 단어가 전혀 다릅니다. 그런데 게시물은 모두 같은 문으로만 들어가고 있었습니다.

파이프라인 쪽에서 보면 문제가 없었습니다. 게시물은 올라가고, 캡션에 해시태그가 있고, 에러도 없습니다. 해시태그가 붙었는지만 보면 통과입니다. 이 앱을 찾을 사람이 실제로 쓰는 해시태그인지는 아무도 확인하지 않았습니다.

당신의 자동 게시 파이프라인에서 모든 콘텐츠에 똑같이 붙는 기본값은 무엇이고, 그게 실제로 누구에게 닿는지 확인해 본 적이 있습니까?

앱마다 태그가 달라야 하지만 손으로 쓰기는 어렵습니다

앱이 하나라면 직접 쓰면 됩니다. 여러 개라면 앱마다 언어별로 니치 태그를 고르는 일이 반복 작업이 됩니다. 이 채널은 한국어, 영어, 일본어를 함께 다루기 때문에 더 그렇습니다.

선택지는 세 가지였습니다. 기본 태그를 그대로 두거나, 앱마다 태그 목록을 손으로 만들거나, 앱 정보를 넣으면 태그가 생성되게 하는 것입니다.

당신이라면? 게시물마다 LLM을 불러 매번 새 태그를 받겠습니까, 아니면 앱마다 한 번만 만들어 고정하겠습니까?

앱당 한 번 생성하고 캐시하며, 없으면 기본값을 씁니다

고른 구조는 이렇습니다.

  • insta_hashtags.py가 앱의 이름과 훅 문구를 claude CLI에 넘깁니다.
  • claude는 ko/en/ja를 섞고 니치 태그와 대형 태그를 함께 넣어 12개를 돌려줍니다.
  • 결과는 insta_hashtags.json에 앱별로 캐시합니다.
  • insta_crosspost.py는 캡션을 만들 때 그 앱의 캐시된 태그를 먼저 쓰고, 없으면 기존 기본 태그로 폴백합니다.

게시물마다 호출하지 않은 이유는 단순합니다. 앱의 성격은 게시물마다 바뀌지 않습니다. 매번 호출하면 비용과 시간이 들고, 같은 앱인데도 게시물마다 태그가 들쭉날쭉해집니다. 파일로 캐시해 두면 생성된 결과를 직접 보고 고칠 수도 있습니다.

폴백을 남긴 것도 의도한 일입니다. 캐시가 없는 앱 때문에 게시가 멈추면 안 되니까요. 다만 이 방식은 원래 문제를 모두 없앤 게 아니라 생성을 돌린 앱에서만 없앤 것입니다. 이번 커밋에서 태그를 만든 앱은 수면 앱 하나, 여성건강 앱 둘, K-pop 노래 맞히기 앱 하나입니다. 나머지 앱은 여전히 기본 태그를 달고 나갑니다.

자가진단 체크리스트

  • 자동 게시물의 해시태그, 카테고리, 키워드가 콘텐츠와 상관없이 하나의 기본값에서 나오고 있지 않습니까?
  • 파이프라인 검증이 붙었는지만 보고 맞는지는 보지 않고 있지 않습니까?
  • 폴백이 조용히 동작할 때 어떤 항목이 폴백으로 나갔는지 알 수 있습니까?

솔직한 부분

이 글에는 결과 수치가 없습니다. 앱별 태그로 바꾼 뒤 도달이나 노출이 달라졌는지는 이 커밋 시점에 측정하지 않았습니다. 그래서 좋아졌다고 말할 수 없습니다. claude가 고른 12개가 실제로 검색량이 있는 태그인지, 니치와 대형의 비율이 적절한지도 검증하지 않았습니다. 지금은 모델이 그럴듯하게 만든 목록일 뿐입니다. 캐시는 한 번 만들면 그대로 남기 때문에 트렌드가 바뀌어도 저절로 갱신되지 않습니다. 그리고 폴백이 있는 한, 생성을 돌리지 않은 앱은 예전과 똑같은 기본 태그로 계속 나갑니다.

관련 글