ฉันรันอัลกอริทึมการแนะนำของ X ที่เปิดเผยเป็นโอเพนซอร์สในเดือนพฤษภาคม และพบว่าส่วนที่เปิดเผยนั้นอธิบายการจัดอันดับฟีดจริงได้เพียง 30% เท่านั้น ส่วนที่เหลืออีก 70% ซ่อนอยู่ในการกำหนดค่าฝั่งเซิร์ฟเวอร์ VM Ranker และกฎการดำเนินงานต่างๆ
แต่โค้ดสาธารณะ 30% นี้ก็เพียงพอที่จะตอบคำถามหนึ่งข้อ: ครีเอเตอร์ควบคุมอะไรได้จริงๆ บ้าง?
repositories ต้นฉบับ: xai-org/x-algorithm (อัปเดตเมื่อ 15 พฤษภาคม เพิ่ม 187 ไฟล์ และ 18,263 บรรทัดของโค้ด)
บทความนี้จะไม่พูดซ้ำถึงภาพรวมของอัลกอริทึม (โพสต์สองโพสต์ของ Punk2898 ละเอียดครบถ้วนอยู่แล้ว) แต่จะเน้นไปที่สามสิ่ง:
1️⃣ ปรากฏการณ์ที่ขัดกับสัญชาตญาณซึ่งผมสังเกตเห็นขณะรันไพพ์ไลน์
2️⃣ กลไกในการอัปเดตโค้ดเดือนพฤษภาคมที่ส่งผลกระทบต่อครีเอเตอร์มากที่สุด
3️⃣ ข้อเสนอแนะเชิงปฏิบัติโดยเฉพาะตามข้อสังเกตเหล่านี้
ข้อสังเกตที่ 1: การจัดอันดับแบบโอเพนซอร์สกับฟีดจริงแทบไม่มีความสัมพันธ์กัน

ผมใช้โมเดล Phoenix รันกับคลังข้อมูลโพสต์กีฬาจำนวน 537,000 โพสต์ ช่วงคะแนนสุดท้ายที่โมเดลให้คือ 0.0000 ถึง 0.0015 แบนราบอย่างมาก ความน่าจะเป็นที่ทำนายไว้สำหรับ Fav, Reply และ RT ล้วนใกล้เคียงกับศูนย์ การจัดอันดับส่วนใหญ่อาศัย Dwell (เวลาที่อยู่) เป็นสัญญาณเพื่อสร้างความแตกต่าง
จากนั้นผมก็สแครปฟีด For You จริงมาเปรียบเทียบ โดยใช้ Kendall's tau เพื่อคำนวณความสัมพันธ์ของอันดับ ผลลัพธ์คือ -0.10
ตัวเลขนี้หมายความว่า: การใช้น้ำหนักเดโมในโค้ดโอเพนซอร์ส (fav1.0 + reply0.5 + RT0.3 + dwell0.2) เพื่อทำนายการจัดอันดับฟีดจริงที่คุณเห็นนั้นแม่นยำพอๆ กับการเดาสุ่ม
ในฟีดจริง โพสต์ที่มีปฏิสัมพันธ์เป็นศูนย์ปรากฏใน 7 อันดับแรก ในขณะที่โพสต์ที่มีปฏิสัมพันธ์สูงถูกดันไปที่อันดับ 9 หรือ 10 โพสต์ใหม่เอี่ยมที่เผยแพร่ภายใน 3 นาทีโดยไม่มีปฏิสัมพันธ์ใดๆ ก็สามารถเข้าสู่ฟีดได้เช่นกัน
สิ่งนี้หมายความว่าอย่างไร?
หมายความว่าโมเดล Phoenix แบบโอเพนซอร์สมีหน้าที่แค่ "คัดกรองผู้สมัครเบื้องต้น" เท่านั้น สิ่งที่กำหนดอันดับของคุณในฟีดของคนอื่นอย่างแท้จริงคือเลเยอร์การจัดอันดับใหม่ถัดไป โค้ดที่เปิดเผยในเดือนพฤษภาคมบังเอิญทำให้ตรรกะของเลเยอร์การจัดอันดับใหม่เหล่านี้สมบูรณ์
ข้อสังเกตที่ 2: คะแนนคุณภาพ 0.4 คือเส้นแบ่งชีวิตและความตายที่มองไม่เห็น

