Open-Source-Projekt
xai-org/x-algorithm avatar
xai-org/x-algorithm

X-Algorithm: Empfehlungslogik für den For-You-Feed

Algorithmus, der den For You-Feed auf X antreibt. **Hinweis:** Die Transformer-Implementierung wurde aus der Open-Source-Version Grok-1 von xAI portiert und für Anwendungsfälle von Empfehlungssystemen angepasst.

33.186 Sterne5.383 ForksRustApache-2.0
GitHub

Auf einen Blick

Was ist das?
Ein Blick auf den Rust-Code, der Posts für den For You Feed abruft, bewertet und filtert, unter Verwendung eines auf Grok basierenden Transformers.
Für wen ist es gedacht?
x-algorithm passt zu Teams, die den dokumentierten Ablauf und seine Voraussetzungen kontrollieren können. Es passt nicht als Zusage für unbelegte Eigenschaften.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 4 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich Rust, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

x-algorithm: dokumentierter Zweck

Dieses Repository enthält das Kern-Empfehlungssystem, das den For You Feed auf X antreibt. Das System zieht Beiträge aus zwei Quellen: In-Netzwerk-Inhalte von Konten, denen der Benutzer folgt, und Out-of-Netzwerk-Inhalte, die durch ML-basierte Suche entdeckt wurden. Beide werden mithilfe eines auf Grok basierenden Transformer-Modells kombiniert und bewertet. Die README weist darauf hin, dass die Transformer-Implementierung aus der Open-Source-Version Grok-1 von xAI portiert und für Anwendungsfälle von Empfehlungssystemen angepasst wurde. Die Architektur konzentriert sich auf eine Orchestrierungsschicht namens Home Mixer, die den For You Feed zusammenstellt. Sie führt Query-Hydration, Kandidatenbeschaffung von Thunder und Phoenix, Kandidaten-Hydration, Filterung, Bewertung, Auswahl und Nach-Auswahl-Filterung durch. Die README enthält ein Diagramm, das den Fluss von der Anfrage bis zur bewerteten Antwort zeigt. Home Mixer stellt einen gRPC-Endpunkt namens ScoredPostsService bereit, der bewertete Beiträge für einen bestimmten Benutzer zurückgibt. Home Mixer ist die Orchestrierungsschicht, die auf dem CandidatePipeline-Framework aufbaut. Thunder ist ein In-Memory-Beitragsspeicher, der Beitrags-Erstellungs- und Löschungsereignisse von Kafka konsumiert, benutzerspezifische Speicher für Originalbeiträge, Antworten oder Reposts und Video-Beiträge verwaltet und Beiträge, die älter als die Aufbewahrungsfrist sind, zurückschneidet. Phoenix ist die ML-Komponente mit zwei Funktionen: Abruf über ein Zwei-Turm-Modell, das Benutzer- und Kandidatenmerkmale in Einbettungen codiert und durch Punktproduktähnlichkeit sucht, und Bewertung über einen Transformer, der Engagement-Wahrscheinlichkeiten vorhersagt, während die Aufmerksamkeit maskiert wird, sodass Kandidaten nicht aufeinander achten. Die candidate-pipeline-Crate definiert wiederverwendbare Traits für Source, Hydrator, Filter, Scorer, Selector und SideEffect. Die Pipeline-Stufen sind Query-Hydration, Kandidatenbeschaffung, Kandidaten-Hydration, Filter vor der Bewertung, Bewertung, Auswahl und Nach-Auswahl-Verarbeitung. Filter vor der Bewertung entfernen Duplikate, zu alte Beiträge, eigene Beiträge des Betrachters, Beiträge von blockierten oder stummgeschalteten Konten, Beiträge mit stummgeschalteten Schlüsselwörtern, zuvor gesehene oder bereitgestellte Beiträge und nicht berechtigte Abonnementinhalte. Nach-Auswahl-Filter umfassen Sichtbarkeitsprüfungen für gelöschte, Spam-, Gewalt- oder Gore-Inhalte sowie die Deduplizierung mehrerer Zweige desselben Konversationsthreads. Der Phoenix-Transformer sagt Wahrscheinlichkeiten für eine Reihe von Engagement-Typen voraus: Favorit, Antwort, Repost, Zitat, Klick, Profilklick, Videoansicht, Fotoerweiterung, Teilen, Verweilen, Autor folgen, Nicht interessiert, Autor blockieren, Autor stummschalten und Melden. Der gewichtete Bewerter kombiniert diese zu einer Endbewertung als Summe aus Gewicht mal Wahrscheinlichkeit für jede Aktion. Positive Aktionen wie Gefällt mir und Repost erhalten positive Gewichte; negative Aktionen wie Blockieren und Stummschalten erhalten negative Gewichte. Ein Autorenvielfalts-Bewerter dämpft wiederholte Autorenbewertungen, um die Vielfalt des Feeds zu fördern, und ein OON-Bewerter passt die Bewertungen für Out-of-Netzwerk-Inhalte an. Die README listet mehrere Designentscheidungen auf. Das System verwendet keine handgefertigten Merkmale; der Transformer lernt Relevanz aus Benutzer-Engagement-Sequenzen. Während des Rankings können Kandidaten nicht aufeinander achten, sondern nur auf den Benutzerkontext, was die Bewertungen konsistent und cachefähig macht. Einbettungen werden mit mehreren Hash-Funktionen berechnet. Das Modell sagt mehrere Aktionen voraus, anstatt eine einzelne Relevanzbewertung. Die Candidate-Pipeline-Architektur trennt Pipeline-Ausführung und -Überwachung von der Geschäftslogik, führt unabhängige Stufen nach Möglichkeit parallel aus und ermöglicht das einfache Hinzufügen neuer Quellen, Hydratoren, Filter und Bewerter. Das Release vom 15. Mai 2026 fügt eine ausführbare End-to-End-Inferenz-Pipeline über phoenix/run_pipeline.py hinzu und ersetzt die separaten Skripte run_ranker.py und run_retrieval.py. Es enthält ein vortrainiertes Mini-Phoenix-Modell mit 256-dimensionalen Einbettungen, 4 Aufmerksamkeitsköpfen und 2 Transformer-Schichten, das als etwa 3 GB großes Archiv über Git LFS verteilt wird. Ein neuer grox/-Dienst bietet Klassifikatoren, Einbettungen und eine Aufgabenausführungs-Engine für das Verständnis von Inhalten wie Spam-Erkennung und Beitragskategorisierung. Das Modul home-mixer/ads/ verwaltet Anzeigeninjektion und -platzierung mit Markensicherheitsverfolgung. Query-Hydratoren umfassen jetzt verfolgte Themen, Starter-Pakete, Impression-Bloom-Filter, IP, gegenseitige Folgegraphen und bereitgestellten Verlauf. Kandidaten-Hydratoren fügen Engagement-Zähler, Markensicherheitssignale, Sprachcodes, Medienerkennung, Zitat-Beitragserweiterung und gegenseitige Folge-Scores hinzu. Neue Kandidatenquellen umfassen Anzeigen, Wen-folgen, Phoenix MoE, Phoenix-Themen und Eingabeaufforderungen. Das Projekt ist unter der Apache-Lizenz 2.0 lizenziert. Die deutsche Einordnung bleibt bei dem, was die Projektunterlagen tatsächlich beschreiben. x-algorithm nimmt die dort genannten Eingaben auf und erzeugt die dort genannten Ausgaben. Das ist eine brauchbare Arbeitsdefinition, aber keine Zusage für Eigenschaften, die README oder Material nicht nennen. Entscheidend ist daher die konkrete Schnittstelle des Projekts und die Umgebung, in der sie betrieben wird.

