TL;DR

  • 공식 EmDash 플러그인 레지스트리는 카탈로그에 표시되기 전 모든 플러그인 등록 정보를 Cloudflare의 Clef 결정 모델로 검사하며, 최종 차단 여부는 사람이 검토함.
  • Clef는 텍스트와 이미지에 대해 유형이 지정된 확률을 반환하며, 텍스트와 링크 관련 9개 질문 및 아이콘과 스크린샷별 8개 질문에 답함.
  • 카테고리별 확률이 0.45 이상이면 운영자 검토 대상으로 보내며, 모델이 플러그인 차단을 최종 결정하지 않음.
  • 공개 텍스트 테스트 픽스처 21개를 3회 반복한 63회 실행에서 모두 기대한 판정을 냈으며, p95 종단 간 텍스트 검토 지연 시간은 1.64초임.
  • 기존 여러 모델 조합을 단일 멀티모달 모델로 대체해 검토 속도와 구현 가독성을 높이면서, 사람 검토로 이어지는 실패 시 차단 경로를 유지함.

텍스트와 이미지에 사용하는 하나의 모델

  • 공식 EmDash 플러그인 레지스트리의 모든 등록 정보는 카탈로그에 나타나기 전에 Cloudflare의 Clef 결정 모델로 검사됨.
  • Clef는 등록 정보의 메타데이터, 외부 링크, 아이콘, 스크린샷에서 피싱, 사칭, 불쾌감을 주는 콘텐츠, 사기, 검토 시스템 조작 시도를 확인함.
  • 레지스트리는 AT Protocol 기반이며 플러그인 제작자는 각자 계정에서 서명된 릴리스를 게시함. EmDash는 기반 레코드를 통제하지 않지만, plugins.emdashcms.com에 무엇이 표시되는지는 결정함.
  • 자동 검토를 통해 제작자가 개방형 게시 모델을 유지하면서도 카탈로그가 악용에 무방비로 열리는 상황을 피함.
  • Clef는 문장을 생성하는 대신 애플리케이션 코드가 활용할 수 있는 유형별 확률로 범위가 한정된 질문에 답하는 결정 모델이며, 이미지 입력도 처리함. 구조화된 메타데이터와 링크, 시각 자료가 섞인 플러그인 등록 정보에 적합한 특성임.
  • 플러그인을 게시하면 EmDash 레이블러가 텍스트와 링크에 관해 Clef에 9개 질문을 제시함.
  • 노골적인 성적 콘텐츠, 혐오 또는 비인간화 콘텐츠, 노골적인 폭력
  • 피싱 또는 자격 증명 요청, 사칭, 사기, 스팸
  • 기만적인 링크, 오해를 유도하는 미디어나 주장, 검토 조작 시도
  • 레이블러는 각 아이콘과 스크린샷에 관해 이에 대응하는 8개 질문을 제시함.
  • 링크는 스크린샷이 아니라 링크 텍스트와 목적지를 기준으로 평가됨. 이에 따라 스팸 필터나 링크 검사 도구의 일반적인 스크린샷이 잘못 표시되는 일을 방지함.
  • Clef는 각 카테고리의 확률을 반환하며, 0.45 이상이면 해당 등록 정보가 운영자 검토로 넘어감. 플러그인 차단을 모델이 최종 결정하지 않음.
  • Clef 어댑터의 소스 코드와 질문은 GitHub에서 확인 가능함.

Clef를 선택한 이유

  • 자동화 도구에 사용할 모델은 항상 평가 결과를 바탕으로 선택하며, 새 모델도 정기적으로 평가함.
  • 이전 검토 파이프라인은 텍스트 판단에 범용 모델 두 개의 동의를 요구했고, 이미지에는 별도 단계를 추가로 거쳤음. 이 방식은 더 느렸으며 시스템이 시간 초과를 내거나 불완전한 결과를 반환할 가능성도 더 컸음.
  • Jev가 공개됐을 때 평가를 기대했지만 기준 모델보다 성능이 낮았음. Clef의 결과는 훨씬 나았으며, 특히 텍스트와 이미지에 같은 멀티모달 모델을 사용할 수 있다는 점이 만족스러웠음.

“이전에는 신뢰할 수 있는 결과를 얻으려면 여러 모델을 조합해야 했지만, Clef는 훨씬 빠르면서도 모든 모델보다 나은 결과를 냄.”

— Matt Kane, EmDash 수석 유지관리자

  • 레지스트리용 공개 회귀 테스트 사례와 별도의 보호 코퍼스를 대상으로 Clef를 평가함.
  • 공개 텍스트 픽스처 21개를 세 차례 반복한 63회 실행에서 모두 예상한 통과 또는 검토 판정을 내렸으며, 잘못된 출력이나 반복 실행 간 불일치가 없었음.
  • 해당 63회 픽스처 실행에서 종단 간 텍스트 검토 지연 시간은 p95 기준 1.64초였음.
  • 평가 당시 레지스트리에서 서비스 중이던 플러그인 프로필 37개와 등록 이미지 43개도 모두 통과함.
  • 이전 모델 묶음을 Clef로 대체해 전체 등록 정보를 하나의 멀티모달 모델과 확률 기반 인터페이스로 처리함. 이에 따라 검토 속도가 빨라지고 구현을 더 쉽게 살펴볼 수 있으며, 실패 시 사람 검토로 보내는 경로도 유지됨.

플러그인 게시

  • 이번 검토 변경으로 플러그인 제작자에게 새 단계가 추가되지는 않음.
  • EmDash 플러그인 CLI로 스캐폴딩하고 게시하면 레지스트리가 릴리스를 검색 결과에 추가하기 전에 검사를 실행함.
  • 등록 정보에 검토가 필요한 경우에도 팀이 표시 여부를 결정하는 동안 릴리스는 서명된 상태로 유지되며 제작자 계정에서 이용 가능함.
  • 플러그인 레지스트리 둘러보기, 게시 가이드 읽기, EmDash Discord 참여를 통해 플러그인 게시를 시작할 수 있음.