โมดูล 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: การปัดออกไปเป็นการลงโทษเชิงรุก ไม่ใช่แค่ "ไม่เห็นมัน"

เวอร์ชันเดือนพฤษภาคมอัปเกรดสัญญาณพฤติกรรมจาก 18 หัวแบบไม่ต่อเนื่องเป็น 19 หัวแบบไม่ต่อเนื่อง + 8 หัวเสริมแบบต่อเนื่อง หัวแบบต่อเนื่องใหม่ทำนายเมตริกระดับละเอียด เช่น "อยู่ได้นานแค่ไหน" และ "อัตราการอ่านจบ"
แต่สัญญาณที่ส่งผลกระทบต่อครีเอเตอร์มากที่สุดคือ: not_dwelled
ก่อนหน้านี้เราคิดว่า "ไม่มีปฏิสัมพันธ์จากผู้ใช้" เป็นกลาง เทียบเท่ากับไม่ถูกเห็น ผิด การที่ผู้ใช้ปัดผ่านโพสต์ของคุณอย่างรวดเร็วเป็นสัญญาณเชิงลบเชิงรุก และอัลกอริทึมจะลงโทษคุณสำหรับสิ่งนั้น
ซึ่งหมายความว่า:
- การไม่ดึงดูดความสนใจในวินาทีแรกของวิดีโอ = การลงโทษเชิงรุก
- ประโยคแรกที่ไม่น่าสนใจในโพสต์ยาว = การลงโทษเชิงรุก
- รูปภาพที่ไม่มีผลกระทบทางภาพ = การลงโทษเชิงรุก
ขณะสังเกตฟีดจริง ผมสังเกตเห็นปรากฏการณ์หนึ่ง: โพสต์ที่ไม่มีปฏิสัมพันธ์บางโพสต์สามารถเข้าสู่ 7 อันดับแรก ในขณะที่บางโพสต์ที่มีปฏิสัมพันธ์สูงกลับถูกดันกลับไป คำอธิบายที่สมเหตุสมผลคือ: โพสต์ที่ไม่มีปฏิสัมพันธ์เหล่านั้น แม้จะไม่ถูกกดถูกใจ แต่จริงๆ แล้วผู้ใช้อยู่กับมัน (สร้างสัญญาณ dwell) ในขณะที่บางโพสต์ที่ดูเหมือนมีข้อมูลดีๆ จริงๆ แล้วมีการปัดผ่านอย่างรวดเร็วเป็นจำนวนมาก
ข้อสังเกตที่ 4: คนที่คุณติดตามเป็นตัวกำหนดว่าอัลกอริทึมจะจัดคุณอยู่ในวงไหน

โค้ดเดือนพฤษภาคมเพิ่ม mutual_follow_jaccard_hydrator ซึ่งคำนวณ "ความคล้ายคลึงของวงการติดตามซึ่งกันและกันระหว่างคุณกับผู้เขียนคนหนึ่ง"
หากคุณและผู้เขียนคนหนึ่งติดตามคนเดียวกันหลายคน (ค่าสัมประสิทธิ์ Jaccard สูง) อัลกอริทึมจะถือว่าคุณอยู่ใน "วงข้อมูล" เดียวกัน และมีแนวโน้มที่จะผลักดันเนื้อหาของพวกเขาให้กับคุณมากขึ้น
กลไกนี้เปลี่ยนสมมติฐานพื้นฐาน: เดิมทีคือ "คุณภาพเนื้อหากำหนดการกระจาย" ตอนนี้คือ "คุณภาพเนื้อหา + การเป็นส่วนหนึ่งของวง ร่วมกันกำหนดการกระจาย"
โดยเฉพาะ:
- ทุกบัญชีที่คุณติดตามกำลังคำนวณอัตลักษณ์วงของคุณ
- การติดตามแบบสุ่มเทียบเท่ากับการทำให้แท็กวงของคุณเจือจางลง
- การติดตามซึ่งกันและกันกับ KOL ในสาขาเดียวกันมีประสิทธิภาพมากกว่าการติดตามทางเดียว 100 บัญชีสุ่มอย่างมาก
- ความคิดเห็นคุณภาพสูงใต้โพสต์ของ Big V จะเข้าสู่ห่วงโซ่สัญญาณ following_replied_users และอวาตาร์ของคุณอาจปรากฏในพรอมต์ "คนที่คุณติดตามก็แสดงความคิดเห็นที่นี่ด้วย"
ฟีด For You ของผมเองยืนยันสิ่งนี้: เนื้อหาที่แนะนำมากกว่า 60% มาจากครีเอเตอร์ในวง AI จีนเพราะลิสต์ติดตามของผมกระจุกตัวอยู่ในวงนั้น
ข้อสังเกตที่ 5: ส่วนความคิดเห็นตอนนี้เป็นแทร็กอิสระ

