ตัวกรอง multi-step reply spam ของ X: โค้ดบอกอะไรบ้าง (2026)
วันที่ 4 กันยายน 2026 X เพิ่มตัวกรองจับสายตอบกลับตัวเองใต้บัญชีที่มีผู้ติดตาม 1,000 คนขึ้นไป ดูว่าโค้ดสาธารณะตรวจอะไรและทำอะไรบ้าง

โค้ดโอเพนซอร์สของ X มีตัวกรองที่เพิ่มเมื่อวันที่ 4 กันยายน 2026 เล็งที่สายการตอบกลับตัวเองใต้โพสต์ของบัญชีที่มีผู้ติดตามอย่างน้อย 1,000 คน เมื่อโมเดล AI ทำเครื่องหมายโพสต์ของผู้เขียนคนเดียวกันในสายนั้นตั้งแต่ 2 โพสต์ขึ้นไปว่าเป็นสแปม โค้ดของ X จะให้ป้ายกำกับ reply spam และคะแนนจัดอันดับคำตอบเป็น 0 กับแต่ละโพสต์ที่ถูกทำเครื่องหมาย
X เพิ่มอะไรลงในโค้ดโอเพนซอร์สเมื่อวันที่ 4 กันยายน 2026
ที่เก็บโค้ดสาธารณะ xai-org/x-algorithm ได้ขั้นตอนใหม่สำหรับสแปมในคำตอบ ชื่อ multi_step_reply_spam เมื่อวันที่ 4 กันยายน 2026 คอมมิตนี้เพิ่มสี่ไฟล์ใน grox/flows/reply_spam/
plan_multi_step_reply_spam.pyเชื่อม 4 ขั้นตอนเข้าด้วยกัน ได้แก่ ตัวกรองคุณสมบัติ การโหลดสื่อ การตรวจจับสแปม และขั้นตอนเขียนtask_multi_step_reply_spam.pyเก็บตัวกรอง ขั้นตอนตรวจจับ และขั้นตอนเขียนclassifier_multi_step_reply_spam.pyสร้างเธรดที่โมเดลอ่าน แปลผลคำตอบของโมเดล และใช้มาตรการป้องกัน 3 ข้อstate_multi_step_reply_spam.pyเก็บผลลัพธ์ คือรายการ ID ของโพสต์ที่ถูกทำเครื่องหมายและเหตุผล
README ของ X อธิบายโฟลเดอร์ grox/ ว่าเป็นโค้ดที่ทำงานเมื่อมีการโพสต์ และมีตัวจำแนกสำหรับหมวดอย่างสแปม แผนใหม่นี้ลงทะเบียนไว้กับตัวสร้างสตรีมชุดเดียวกับกระบวนการจัดอันดับคำตอบอื่น ๆ ของ X
ไฟล์ task ถูกแก้อีกครั้งเมื่อวันที่ 8 กันยายน 2026 ขั้นตอนเขียนเรียกฟังก์ชันเผยแพร่ตัวเดียวแทนการเขียนแยกสองครั้ง ค่าที่เขียนยังเป็น 0.0
ตัวกรอง multi-step reply spam เล็งคำตอบแบบไหน
ฟรี ไม่ต้องเข้าสู่ระบบ รู้ผลใน ไม่กี่วินาที
ตัวกรอง (TaskMultiStepReplySpamFilter) จะเลือกคำตอบก็ต่อเมื่อเงื่อนไขทั้งหมดนี้เป็นจริง
- โพสต์นั้นเป็นคำตอบที่มีบรรพบุรุษ และไม่มีบรรพบุรุษคนใดถูกลบ
- โพสต์แม่โดยตรงเป็นโพสต์ของผู้เขียนคนเดียวกัน คือบัญชีนั้นกำลังตอบตัวเอง
- อยู่ใต้โพสต์ต้นทางอย่างน้อย 2 ระดับ
- ผู้เขียนไม่ใช่เจ้าของโพสต์ต้นทาง
- เจ้าของโพสต์ต้นทางมีผู้ติดตามอย่างน้อย 1,000 คน (
FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION = 1000) ถ้าต่ำกว่านั้น โค้ดจะข้ามคำตอบด้วยเหตุผลlow_blast_radius
รูปแบบที่เล็กที่สุดที่เข้าเงื่อนไขคือ โพสต์ของบัญชีอื่น คำตอบหนึ่งจากบัญชีที่ถูกประเมิน และคำตอบที่สองจากบัญชีเดียวกันที่ตอบคำตอบแรกของตัวเอง ตัวกรองไม่เคยดูจำนวนผู้ติดตามของผู้ตอบเอง
คำตอบที่โพสต์แม่โดยตรงเป็นของคนอื่นจะถูกข้าม (parent_not_same_author) คำตอบใต้โพสต์ของผู้ตอบเองก็เช่นกัน (same_user_reply_as_root)
ตัวกรองยกเว้นบัญชีแบบไหน
ตัวกรอง multi-step reply spam ของ X ข้าม 5 กรณีก่อนที่โมเดลจะทำงาน
- คำตอบที่เขียนโดยบัญชี Grok หรือ Gork
- ผู้เขียนที่ถูกจัดเป็น high page rank (เวอร์ชัน 2) ตรวจด้วย
is_high_page_rank_v2_user - ผู้เขียนที่มีป้ายสีเทา ตรวจด้วย
is_grey_badge_user - คำตอบใต้เจ้าของโพสต์ต้นทางที่มีผู้ติดตามไม่ถึง 1,000 คน
- เธรดที่มีโพสต์บรรพบุรุษถูกลบ หรือมีโพสต์ที่ไม่มีข้อมูลผู้เขียน
ไฟล์เหล่านี้ไม่ได้นิยาม "high page rank" และ "ป้ายสีเทา"
โมเดลตัดสินอย่างไรว่าอะไรคือสแปม
โค้ดของ X แสดงสิ่งที่โมเดลได้รับและสิ่งที่เกิดขึ้นหลังโมเดลตอบ แต่ไม่แสดงเกณฑ์ที่โมเดลใช้ ตัวให้คะแนนผูกกับรหัสโมเดล oai-gemma4-26b-2 ซึ่งกำหนดใน constants.py
โมเดลอ่านสิ่งต่อไปนี้
- โปรไฟล์ของผู้เขียนคำตอบ (ชื่อ ชื่อผู้ใช้ ประวัติย่อ และที่ตั้งในโปรไฟล์)
- เธรดในรูปโพสต์ที่มีหมายเลข โดย "Post 0" คือโพสต์ต้นทาง ระบุว่า "never flag" และโพสต์สุดท้ายระบุว่า "the reply being evaluated"
- ของแต่ละโพสต์ ได้แก่ ชื่อผู้ใช้ จำนวนผู้ติดตาม ชื่อที่แสดง ข้อความ URL และสื่อสูงสุด 2 รายการ
- ประวัติย่อของเจ้าของโพสต์ต้นทาง ซึ่งเพิ่มเข้ากับโพสต์ต้นทาง
เธรดที่มีบรรพบุรุษมากกว่า 10 โพสต์จะถูกตัดเหลือ 5 โพสต์แรกและ 5 โพสต์สุดท้าย (MAX_THREAD_SIZE = 10) โมเดลตอบเป็น JSON คือลำดับของโพสต์ที่มันตัดสินว่าเป็นสแปม และเหตุผล
พรอมต์เองไม่เปิดเผย prompts.py โหลดเทมเพลตชื่อ multi_step_reply_spam_system.j2 ซึ่งไม่อยู่ในที่เก็บโค้ด และคอมเมนต์ในไฟล์ระบุว่าตัดพรอมต์ออกเพื่อให้เล่นงานระบบได้ยากขึ้น README ของ X ก็ระบุว่าพรอมต์ของ Grox อยู่ในไฟล์ที่ไม่เผยแพร่
มาตรการป้องกันอะไรทำงานหลังโมเดลตอบ
การตรวจสามขั้นทำงานตามลำดับนี้ และแต่ละขั้นลบเครื่องหมายได้
- ถ้าคำตอบล่าสุดไม่อยู่ในโพสต์ที่ถูกทำเครื่องหมาย เครื่องหมายทั้งหมดจะถูกทิ้ง
- โพสต์ที่ถูกทำเครื่องหมายแต่เขียนโดยผู้เขียนอื่นจะถูกนำออก
- ถ้าเหลือโพสต์ที่ถูกทำเครื่องหมายเพียง 1 โพสต์พอดี โพสต์นั้นจะถูกทิ้ง
ดังนั้นการลงโทษต้องมีโพสต์ที่ถูกทำเครื่องหมายอย่างน้อย 2 โพสต์จากผู้เขียนคนเดียวกัน รวมคำตอบล่าสุดด้วย
คำตอบที่ตัวกรองทำเครื่องหมายจะเกิดอะไรขึ้น
สำหรับแต่ละโพสต์ที่ถูกทำเครื่องหมายในเธรด โค้ดของ X จะติดป้ายกำกับความปลอดภัย reply spam และเผยแพร่คะแนนจัดอันดับคำตอบ 0.0 ขั้นตอนเขียน (TaskWriteMultiStepReplySpamReplyRanking) ถูกปิดนอกสภาพแวดล้อมจริงด้วย DisableTaskForNonProd
สำหรับแต่ละโพสต์ที่ถูกทำเครื่องหมาย โค้ดจะ
- ติดป้ายกำกับความปลอดภัย
RiskyHighVizReplyเว้นแต่ผู้เขียนเป็น high page rank (คะแนนความน่าเชื่อถือ 62 ขึ้นไปนับเป็น high page rank เมื่อมีคะแนน) มีป้ายสีเทา หรือเป็นผู้ใช้ทดสอบ - เผยแพร่คะแนนจัดอันดับคำตอบ 0.0 พร้อมเหตุผลของโมเดล โดยตัดให้เหลือ 500 ตัวอักษรสุดท้าย
ตัวให้คะแนนจัดอันดับคำตอบหลักในโฟลเดอร์เดียวกันปฏิเสธคะแนนที่อยู่นอกช่วง 0 ถึง 3 ดังนั้น 0 คือค่าต่ำสุดของสเกลนั้น เมื่อโพสต์มีค่า 0 แล้ว ขั้นตอนเขียนมาตรฐานของการจัดอันดับคำตอบจะข้ามคะแนนใหม่ที่ไม่ต่ำกว่าค่าที่เก็บไว้
ไฟล์เหล่านี้ทำงานกับโพสต์เป็นรายโพสต์ ไม่ได้ระงับบัญชีและไม่ได้ติดป้ายกำกับทั้งบัญชี
สิ่งที่ไฟล์ที่เผยแพร่ไม่ได้แสดง
ที่เก็บโค้ดไม่ได้แสดงว่ามุมมองบทสนทนาใช้คะแนนหรือป้ายกำกับอย่างไร การค้นหาชื่อคะแนนพบเฉพาะในโฟลเดอร์ reply_spam ชื่อป้ายกำกับ RiskyHighVizReply ก็ไม่ปรากฏที่ไหนเลยในโฟลเดอร์ under-the-hood ของที่เก็บโค้ด รวมถึงรายการป้ายกำกับ โค้ดที่เผยแพร่จึงไม่แสดงรายการของป้ายนี้ใน Under the Hood
จะรู้ได้อย่างไรว่าคำตอบของคุณได้รับผลกระทบ
หากอยากรู้ว่าคำตอบของคุณได้รับผลกระทบหรือไม่ ให้ดูว่ามันอยู่ตรงไหนของบทสนทนา Reply deboosting (การลดอันดับคำตอบ) หมายความว่าคำตอบของคุณถูกดันไปอยู่ท้ายบทสนทนา หรือซ่อนอยู่หลัง “แสดงคำตอบเพิ่มเติม”
Shadowban Radar นิยามการทดสอบนี้จากภายนอก การลดอันดับคำตอบจะถูกตรวจพบเมื่อ X แสดงคำตอบในบทสนทนาที่อ่านตามลำดับเวลา แต่ไม่แสดงคำตอบนั้นในมุมมองเริ่มต้นของบทสนทนาเดียวกัน หน้า reply deboosting อธิบายวิธีตรวจด้วยตนเอง
การตรวจฟรีบน Shadowban Radar รันการทดสอบนี้กับชื่อผู้ใช้สาธารณะใดก็ได้ โดยไม่ต้องล็อกอิน สิ่งที่แสดงคือตำแหน่งของคำตอบ ไม่ใช่สาเหตุ คำตอบที่อันดับต่ำอาจมาจากหลายสัญญาณ การตรวจจึงบอกไม่ได้ว่าตัวกรองนี้เป็นผู้ทำเครื่องหมายหรือไม่
คำตอบที่หายไปจากบทสนทนาโดยสิ้นเชิงเป็นข้อจำกัดอีกแบบ คือ ghost ban
โค้ดแนะนำให้ทำอย่างไร
X ไม่ได้เผยแพร่เกณฑ์ของโมเดล ข้อต่อไปนี้จึงมาจากเงื่อนไขของตัวกรองเท่านั้น
- พูดครั้งเดียว ตัวกรองทำงานเมื่อมีโพสต์ของผู้เขียนคนเดียวกันถูกทำเครื่องหมายอย่างน้อย 2 โพสต์ และคำตอบเดี่ยวใต้โพสต์ของคนอื่นไม่เข้าเงื่อนไข การรวมคำตอบสั้น ๆ หลายอันเป็นอันเดียวช่วยเลี่ยงสายที่ตัวกรองมองหา
- ใส่รายละเอียดเพิ่มในโพสต์ของตัวเอง ส่วนต่อเนื่อง ลิงก์ หรือคำอธิบายยาว ๆ ใส่ในโพสต์หรือเธรดของคุณเองได้ คำตอบใต้โพสต์ของคุณเองไม่เคยถูกประเมิน (
same_user_reply_as_root) - ตอบคนอื่น ไม่ใช่ตอบตัวเอง คำตอบที่โพสต์แม่โดยตรงเป็นโพสต์ของบัญชีอื่นอยู่นอกตัวกรอง (
parent_not_same_author) - สายคำตอบถูกตัดสินรวมกัน โมเดลอ่านทั้งเธรดในครั้งเดียว และโพสต์ที่ถูกทำเครื่องหมายของผู้เขียนคนเดียวกันแต่ละโพสต์จะได้คะแนน 0 ของตัวเอง
ไฟล์ reply_spam ไม่มีขั้นตอนใดที่ถอดป้ายกำกับหรือยกคะแนน 0 ที่เขียนไปแล้วให้สูงขึ้น
แหล่งที่มา
อ่านเมื่อวันที่ 7 ตุลาคม 2026 ในที่เก็บโค้ด xai-org/x-algorithm ที่คอมมิต 78460ca ไฟล์ตัวกรอง 4 ไฟล์ถูกเพิ่มในคอมมิต 9b0dc31 เมื่อวันที่ 4 กันยายน 2026
- plan_multi_step_reply_spam.py: 4 ขั้นตอนและลำดับของมัน
- task_multi_step_reply_spam.py: ขั้นตอนคุณสมบัติ ตรวจจับ และเขียน
- classifier_multi_step_reply_spam.py: เธรดที่ส่งให้โมเดลและมาตรการป้องกัน 3 ข้อ
- state_multi_step_reply_spam.py: ผลลัพธ์ที่เก็บไว้
- task_write.py: ฟังก์ชันติดป้ายกำกับและการเขียนมาตรฐานของการจัดอันดับคำตอบ
- README.md: คำอธิบาย
grox/และรายการไฟล์ที่ไม่เผยแพร่ - คอมมิต 9b0dc31: 4 กันยายน 2026
Shadowban Radar ไม่มีส่วนเกี่ยวข้องกับ X Corp หากต้องการทราบว่ารายงานของ X สัมพันธ์กับการตรวจแบบเรียลไทม์อย่างไร ดู Under the Hood ของ X