Ein Beispiel im Repository zeigt einen möglichen Einstieg. Es ersetzt keine vollständige Aussage über Plattformen, Datenmengen oder Fehlerfälle. Wo die Dokumentation schweigt, bleibt die Frage offen.

Die Bausteine hinter x-algorithm

x-algorithm lässt sich anhand der genannten Dateien, Bibliotheken, Modelle oder Befehle lesen. Diese Bestandteile bilden den technischen Pfad vom Eingang bis zum Ergebnis. Abhängigkeiten und Laufzeitbedingungen gehören dazu, weil ein funktionierendes Beispiel sonst leicht mit allgemeiner Kompatibilität verwechselt wird. Die Quellen unterscheiden sich zudem darin, ob sie eine Kernfunktion oder eine optionale Erweiterung zeigen.

Bei einem Modell sind Checkpoint und Hardware relevant; bei einer Android-Bibliothek sind Canvas, Gradle und Geräteverhalten relevant; bei einem Agenten zählen TUI, Repository und Berechtigungen. Diese Unterschiede bestimmen die Prüfung von x-algorithm.

Ein konkreter Einstieg in x-algorithm

Untersuche die im x-algorithm-README genannten Trainings- und Inferenzschritte und vergleiche einen kleinen Testlauf mit den dokumentierten Tensor- und Modellartefakten. Halte dabei die konkrete Version, die Eingabe, die Terminalausgabe und die erzeugten Dateien oder sichtbaren Zustände fest. So lässt sich genau sagen, welcher Pfad funktioniert. Ein erfolgreicher Start beweist nur diesen dokumentierten Ablauf. Bei Änderungen an Konfiguration oder Abhängigkeiten muss die Beobachtung erneut dem jeweiligen Projektpfad zugeordnet werden.