โค้ดเดือนพฤษภาคมเผยให้เห็นระบบการให้คะแนนอิสระสำหรับส่วนความคิดเห็น แต่ละความคิดเห็นจะได้รับคะแนน 0-3 โดย Grok:
- 3 คะแนน: ความคิดเห็นที่มีส่วนเพิ่มของข้อมูลที่สามารถกระตุ้นการอภิปราย
- 2 คะแนน: ปฏิสัมพันธ์ปกติ
- 1 คะแนน: สั้นแต่ไม่ใช่สแปม
- 0 คะแนน: กระตุ้นแท็กสแปม ส่งผลต่อเครดิตบัญชี
ความคิดเห็น 0 คะแนนไม่ใช่แค่ถูกยุบ แต่ทิ้งบันทึกไว้ในบัญชีของคุณว่าคุณ "เคยโพสต์ความคิดเห็นสแปม" การสะสมในระยะยาวอาจส่งผลต่อน้ำหนักบัญชีโดยรวมของคุณ
ในขณะเดียวกัน ความคิดเห็นสแปมใต้โพสต์ของคุณก็ส่งผลต่อน้ำหนักของโพสต์หลักด้วย ความคิดเห็นเช่น "follow for follow," "first," หรือ "+1"—อัลกอริทึมไม่ใช่แค่ไม่ชอบมัน แต่มันลดการกระจายของโพสต์หลักของคุณเพราะสิ่งเหล่านี้
ในทางกลับกัน ค่าการเปิดเผยของความคิดเห็นคุณภาพสูงอาจมากกว่าการโพสต์ 10 โพสต์ธรรมดาด้วยตัวเอง การแสดงความคิดเห็นที่ backed by data และกระตุ้นการอภิปรายใต้โพสต์ของ Big V นั้นเทียบเท่ากับการยืมช่องทางการเข้าชมของ Big V
ข้อสังเกตที่ 6: กลยุทธ์แคชทำให้ "เวลาโพสต์" ละเอียดอ่อนกว่า "เนื้อหาที่โพสต์"

