X 추천 알고리즘을 분석해 보니, 크리에이터가 실제로 통제할 수 있는 것은 무엇일까?
5월에 오픈소스로 공개된 X의 추천 알고리즘을 직접 돌려본 결과, 오픈소스 부분은 실제 Feed 순위의 30%만 설명한다는 것을 발견했습니다. 나머지 70%는 서버 측 구성, VM Ranker, 운영 규칙에 숨겨져 있습니다.
하지만 이 30%의 공개 코드만으로도 한 가지 질문에 답할 수 있습니다: 크리에이터가 실제로 통제할 수 있는 것은 무엇일까?
원본 저장소: xai-org/x-algorithm (5월 15일 업데이트, 187개 파일 및 18,263줄의 코드 추가)
이 글에서는 알고리즘 개요(Punk2898의 두 게시글이 이미 매우 완벽함)를 반복하지 않고, 다음 세 가지에 초점을 맞춥니다:
1️⃣ 파이프라인을 실행하면서 관찰한 반직관적인 현상
2️⃣ 5월 코드 업데이트에서 크리에이터에게 가장 큰 영향을 미치는 메커니즘
3️⃣ 이러한 관찰을 바탕으로 한 구체적인 운영 제안
관찰 1: 오픈소스 순위와 실제 Feed는 거의 상관관계가 없음

Phoenix 모델을 사용하여 537,000개의 스포츠 게시물 코퍼스를 실행했습니다. 모델이 제공한 최종 점수 범위는 0.0000에서 0.0015로 매우 평평했습니다. Fav, Reply, RT에 대한 예측 확률은 모두 0에 가까웠습니다. 순위는 주로 Dwell(체류 시간)을 신호로 사용하여 격차를 만들었습니다.
그런 다음 실제 For You Feed를 스크래핑하여 비교했습니다. Kendall의 타우를 사용하여 순위 상관관계를 계산한 결과는 -0.10이었습니다.
이 숫자는 다음을 의미합니다: 오픈소스 코드의 데모 가중치(fav1.0 + reply0.5 + RT0.3 + dwell0.2)를 사용하여 실제 보이는 Feed 순위를 예측하는 것은 무작위 추측만큼이나 정확하다는 것입니다.
실제 Feed에서는 상호작용이 0인 게시물이 상위 7위 안에 나타나고, 상호작용이 높은 게시물은 9위나 10위로 밀려납니다. 게시 후 3분 이내에 상호작용이 0인 새 게시물도 Feed에 진입할 수 있습니다.
이것이 무엇을 의미할까요?
이는 오픈소스 Phoenix 모델이 "초기 후보 선별"만 담당한다는 것을 의미합니다. 다른 사람의 Feed에서 내 순위를 실제로 결정하는 것은 후속 재순위 레이어입니다. 5월에 오픈소스로 공개된 코드가 바로 이 재순위 레이어의 로직을 완성합니다.
관찰 2: 품질 점수 0.4는 보이지 않는 삶과 죽음의 선

5월에 새로 추가된 Grox 모듈은 이번 업데이트에서 가장 중요한 부분입니다. Phoenix를 대체하는 것이 아니라 Phoenix의 업스트림 공급자입니다. 모든 새 게시물이 전송된 후 Grox는 VLM 대규모 모델을 사용하여 5가지 작업을 수행합니다:
- 품질 점수 할당(quality_score, 0~1)
- 7개의 부울 태그 생성(성인 콘텐츠, 폭력, 혐오 발언 등)
- 슬롭 점수 할당(slop_score, 레벨 1-3)
- 다중 모달 임베딩 벡터 생성
- PTOS 안전 검토 수행
코드는 명확히 명시합니다: quality_score >= 0.4는 초기 선별을 통과하는 데 필요합니다. 0.4 미만은 "저품질"로 표시되며, 이후 확산이 모든 곳에서 방해를 받습니다.
이 0.4 임계값은 키워드 매칭이 아닌 VLM 모델이 판단합니다. 텍스트의 의미, 이미지의 내용, 비디오 프레임을 이해할 수 있습니다. 이전에 "이미지 추가 및 키워드 쌓기"로 속일 수 있었던 규칙 시스템은 더 이상 작동하지 않습니다.
slop_score는 또 다른 새로운 무기입니다: 템플릿 콘텐츠, 낮은 정보 밀도, 명백한 AI 생성 흔적이 있는 게시물은 높은 점수를 받습니다. 레벨 1은 정상입니다. 레벨 2-3은 알고리즘이 콘텐츠를 "희석"하고 있다고 판단한다는 의미입니다.
관찰 3: 쓸어 넘기기는 능동적인 페널티이며, 단순히 "보지 않는 것"이 아님

