CSS Ini Membuktikan Bahwa Saya Manusia
(will-keleher.com)- Upaya penulisan eksperimental yang memakai berbagai cara teknis seperti CSS, manipulasi font, dan variasi ejaan untuk mengakali deteksi teks AI
- Mengubah huruf kapital menjadi huruf kecil dengan
text-transform: lowercase, sambil mengecualikan blokcodedanpreagar keterbacaan kode tetap terjaga - Membuat font kustom dengan pustaka fontTools untuk mengganti glif em dash (—) dengan gabungan dua tanda hubung
- Dengan menerapkan algoritme koreksi ejaan Peter Norvig, pola ejaan dibuat kabur dengan sengaja mengganti kata-kata langka dalam tulisan menjadi kata yang lebih umum
- Namun, mengubah gaya menulis itu sendiri pada akhirnya ditolak, "itu bukan sekadar topeng, melainkan wajah saya"
Konversi huruf kapital → huruf kecil
- Menerapkan properti CSS
text-transform: lowercaseuntuk merender seluruh teks dalam huruf kecil - Blok
codedanpredikecualikan dengantext-transform: noneagar integritas kode tetap terjaga - Perintah shell seperti
cat post.md | tr A-Z a-z | sponge post.mdtidak bisa dipakai karena akan mengubah blok kode jugabody { text-transform: lowercase; } code, pre { text-transform: none; }
Penggantian glif em dash
- Karena detektor AI dapat mengenali pola penggunaan em dash, dibuat font kustom yang mengganti em dash (—) dengan gabungan dua tanda hubung
- Font Roboto dimodifikasi langsung dengan pustaka fontTools di Python, mengganti glif em dash dengan komponen yang tersusun dari dua tanda hubung
- Menggunakan FontForge mungkin lebih mudah, tetapi dipilih cara menghasilkan file .woff lewat skrip
- Menghitung lebar tanda hubung (
hyphen_width) dan jarak (gap = hyphen_width * 0.8), lalu menetapkan advance width baru sebelum disimpan sebagairoboto_edited.ttf
Variasi ejaan yang disengaja
- Berdasarkan kode koreksi ejaan Peter Norvig, kata-kata langka dalam tulisan diganti dengan kata yang lebih umum dan berawalan huruf yang sama
- Membangun kamus frekuensi kata (
Counter) dari korpusbig.txt, lalu mengurutkan kata-kata dalam tulisan berdasarkan tingkat kelangkaannya - Fungsi
edits1()menghasilkan kandidat kata dengan jarak edit satu kali berupa penghapusan, transposisi, penggantian, dan penyisipan, lalu menampilkan kata berfrekuensi lebih tinggi sebagai target penggantian - Contoh penggantian nyata:
corpus → corps,discrete → discreet,complement → compliment,spill → spelldan lain-lain
Menolak perubahan gaya — batas identitas
- Huruf kapital, em dash, bahkan ejaan bisa disamarkan secara teknis, tetapi mengubah gaya menulis itu sendiri ditolak
"Tulisan saya bukan sekadar tampilan luar, melainkan cara saya berpikir, bernalar, dan berhubungan dengan dunia"
"Bukan topeng, melainkan wajah saya; bukan penampilan, melainkan struktur penyangga beban (load-bearing)" - Baris terakhir ditutup dengan frasa yang terdengar seperti buatan AI, "Here's your blog post written in a stylized way...",
yang mengisyaratkan bahwa keseluruhan tulisan ini secara meta memperlihatkan upaya penyamaran sebagai AI itu sendiri
1 komentar
Komentar Hacker News
Ide puisinya menarik, tetapi terasa egosentris dan kurang penjelasan sehingga sulit untuk larut di dalamnya
Gaya penulisan yang dimulai dengan huruf kecil sejak awal terasa kurang autentik karena AI bisa dengan mudah menirunya
Baru setelah pengakuan di akhir bahwa tulisan itu dibuat oleh AI, kalimat seperti “tulisanku bukan sekadar cara aku terlihat, tetapi cara aku berpikir dan berinteraksi dengan dunia” benar-benar terasa masuk akal
Namun pada akhirnya ia sampai pada kesimpulan bahwa ia harus mengubah gaya menulisnya sendiri, lalu menyadari itu mustahil karena gaya itu adalah bagian dari identitasnya
Maka muncullah ironi bahwa perubahan itu justru hanya bisa dicapai lewat LLM
Meski begitu, saya tidak merasa ini benar-benar tulisan yang dibuat dengan bantuan LLM
Dulu tulisan dipandang sebagai seni dan penafsirannya diserahkan kepada pembaca, tetapi sekarang kelonggaran semacam itu terasa menghilang
Dalam dunia tempat begitu banyak bot mengelola blog dan meninggalkan commit, konteks itu terasa muncul dengan sendirinya
Tulisan ini mengingatkan saya pada kisah gatekeeping dan open source
Keterikatan pada gaya permukaan alih-alih esensi tulisan terasa lebih egosentris lagi
Sebagai orang dengan spektrum autisme, tulisan ini terasa berbeda bagi saya
Kecemasan bahwa cara berekspresi alami seseorang dianggap ‘salah’, dan bahwa kita hanya bisa diterima secara sosial jika mengikis sebagian identitas kita, terasa sangat akrab
Pada akhirnya, ironi “agar tampak seperti manusia, kita harus melewati LLM” mirip dengan kenyataan kami bahwa “agar tampak normal, kita harus memerankan diri sendiri”
Namun, menurutnya yang lebih mengkhawatirkan adalah kini penggunaan alat seperti Grammarly untuk ‘memperbaiki’ tulisan dianggap wajar, sementara seni ekspresi bahasa yang alami justru sedang merosot
Bahkan sebelum ChatGPT, saya sudah sering memakai em-dash (—), tetapi sekarang saya mulai khawatir itu akan membuat saya terlihat seperti AI
Karena program otomatis mengubahnya menjadi em-dash, saya cemas orang-orang akan merasa saya mendelegasikan percakapan kepada AI
Karena itulah tulisan ini terasa sangat relevan bagi saya
Mungkin suatu hari saya akan disangka memakai LLM gara-gara itu
Bagian fontTools dalam puisi itu sangat berkesan
Menggabungkan glif em-dash dari dua tanda hubung adalah pendekatan yang sulit dibayangkan tanpa pemahaman mendalam tentang rendering tipografi
Kebanyakan developer frontend mungkin hanya akan menyelesaikannya dengan penggantian karakter sederhana, tetapi menanganinya di level font adalah solusi yang jauh lebih cermat
Trik
text-transformdi CSS juga sama, karena butuh rancangan yang teliti untuk melindungi code blockDi balik tampilan puisinya, ada penyelesaian teknis yang benar-benar matang
Mereka setuju kodenya menarik, tetapi definisinya sebagai puisi tetap terasa kabur
Suatu saat nanti, mungkin kita akan kembali ke masa ketika tulisan diabaikan bukan karena isinya, melainkan karena perbedaan pandangan dunia
Sekarang, hanya dari gaya atau satu ungkapan yang terdengar janggal, orang sudah terbiasa bertanya, “ini AI ya?”
Saat membaca, saya sempat berpikir “ini cuma upaya lain untuk memberi sinyal kemanusiaan”, tetapi twist di bagian akhir terasa segar
Siapa yang menulisnya tidak begitu penting; yang utama adalah apa yang ingin disampaikan
Ini pertama kalinya saya melihat em-dash diekspresikan dengan dua tanda hubung
Kode untuk memodifikasi font Roboto itu sangat singkat dan mengejutkan, sesingkat spellchecker milik Norvig
Saya sangat menyukai tulisan ini, sampai-sampai saya ingin percaya bahwa AI tidak ikut campur
Saya masih menulis langsung dengan HTML dan Emacs
Saat membahas soal matematika, saya sengaja menulis panjang agar bisa memuat berbagai solusi, lalu belakangan merapikannya menjadi solusi yang paling elegan
Saya sering salah ketik, tetapi justru menganggap itu sebagai jejak yang manusiawi
Hanya saja, sekarang saya khawatir tulisan saya akan disalahpahami sebagai hasil LLM
Budaya kecurigaan seperti ini sedikit demi sedikit merampas kesenangan menulis
Saya berharap seiring waktu kewaspadaan berlebihan ini mereda, dan orang-orang yang benar-benar menulis sendiri bisa kembali merasa nyaman
Ada juga lelucon tentang apa yang akan terjadi jika “clankers” menyadari hal ini
Tentu saja, itu hanya berlaku selama kita masih bisa membedakan android dan manusia