มีรายละเอียดในโค้ด: เมื่อจำนวนโพสต์ในพูลแคช >= 500 ระบบจะข้ามตรรกะการดึงโพสต์แบบเรียลไทม์ทั้งหมดจาก Thunder/Phoenix/TweetMixer และส่งคืนเนื้อหาแคชโดยตรง
ซึ่งหมายความว่า: สำหรับผู้ใช้ที่ใช้งานหนักซึ่งเปิด X หลายสิบครั้งต่อวัน คำขอจำนวนมากของพวกเขาไม่ได้ผ่านอัลกอริทึมการแนะนำเลย พวกเขาเห็นลิสต์เก่าใน Redis cache
โพสต์ที่คุณเพิ่งส่งอาจมองไม่เห็นโดยสิ้นเชิงสำหรับผู้ใช้ที่ใช้งานหนักเหล่านี้ เนื้อหาของคุณจะมีโอกาสเข้าสู่ระบบก็ต่อเมื่อแคชรีเฟรชครั้งถัดไป
นอกจากนี้ยังอธิบายปรากฏการณ์ที่ขัดกับสัญชาตญาณ: บางบัญชีโพสต์หลายสิบครั้งต่อวัน และปริมาณการเข้าชมก็ไม่แย่ ทั้งนี้เพราะการโพสต์ความถี่สูงเพิ่มความน่าจะเป็นที่จะ "ถูกเลือกในการรีเฟรชแคชครั้งใดครั้งหนึ่ง" อย่างไรก็ตาม Punk2898 คาดการณ์ว่ากลยุทธ์นี้จะถูกปรับเปลี่ยนในภายหลัง
สำหรับครีเอเตอร์ทั่วไป คำแนะนำคือ: โพสต์ก่อนช่วงเวลาที่ผู้ชมเป้าหมายของคุณมีกิจกรรมสูงสุดประมาณ 10-30 นาที เพื่อให้โพสต์ของคุณมีโอกาสถูกรวมไว้มากขึ้นเมื่อแคชรีเฟรช
ข้อสังเกตที่ 7: MediumRisk คือการลดน้ำหนักที่ซ่อนอยู่ซึ่งคุณไม่รู้

โค้ดระบบโฆษณาเผยให้เห็นตัวแปร brand_safety_verdict เป็นครั้งแรก มีสี่ระดับ: Safe / LowRisk / MediumRisk / HighRisk
การค้นพบที่สำคัญ: ค่าเริ่มต้นคือ MediumRisk
กล่าวอีกนัยหนึ่ง หากโพสต์ของคุณยังไม่ได้รับการตรวจสอบอย่างสมบูรณ์โดย Grox (หรือแท็กหายไป) ระบบจะถือว่าคุณเป็น "ความเสี่ยงปานกลาง" โดยค่าเริ่มต้น โพสต์ที่มีความเสี่ยงปานกลางจะไม่ถูกบล็อกโดยตรง แต่จะถูกหลีกเลี่ยงถัดจากโฆษณา และตำแหน่งรอบๆ โฆษณามักจะเป็นพื้นที่ที่มีการเปิดเผยสูง (จุดสนใจทางภาพของผู้ใช้)
ผลลัพธ์คือ: คุณไม่เคยได้รับการแจ้งเตือนการละเมิดใดๆ แต่การเปิดเผยของคุณถูกลดราคาไปแล้ว นี่คือ "เงาแบนที่ซ่อนอยู่" ที่มองข้ามได้ง่ายที่สุดในอัลกอริทึม v2
จะหลีกเลี่ยงได้อย่างไร? โพสต์ที่มีธีมชัดเจนและไม่มีเนื้อหา "สุดโต่ง" มีแนวโน้มที่จะถูกจัดเป็น Safe อย่างรวดเร็ว หลังจากโพสต์โพสต์สำคัญ รอ 30-60 นาทีให้การตรวจสอบเสร็จสิ้นก่อนทำการโปรโมตอย่างหนัก
รายการตรวจสอบสำหรับครีเอเตอร์