5월 버전은 행동 신호를 18개의 개별 헤드에서 19개의 개별 헤드 + 8개의 연속 보조 헤드로 업그레이드했습니다. 새로운 연속 헤드는 "얼마나 오래 머물렀는지" 및 "읽기 완료율"과 같은 세분화된 지표를 예측합니다.
하지만 크리에이터에게 가장 큰 영향을 미치는 신호는 not_dwelled입니다.
이전에는 "사용자 상호 작용 없음"이 중립적이며, 보이지 않는 것과 같다고 생각했습니다. 틀렸습니다. 사용자가 게시물을 빠르게 쓸어 넘기는 것은 능동적인 부정적인 신호이며, 알고리즘은 이에 대해 페널티를 부과합니다.
이는 다음을 의미합니다:
- 비디오의 첫 1초 동안 주의를 끌지 못함 = 능동적 페널티
- 긴 게시물의 흥미롭지 않은 첫 문장 = 능동적 페널티
- 시각적 영향력이 없는 이미지 = 능동적 페널티
실제 Feed를 관찰하는 동안 한 가지 현상을 발견했습니다: 일부 상호작용이 0인 게시물이 Top 7에 진입할 수 있는 반면, 일부 상호작용이 높은 게시물은 뒤로 밀려났습니다. 합리적인 설명은 다음과 같습니다: 상호작용이 0인 게시물은 좋아요를 받지 못했지만 사용자가 실제로 머물렀던 반면(dwell 신호 생성), 데이터가 좋아 보이는 일부 게시물은 실제로 많은 수의 빠른 쓸어 넘기기가 발생했다는 것입니다.
관련 4: 내가 팔로우하는 사람이 알고리즘이 나를 어떤 서클에 넣을지 결정

5월 코드에는 mutual_follow_jaccard_hydrator가 추가되어 "사용자와 특정 작성자 간의 상호 팔로우 서클 유사성"을 계산합니다.
사용자와 작성자가 같은 사람을 많이 팔로우하는 경우(Jaccard 계수가 높음), 알고리즘은 사용자가 동일한 "정보 서클"에 있다고 간주하고 해당 작성자의 콘텐츠를 사용자에게 더 많이 푸시하는 경향이 있습니다.
이 메커니즘은 근본적인 가정을 변경합니다: 이전에는 "콘텐츠 품질이 배포를 결정"했습니다. 이제는 "콘텐츠 품질 + 서클 소속이 배포를 공동으로 결정"합니다.
구체적으로:
- 팔로우하는 모든 계정은 서클 정체성을 계산합니다
- 무작위로 팔로우하는 것은 서클 태그를 희석하는 것과 같습니다
- 동일 분야의 KOL과의 상호 팔로우는 100개의 무작위 계정을 일방적으로 팔로우하는 것보다 훨씬 효과적입니다
- 큰 V 게시물 아래의 고품질 댓글은 following_replied_users 신호 체인에 진입하며, 사용자의 아바타가 "내가 팔로우하는 사람들도 여기에 댓글을 달았습니다" 프롬프트에 나타날 수 있습니다
제 For You Feed가 이를 확인합니다: 추천 콘텐츠의 60% 이상이 중국 AI 서클의 크리에이터에게서 옵니다. 제 팔로우 목록이 해당 서클에 집중되어 있기 때문입니다.
관찰 5: 댓글 섹션은 이제 독립 트랙

