수집된 정보를 "코드에 작성된 내용", "README에만 있는 내용", "어디에도 작성되지 않은 내용"으로 정리하겠습니다.
이 글을 쓴 이유
5월 15일, Elon Musk가 X 알고리즘이 GitHub에 공개되었다고 발표했습니다. 그 직후 "새로운 X 알고리즘을 이기는 방법"에 대한 수많은 게시물이 돌기 시작했습니다. 그것들을 읽으면서 저를 불편하게 만든 점은, 일부 게시물이 코드에는 없는 특정 독자적인 규칙을 주장하면서 "코드를 읽었다"고 주장한다는 것이었습니다. 직접 확인해보기로 마음먹고 (AI에게) GitHub 코드를 읽게 했습니다. 이 글에서는 확인할 수 있었던 것과 확인할 수 없었던 것을 정리하겠습니다.
이 글의 구조
정보를 세 가지 계층으로 나누어 작성하겠습니다:
- 코드에서 직접 확인된 사항
- README에 작성되었지만 코드에서는 확인되지 않은 사항 ("공식 문서에 따르면" 수준)
- X에 퍼져 있지만 코드와 README 모두에 작성되지 않은 사항
코드에서 확인된 사항
이번 업데이트는 187개 이상의 파일과 18,000줄이 추가된 대규모 업데이트였습니다. 1월 초기 공개 이후 4개월 만에 내용이 크게 변경되었습니다.
Grox가 이제 게시물을 "보고" 품질을 판단
이번 변경의 가장 큰 부분은 Grox라는 콘텐츠 검토 서비스의 완전한 구축입니다. 1월에 공개된 코드에는 존재하지 않았습니다 (라이브 X 환경에 유사한 기능이 없었다고 단정할 수는 없습니다). Grox의 핵심은 VLM(비전 언어 모델)입니다. VLM은 텍스트뿐만 아니라 이미지와 비디오 프레임도 함께 이해할 수 있는 AI입니다. 단순히 "텍스트를 읽는" 것이 아니라 "이미지를 보고 판단"할 수 있습니다. Grox는 주로 세 가지 작업을 수행합니다:
게시물 품질 점수 매기기 (Banger Screen)
"Banger Score"는 AI가 게시물이 "바이럴될 가능성이 있는 가치 있는 콘텐츠"인지 평가하는 0에서 1 사이의 점수입니다. 코드에는 "score >= 0.4"라는 임계값이 포함되어 있으며, 0.4 이상을 긍정적으로 판단합니다.
스팸 탐지
VLM은 게시물이 스팸인지 여부를 판단하며, 특히 팔로워 수가 적은 계정의 게시물에 중점을 둡니다.
안전 및 정책 위반 탐지
Grox는 다음 7가지 범주를 판단합니다:
- 폭력적인 미디어
- 성인 콘텐츠
- 스팸
- 불법/규제 활동
- 혐오/괴롭힘
- 폭력적인 발언
- 자살/자해
코드에는 더 높은 정밀도의 추론 모델을 사용하여 폭력적인 미디어와 성인 콘텐츠에 대한 추가 검사를 수행하는 메커니즘도 있습니다. 그러나 어떤 게시물이 이 검사 대상이 되는지는 공개된 코드만으로는 확인할 수 없습니다.
1월 출시 이후 존재했던 메커니즘
여기부터는 "새로운 기능"이 아니라 1월 초기 출시 이후 존재했던 메커니즘입니다. X의 많은 "최신 알고리즘 설명"은 1월 코드와 5월 코드를 구분하지 않고 혼합합니다. 단순히 AI가 GitHub를 요약하게 하면 4개월 전의 기능이 "이번 변경 사항"으로 소개될 것입니다.
차단, 뮤트, 신고는 점수를 낮춤 (1월 이후)
코드 구조를 통해 다음 작업이 계산 공식에 부정적인 신호로 통합되어 있음을 확인했습니다:
- 관심 없음
- 차단
- 뮤트
- 신고
또한 Home Mixer의 순위 점수 산정기(ranking_scorer.rs)에는 "For You"에 동일 계정의 게시물이 너무 자주 나타나지 않도록 편향을 억제하는 프로세스가 포함되어 있습니다. 이것 역시 1월부터 존재했던 메커니즘으로, 한 사람의 피드에 동일 계정의 여러 게시물이 나타날 때 두 번째 이후 게시물의 점수는 기하급수적으로 떨어집니다.

