How I Built A Pre-Post QC Gate to Hide Automation

자동화는 흔적을 남깁니다.

Bluesky 큐를 운영한 지 3주째 되던 날, "the content pipeline"이라는 문구가 포함된 게시물이 올라가는 것을 보았습니다.

기술 블로그라면 괜찮은 표현일 수 있습니다. 하지만 소셜 타임라인에서는 위험 신호(red flag)입니다. 인간 독자들에게 지금 보고 있는 것이 콘텐츠 팜(content farm)이라는 사실을 알려주기 때문입니다.

제 시스템은 기계적으로는 잘 작동하고 있었지만, 필터가 없었습니다. AI가 생성하는 것은 무엇이든 곧장 큐로 들어갔고, 큐의 맨 앞에 있는 것은 무엇이든 게시되었습니다.

이를 해결하기 위해 bluesky-qc.mjs라는 게이트 스크립트를 만들었습니다. 이 스크립트는 생성 단계와 게시 단계 사이에서 필터 역할을 합니다.

네 가지 게이트의 작동 방식은 다음과 같습니다:

  • 게이트 1: 문구 탐지(Phrase Detection). 자동화 신호를 포착하기 위해 엄격한 단어 목록을 사용합니다. "AI-generated", "cron job", "batch test", "content pipeline"과 같은 용어를 차단합니다. 게시물이 로봇이 쓴 것처럼 느껴지면 게이트가 이를 중단시킵니다.

  • 게이트 2: 신선도 체크(Staleness Check). 이는 두 가지 유형의 오류를 방지합니다. 첫째, 게시가 지연될 경우 거짓이 되어버리는 "just released"와 같은 시의성 있는 문구를 잡아냅니다. 둘째, 항목의 생성 시기를 확인합니다. 항목이 생성된 지 14일이 넘었다면 통과되지 않습니다.

  • 게이트 3: 참여도 예측(Engagement Prediction). 이 스크립트는 지난 300개의 게시물을 분석합니다. 좋아요, 답글, 리포스트를 사용하여 기준 점수를 계산합니다. 과거에 성과가 좋지 않았던 해시태그를 사용하는 게시물은 시스템이 플래그를 표시합니다.

  • 게이트 4: 품질 검토(Quality Review). 이는 최종 품질 검사를 위해 모델을 사용하는 계획된 단계입니다.

실패한 모든 게시물은 거부 로그(rejection log)에 기록됩니다. 저는 매주 이 로그를 검토합니다. 이는 프롬프트를 수정하는 데 도움이 됩니다. 만약 AI가 계속해서 "pipeline"과 같은 전문 용어를 사용한다면, 이를 방지하도록 프롬프트를 업데이트합니다.

이 시스템은 간단한 규칙을 따릅니다: 초기에 게이트를 설정하고, 실패 시 유용한 정보를 제공하며, 오류를 조용히 묵인하지 않는 것입니다.

자동화 흔적을 드러내는 게시물을 올리는 것보다 차라리 하루 게시를 쉬는 것이 낫습니다.

Source: https://dev.to/morinaga/how-i-built-a-pre-post-qc-gate-that-blocks-bluesky-automation-from-self-revealing-41ja

Optional learning community: https://t.me/GyaanSetuAi