5월 코드는 댓글 섹션에 대한 독립적인 점수 시스템을 공개했습니다. 각 댓글은 Grok에 의해 0-3점으로 평가됩니다:
- 3점: 토론을 유발할 수 있는 정보 증분이 있는 댓글
- 2점: 정상적인 상호 작용
- 1점: 짧지만 스팸은 아님
- 0점: 스팸 태그를 트리거하여 계정 신용도에 영향
0점 댓글은 접히는 것뿐만 아니라 "한 번 스팸 댓글을 게시한 적이 있음"이라는 기록이 계정에 남습니다. 장기적으로 축적되면 전체 계정 가중치에 영향을 미칠 수 있습니다.
동시에 게시물 아래의 스팸 댓글도 메인 게시물의 가중치에 영향을 미칩니다. "맞팔해요", "첫댓", "+1"과 같은 댓글은 알고리즘이 단순히 싫어하는 것이 아니라 메인 게시물의 배포를 낮춥니다.
반대로, 고품질 댓글의 노출 가치는 일반 게시물 10개를 직접 게시하는 것보다 더 클 수 있습니다. 큰 V 게시물 아래에 데이터 기반의 토론을 유발하는 댓글을 남기는 것은 큰 V의 트래픽 입구를 빌리는 것과 같습니다.
관찰 6: 캐싱 전략은 "무엇을 게시할지"보다 "언제 게시할지"를 더 미묘하게 만듦

코드에는 캐시 풀의 게시물 수가 >= 500일 때 시스템이 Thunder/Phoenix/TweetMixer의 실시간 게시물 가져오기 로직을 모두 건너뛰고 캐시된 콘텐츠를 직접 반환하는 세부 사항이 있습니다.
이는 하루에 수십 번 X를 여는 헤비 사용자의 경우 많은 요청이 전혀 추천 알고리즘을 거치지 않고 Redis 캐시의 이전 목록을 본다는 것을 의미합니다.
방금 보낸 게시물이 이러한 헤비 사용자에게 완전히 보이지 않을 수 있습니다. 콘텐츠는 다음 캐시가 새로 고쳐질 때만 진입할 기회가 있습니다.
또한 이것은 반직관적인 현상을 설명합니다: 일부 계정은 하루에 수십 번 게시하며 트래픽이 나쁘지 않습니다. 이는 고빈도 게시가 "특정 캐시 새로 고침에서 선택될" 확률을 높이기 때문입니다. 그러나 Punk2898은 이 전략이 나중에 조정될 것으로 예측합니다.
일반 크리에이터를 위한 제안은: 대상 청중의 활동 피크 시간 10-30분 전에 게시하여 캐시가 새로 고쳐질 때 게시물이 포함될 가능성을 높이는 것입니다.
관찰 7: MediumRisk는 당신이 모르는 숨겨진 가중치 감소

광고 시스템 코드는 brand_safety_verdict 변수를 처음으로 공개했습니다. Safe / LowRisk / MediumRisk / HighRisk의 네 가지 레벨이 있습니다.
주요 발견: 기본값은 MediumRisk입니다.
즉, 게시물이 Grox에 의해 완전히 검토되지 않은 경우(또는 태그가 누락된 경우) 시스템은 기본적으로 "Medium Risk"로 처리합니다. Medium Risk 게시물은 직접 차단되지 않지만 광고 옆에 배치되지 않습니다. 그리고 광고 주변 위치는 종종 높은 노출 영역(사용자 시각적 초점 영역)입니다.
결과는: 위반 통지를 전혀 받지 않지만 노출이 이미 할인되고 있다는 것입니다. 이것은 v2 알고리즘에서 가장 간과하기 쉬운 "숨겨진 섀도우밴"입니다.
이를 피하는 방법은 무엇일까요? 명확한 테마와 "자극적인" 콘텐츠가 없는 게시물은 Safe로 빠르게 분류될 가능성이 더 높습니다. 중요한 게시물을 게시한 후 30-60분 동안 검토가 완료될 때까지 기다린 후 집중적인 프로모션을 진행하세요.
크리에이터 행동 체크리스트