이는 다양성을 보장하기 위한 것, 즉 "한 사람의 타임라인을 당신의 게시물로만 채우지 않기" 위함이며, 하루 총 게시물 수를 제한하지는 않습니다.
README에 작성되었지만 코드에서는 확인되지 않은 사항
"거의 모든 수제 규칙 폐지"는 반은 사실
공식 README에는 "수제 기능과 휴리스틱을 거의 완전히 폐지했습니다"라는 설계 원칙이 명시되어 있습니다. 이는 5월에 추가된 설명이 아니라 1월 초기 출시 이후 README에 존재해 온 주장입니다.
하지만 코드를 살펴보면 필터링 계층(오래된 게시물 제외, 뮤트된 키워드 제외 등)은 여전히 규칙 기반으로 남아 있습니다.
"폐지된" 것은 순위 및 점수 매기기 기준이었지 필터링이 아니었습니다. 그리고 이 구조는 이번 업데이트에서도 변경되지 않았습니다.
5월 README에서 공식적으로 인정된 변경 사항
5월 15일 README에 "업데이트 — 2026년 5월 15일"이라는 제목의 전용 섹션이 새로 설정되었고, 이번 변경 사항이 7개 항목으로 명확하게 명시되었습니다. Grox, Ad 통합, Query hydrators, Candidate hydrators 및 Candidate sources의 추가가 모두 여기에 나열되어 있습니다.
즉, README는 "이번 새 기능은 무엇인지"에 답합니다. 1월부터 존재했던 메커니즘은 이 섹션에 나타나지 않습니다.
Banger Score가 순위에 영향을 미치는 "방식"은 공개되지 않음
"0.4 이상에서 긍정적 판정"은 코드에서 확인되었습니다. 그러나 그 결과가 순위에 어떻게 영향을 미치는지 보여주는 코드는 이번에 공개된 저장소에 포함되지 않았습니다. 현재 시점에서 "0.4 미만은 표시되지 않는다"거나 "0.4 이상은 부스트된다"고 단정할 수 없습니다.
참여도 가중치 값은 프로덕션 값이 아닐 수 있음
데모 목적으로 추론 파이프라인에 다음과 같은 값이 작성되어 있습니다:
- 좋아요: 1.0
- 답글: 0.5
- 리포스트: 0.3
- 체류 시간: 0.2
그러나 프로덕션 측 코드는 동적 매개변수(A/B 테스트 지원)로 관리되며, 값이 하드코딩되어 있지 않습니다. 이 값이 실제 프로덕션 환경의 값인지는 확인할 수 없습니다.
코드와 README 모두에 작성되지 않은 사항
X에서 "새로운 알고리즘을 이기는 방법"으로 퍼지고 있는 다음 정보는 코드 어디에도 작성되어 있지 않았습니다:
- 하루에 4번 이상 게시하면 도달 범위가 감소한다
- 게시 후 30분 이내에 답글을 달면 대화 체인이 폭발한다
- 3~5장의 이미지가 가장 좋다
- 30~90초의 동영상이 특히 강력하다
이 정보가 퍼지는 이유는 사람들이 "알고리즘이 5월 15일에 변경되었다"는 사실과 "자신의 운영에서 얻은 경험적 규칙"을 같은 게시물에 혼합하기 때문입니다. 독자들이 "코드를 읽어서 알아냈다"는 권위 아래 받아들이기 때문에 개인적인 의견이 알고리즘 사양처럼 보입니다.
요약
5월 15일 업데이트를 한 문장으로 요약하자면 다음과 같습니다:
"순위 결정 메커니즘"은 거의 변하지 않았습니다. "게시물 콘텐츠를 읽는 메커니즘"이 완전히 새로 추가되었습니다.
누구의 게시물을 어떤 순서로 보여줄지의 핵심, 즉 참여도 예측, 부정적 신호, 계정 다양성 보장은 1월 이후 변하지 않았습니다.
이번에 추가된 것은 게시물이 무엇을 말하는지, 가치가 있는지 판단하는 "눈" 부분입니다.
따라서 "하루에 몇 번 게시해야 하는가" 또는 "몇 분 이내에 답글을 달아야 하는가"와 같은 질문에 대한 답은 이 코드에 없습니다.
"AI가 게시물을 보고 읽을 가치가 있는지 판단한다"는 사실만 있을 뿐입니다. 알고리즘 루머에 속아 숫자를 쫓기보다는, "이 게시물이 독자에게 무언가 남겨주는가?"라고 스스로에게 묻는 것이 현재 알고리즘에 더 적합하다고 생각합니다.
"알고리즘 성장 해킹"을 얼마나 믿으시나요? 실제 코드를 보셨을 때 어떻게 생각하셨나요?
저는 2017년에 X(구 Twitter)를 시작하여 이제 10년 차이며, X에서의 상호 작용을 사랑합니다. 누군가 터무니없는 말을 해서 사람들이 속아 "하루에 4번으로 게시물을 제한해야지"라고 결정하여 상호 작용이 방해받는 것을 보고 있자니 참을 수 없이 답답합니다.
숫자도 중요하지만, 상호 작용도 중요하지 않다고 생각하시나요? 알고리즘이 아무리 변해도 저는 X에서의 상호 작용을 즐기면서 계속 활동하고 싶습니다. 앞으로도 X에서 저와 함께 즐겁게 소통해 주시면 기쁘겠습니다.