Besonders aussagekräftig sind kleine Eingaben: ein Diagramm, eine Grammatik, eine Rust-Funktion, ein lokaler Knoten oder ein einzelner Recherchefall. Sie begrenzen die Fehlersuche und machen die behauptete Ausgabe sichtbar.

Grenzen der Quellen zu x-algorithm

Die vorliegenden Unterlagen belegen die ausdrücklich genannten Funktionen von x-algorithm. Sie belegen nicht automatisch Sicherheit, Skalierung, Geschwindigkeit, Datenschutz, Fehlertoleranz oder langfristige Pflege. Auch Repository-Sterne und Selbstbeschreibungen sind Kontext, aber kein Leistungstest. Eine fehlende Angabe darf weder als Fehler noch als Garantie gelesen werden.

Für den Einsatz muss deshalb zwischen dokumentierter Fähigkeit und eigener Annahme getrennt werden. Das gilt besonders für große Modelle, Empfehlungslogik und selbstverändernde Agentensysteme, bei denen Ressourcen, Datenherkunft und Kontrollgrenzen die Entscheidung stark beeinflussen.

Lizenz und Betrieb von x-algorithm

Die Metadaten nennen für x-algorithm die Lizenz Apache-2.0. Ihre konkreten Pflichten müssen zum geplanten Verteilungsmodell passen, etwa bei Änderungen, Binärpaketen, Modellen oder eingebundenen Abhängigkeiten. Diese Lizenzfrage ist von der technischen Qualität getrennt und sollte vor einer Veröffentlichung dokumentiert werden.

Das betreibende Team bleibt für Zugangsdaten, Netzwerkrechte, lokale Dateien, Updates und die Auswahl der Eingabedaten verantwortlich, sofern die Quellen nichts anderes festlegen. Bei einem lokalen Tool ist der Datenabfluss zu prüfen; bei Bibliotheken und Knoten stehen Build, Laufzeit und Zustandsdateien im Vordergrund.

Für wen x-algorithm passt

x-algorithm passt zu Teams, deren Aufgabe den dokumentierten Eingaben und Ausgaben entspricht und die die genannten Voraussetzungen kontrollieren können. Weniger passend ist das Projekt, wenn nicht belegte Garantien verlangt werden oder der Betrieb keine reproduzierbare Umgebung zulässt. Der erste Befund sollte aus dem projektspezifischen Befehl, der konkreten Datei oder dem sichtbaren Ablauf stammen.

Nach dem Test sind Ergebnis, Fehlermeldung und Nebenwirkungen gemeinsam zu bewerten. Für x-algorithm zählt dabei genau der zuvor beschriebene Prüfpunkt: nicht ein allgemeines Versprechen, sondern die beobachtbare Reaktion auf die kleine, kontrollierte Eingabe.

Redaktionelles Fazit

x-algorithm passt zu Teams, die den dokumentierten Ablauf und seine Voraussetzungen kontrollieren können. Es passt nicht als Zusage für unbelegte Eigenschaften. Prüfe zuerst Untersuche die im x-algorithm-README genannten Trainings- und Inferenzschritte und vergleiche einen kleinen Testlauf mit den dokumentierten Tensor- und Modellartefakten. und bewerte danach die konkrete Ausgabe, die relevanten Dateien und die Lizenz Apache-2.0.

Offizielle Quellen

  1. Official README
  2. Project repository
Community-Notizen

Community-Notizen