위의 7가지 관찰을 바탕으로 한 구체적인 실행 가능한 단계는 다음과 같습니다:
콘텐츠 품질 관련
각 게시물의 첫 10단어가 dwell 또는 not_dwelled를 결정합니다. 첫 문장에서 인지적 격차 또는 데이터 충격을 만들어야 합니다. "오늘 작은 팁 하나 배웠어요"로 시작하면 바로 쓸어 넘기기가 유발됩니다.
콘텐츠는 명확한 논점, 정보 밀도, 구조적 감각을 가져야 합니다. 0.4 품질 점수 임계값은 높지 않지만 "템플릿화 + 낮은 정보 + 이미지와 함께 짧은 글"로 채우는 게시물은 확실히 통과하지 못합니다.
AI 템플릿 느낌을 피하세요: 균일한 문장 구조, 고정된 시작 ("첫째... 둘째... 마지막으로..."), 거창한 결말은 slop_score에 감지됩니다.
서클 운영 관련
팔로우 목록을 감사하세요. 대상 서클에 없는 무작위 계정은 언팔로우하세요. 모든 팔로우는 Jaccard 계수를 형성합니다.
대상 서클의 5-10개 핵심 계정과 상호 팔로우하세요. 상호 팔로우 가중치는 일방적 팔로우보다 훨씬 높습니다.
서클의 큰 V 게시물에 정보 증분이 있는 댓글을 남기세요. "배웠어요"가 아니라 데이터 포인트를 보충하고, 반례를 공유하거나, 확장 질문을 하세요.
댓글 섹션 관리 관련
게시물 아래의 스팸 댓글을 정기적으로 정리하세요. 광고와 의미 없는 답글은 메인 게시물의 가중치를 낮춥니다.
관련 없는 게시물 아래에 스팸처럼 존재감을 드러내지 마세요. 0점 댓글은 계정에 스팸 기록을 남깁니다.
게시 타이밍 관련
대상 청중의 활동 피크 시간 10-30분 전에 게시하세요. 캐시 새로 고침이 당신을 포함할 수 있는 창을 남겨두세요.
중요한 게시물을 게시한 후 30-60분 동안 기다렸다가 프로모션하세요. Grox 검토가 완료되어 기본 MediumRisk에서 Safe로 업그레이드되도록 하세요.
인용 리트윗 관련
논란의 여지가 있는 콘텐츠를 인용할 때는 주의하세요. v2 VF 연대 책임 메커니즘으로 인해 페널티를 받은 게시물의 가중치 감소가 인용 체인을 따라 당신에게 확산될 수 있습니다.
논란의 여지가 있는 콘텐츠의 경우 직접 인용 대신 스크린샷 + 자신의 의견을 사용하세요.
해시태그 관련
1-2개의 핵심 Grok 토픽을 식별하고 일관되게 해당 토픽을 중심으로 제작하세요. 신규 사용자의 발견 스트림은 토픽에 따라 엄격하게 필터링됩니다. 해당 토픽 세트에 없으면 그들에게 존재하지 않습니다.
가끔 # 명시적 태그를 사용하여 알고리즘의 토픽 분류를 강화하세요.
비디오 관련
비디오의 첫 1초는 삶과 죽음의 선입니다. not_dwelled 신호는 비디오에서 가장 두드러집니다.
중요한 콘텐츠는 반드시 텍스트 전용 버전이 있어야 합니다. 일부 사용자는 "비디오 덜 보기" 필터를 활성화했으며, 비디오 기간 필드가 있는 게시물은 완전히 잘려나갑니다.
참조 링크:
https://github.com/xai-org/x-algorithm





