Memoderasi sebuah komunitas Telegram terdengar seperti persoalan yang sudah terpecahkan sampai Anda benar-benar menjalankan salah satunya. Sebuah grup berisi sepuluh ribu orang menghasilkan luapan pesan bagai selang pemadam, dan terkubur di dalamnya ada para pengirim spam yang telah menghabiskan bertahun-tahun mempelajari cara mengelabui setiap filter naif yang mungkin Anda tulis. Mereka mencampur aksara, menyisipkan karakter berlebar-nol, menerjemahkan promosi mereka ke tiga puluh bahasa, dan merotasi susunan kata lebih cepat daripada yang mampu diikuti oleh sebuah daftar blokir.
Telm adalah jawaban kami atas hal itu. Prinsip desain di baliknya adalah bahwa deteksi spam merupakan dua persoalan sekaligus: ia harus cukup cepat untuk bertindak sebelum sebuah pesan terlihat, dan cukup akurat sehingga tidak menghukum anggota yang sungguhan. Kedua tujuan itu saling menarik ke arah berlawanan — pemeriksaan yang paling akurat juga yang paling lambat — maka alih-alih memilih salah satu, kami membangun sebuah pipeline berisi tiga lapisan, masing-masing menangkap apa yang tidak bisa ditangkap lapisan sebelumnya dan hanya menyerahkan kasus-kasus yang sulit.
Lapisan satu: mesin aturan
Lapisan pertama adalah mesin aturan yang disetel secara manual, dan ia mengerjakan sebagian besar pekerjaan. Ia membawa lebih dari 200 pola yang mencakup spam yang tak pernah benar-benar berubah: undangan pump kripto, tawaran pekerjaan palsu, "DM saya untuk uang mudah," tautan phishing, dan trik pengaburan yang dipakai untuk menyelundupkannya melewati filter.
Dua hal yang membuatnya efektif adalah keluasan dan kecepatan.
- Ia menormalkan teks sebelum pencocokan — melipat karakter Unicode yang mirip, membuang spasi berlebar-nol, meruntuhkan trik homoglif yang mengubah "invest" menjadi rangkaian yang tampak identik tetapi sebenarnya bukan. Para pengirim spam mengandalkan regex Anda melihat sesuatu yang berbeda dari yang dilihat mata manusia; normalisasi menutup celah itu.
- Ia mencakup 30+ bahasa, karena sebuah aturan yang hanya mengenal bahasa Inggris buta terhadap sebagian besar spam dunia.
- Ia berjalan di bawah 10 milidetik. Itulah angka yang memungkinkan Telm menghapus sebuah pesan sebelum ruangan benar-benar melihatnya, alih-alih sesudah kerusakan terjadi.
Mesin aturan menangkap mayoritas besar spam dengan sendirinya. Namun aturan memiliki batas atas: ia hanya tahu apa yang telah diberitahukan kepadanya, dan penipuan yang benar-benar baru tidak akan cocok dengan pola mana pun. Untuk itulah lapisan-lapisan berikutnya ada.
Lapisan dua: pengklasifikasi AI
Ketika sebuah pesan bertahan dari aturan tetapi masih tampak mencurigakan — sebuah tautan tak lazim, pola pengunggahan yang ganjil, seorang pengunggah pertama kali dengan pesan berbentuk promosi — pesan itu diteruskan ke pengklasifikasi machine-learning yang dilatih pada pesan-pesan spam dan sah yang telah dilabeli.
Pengklasifikasi menangkap hal-hal yang tidak bisa diartikulasikan oleh aturan: nada sebuah penipuan, struktur sebuah upaya manipulasi, bentuk sebuah pesan yang secara teknis bersih tetapi secara statistik mirip spam. Masalahnya adalah inferensi model itu mahal, dan menjalankannya pada setiap pesan akan menjebol anggaran latensi yang begitu keras dijaga oleh mesin aturan.
Maka pengklasifikasi duduk di belakang sebuah cache. Spam datang bergelombang — kampanye yang sama menghantam banyak grup dengan pesan yang nyaris identik dalam hitungan menit. Kami menjadikan sidik jari ternormalisasi dari pesan sebagai kunci cache, sehingga instans pertama sebuah kampanye membayar biaya inferensi penuh dan setiap salinan berikutnya menjadi cache hit. Dalam praktiknya, cache menyerap sebagian besar lalu lintas yang berulang, dan model hanya benar-benar berjalan pada konten yang sungguh-sungguh baru.
message ──▶ normalize ──▶ rule engine (<10ms, 200+ patterns)
│ uncertain
▼
fingerprint cache ──hit──▶ verdict
│ miss
▼
AI classifier ──▶ verdict + cache writeLapisan tiga: memori semantik
Lapisan ketiga adalah yang membuat Telm sulit dikelabui seiring waktu. Para pengirim spam tidak mengirim pesan yang sama dua kali — mereka memparafrasekannya. "Gabung grup sinyal eksklusif kami" menjadi "dapatkan akses ke saluran trading privat kami," yang menjadi tawaran yang sama dalam bahasa Portugis. Sebuah cache sidik jari melihat tiga rangkaian yang berbeda. Manusia melihat satu penipuan.
Memori semantik menutup celah itu dengan bekerja pada makna alih-alih teks. Ketika sebuah pesan dikonfirmasi sebagai spam, Telm menyimpan sebuah embedding — sebuah vektor numerik yang menangkap apa makna pesan itu alih-alih bagaimana ejaannya. Pesan-pesan baru juga di-embed, lalu dibandingkan terhadap memori itu berdasarkan kemiripan. Sebuah parafrase, sebuah terjemahan, sebuah promosi yang disusun ulang semuanya mendarat di dekat aslinya dalam ruang vektor, meskipun mereka nyaris tidak berbagi karakter harfiah.
Inilah yang memungkinkan Telm menangkap variasi kedua, ketiga, dan keseratus dari sebuah penipuan yang hanya pernah ditunjukkan kepadanya sekali. Mesin aturan menangani yang telah diketahui, pengklasifikasi menangani yang baru, dan memori semantik menangani yang bermutasi — ekor panjang spam yang bertahan justru karena ia tidak pernah mengulang dirinya kata demi kata.
Daftar blokir CAS
Tidak setiap pertahanan harus dihitung secara lokal. Telm mengintegrasikan daftar blokir Combot Anti-Spam (CAS), sebuah registri global yang dipelihara komunitas berisi akun-akun yang sudah dikonfirmasi sebagai pengirim spam di seluruh ekosistem Telegram.
Nilai dari CAS adalah bahwa ia bertindak sebelum sebuah pesan ada. Ketika sebuah akun yang diketahui buruk mencoba bergabung atau mengunggah, Telm dapat memblokirnya seketika — tidak ada konten untuk dianalisis, tidak ada inferensi untuk dijalankan, karena identitas itu sendiri adalah sinyalnya. Ini adalah pemeriksaan yang semurah mungkin dan ia menyingkirkan sebagian berarti dari pelaku jahat sebelum pipeline deteksi harus memikirkannya sama sekali.
Mode Pemantauan: bertindak hanya setelah Anda memercayainya
Sebuah bot moderasi yang membuat keputusan keliru lebih buruk daripada tidak ada bot sama sekali. Hapus pesan seorang anggota sungguhan di hari pertama dan Anda telah mengajari komunitas untuk tidak memercayai alat itu. Maka setiap grup baru memulai Telm dalam Mode Pemantauan.
Dalam mode ini, Telm mengamati dan melaporkan tetapi tidak menyentuh apa pun. Untuk setiap pesan, ia mencatat tindakan yang *akan* diambilnya — hapus, bisukan, blokir — dan menunjukkannya kepada Anda, tanpa benar-benar melakukan satu pun dari itu. Anda dapat melihat persis bagaimana pipeline berperilaku terhadap lalu lintas nyata komunitas Anda, dengan anggota nyata Anda, sebelum ia memiliki izin untuk bertindak.
Ini melakukan dua hal. Ia membangun kepercayaan yang beralasan: Anda mengalihkan Telm ke aktif hanya setelah Anda melihat keputusannya sepadan dengan penilaian Anda. Dan ia menjadi jaring pengaman untuk penyetelan — jika sebuah aturan tertentu terlalu agresif bagi budaya grup Anda, Anda mengetahuinya dalam sebuah laporan, bukan dalam pesan marah dari seorang anggota yang terblokir karena berkata "coba lihat proyek saya."
Mode Pemantauan, dalam arti tertentu, adalah keseluruhan filosofi dalam satu fitur. Deteksi boleh agresif karena aktivasinya konservatif. Anda melihat sebelum ia bertindak, dan pada saat ia bertindak, Anda sudah tahu ia benar.