จาก 7 ข้อสังเกตข้างต้น นี่คือขั้นตอนปฏิบัติที่สามารถดำเนินการได้:
เกี่ยวกับคุณภาพเนื้อหา
10 คำแรกของแต่ละโพสต์เป็นตัวกำหนด dwell หรือ not_dwelled คุณต้องสร้างช่องว่างทางปัญญาหรือผลกระทบของข้อมูลในประโยคแรก การเริ่มต้นด้วย "วันนี้ฉันเรียนรู้เคล็ดลับเล็กๆ น้อยๆ" จะกระตุ้นให้เกิดการปัดออกโดยตรง
เนื้อหาควรมีข้อโต้แย้งที่ชัดเจน ความหนาแน่นของข้อมูล และความรู้สึกของโครงสร้าง เกณฑ์คะแนนคุณภาพ 0.4 ไม่สูง แต่โพสต์ "เทมเพลต + ข้อมูลน้อย + ไม่กี่คำพร้อมรูปภาพ" จะไม่ผ่านแน่นอน
หลีกเลี่ยงความรู้สึกของเทมเพลต AI: โครงสร้างประโยคที่สม่ำเสมอ การเปิดแบบตายตัว ("ประการแรก... ประการที่สอง... สุดท้าย") และการจบอย่างยิ่งใหญ่จะถูกตรวจพบโดย slop_score
เกี่ยวกับการดำเนินการวง
ตรวจสอบลิสต์ติดตามของคุณ เลิกติดตามบัญชีสุ่มที่ไม่อยู่ในวงเป้าหมายของคุณ ทุกการติดตามจะหล่อหลอมค่าสัมประสิทธิ์ Jaccard ของคุณ
ติดตามซึ่งกันและกันกับบัญชีหลัก 5-10 บัญชีในวงเป้าหมายของคุณ น้ำหนักของการติดตามซึ่งกันและกันสูงกว่าการติดตามทางเดียวมาก
ในโพสต์ของ Big V ในวง แสดงความคิดเห็นที่มีส่วนเพิ่มของข้อมูล ไม่ใช่ "เรียนรู้แล้ว" แต่เสริมข้อมูลจุดหนึ่ง แบ่งปันตัวอย่างตรงกันข้าม หรือถามคำถามขยายความ
เกี่ยวกับการจัดการส่วนความคิดเห็น
ทำความสะอาดความคิดเห็นสแปมใต้โพสต์ของคุณเป็นประจำ โฆษณาและคำตอบที่ไม่มีความหมายจะลดน้ำหนักของโพสต์หลัก
อย่าสแปมแสดงตัวตนใต้โพสต์ที่ไม่เกี่ยวข้อง ความคิดเห็น 0 คะแนนทิ้งบันทึกสแปมไว้ในบัญชีของคุณ
เกี่ยวกับช่วงเวลาโพสต์
โพสต์ก่อนช่วงเวลาที่ผู้ชมเป้าหมายของคุณมีกิจกรรมสูงสุดประมาณ 10-30 นาที เว้นช่องว่างให้แคชรีเฟรชรวมคุณไว้
รอ 30-60 นาทีหลังจากโพสต์สำคัญก่อนที่จะโปรโมต ให้ Grox ตรวจสอบเสร็จสิ้นเพื่ออัปเกรดจาก MediumRisk เริ่มต้นเป็น Safe
เกี่ยวกับการอ้างอิงรีทวีต
ระวังการอ้างถึงเนื้อหาชายขอบ กลไกความรับผิดร่วม VF ใน v2 จะทำให้การลดน้ำหนักจากโพสต์ที่ถูกลงโทษแพร่กระจายมาถึงคุณตามห่วงโซ่การอ้างอิง
ใช้ภาพหน้าจอ + ความคิดเห็นของคุณเองสำหรับเนื้อหาที่มีการโต้เถียงแทนการอ้างอิงโดยตรง
เกี่ยวกับแฮชแท็ก
ระบุหัวข้อ Grok หลัก 1-2 หัวข้อและสร้างเนื้อหาอย่างสม่ำเสมอรอบๆ หัวข้อเหล่านั้น สตรีมการค้นพบของผู้ใช้ใหม่ถูกกรองอย่างเข้มงวดตามหัวข้อ หากคุณไม่อยู่ในชุดหัวข้อของพวกเขา คุณก็ไม่มีตัวตนสำหรับพวกเขา
ใช้แท็ก # ที่ชัดเจนเป็นครั้งคราวเพื่อเสริมสร้างการจัดหมวดหมู่หัวข้อของอัลกอริทึม
เกี่ยวกับวิดีโอ
วินาทีแรกของวิดีโอคือเส้นแบ่งชีวิตและความตาย สัญญาณ not_dwelled ชัดเจนที่สุดในวิดีโอ
เนื้อหาสำคัญต้องมีเวอร์ชันที่เป็นข้อความเท่านั้น ผู้ใช้บางคนเปิดใช้ตัวกรอง "ดูวิดีโอน้อยลง" และโพสต์ที่มีฟิลด์ระยะเวลาวิดีโอจะถูกตัดออกทั้งหมด
ลิงก์อ้างอิง:
https://github.com/xai-org/x-algorithm





