Mendeteksi AI Agent: Bagaimana Browser Claude, ChatGPT, dan Perplexity Berbeda dari Manusia
AI agent tampil sebagai browser tetapi berperilaku tak seperti manusia — sesi singkat terarah tujuan, klik presisi piksel, tanpa salah ketik. 11 sinyal yang memisahkan trafik Computer Use, Operator, dan Perplexity dari pengunjung nyata.
Pada 2024, AI agent bergerak dari demo eksperimental ke dalam trafik produksi. Computer Use API milik Claude dapat menggerakkan sebuah browser. Perkakas penjelajahan ChatGPT menavigasi situs web untuk menjawab kueri. Answer engine Perplexity merayapi secara real time. Dan kategori asisten bertenaga AI yang terus bertumbuh — Browserbase, Computer Use dari Anthropic, OpenAI Operator — mengerjakan tugas web secara end-to-end atas nama pengguna.
Bagi sebuah situs web, hal ini menciptakan kategori pengunjung baru yang tidak cocok dengan kategori mana pun dalam bot detection tradisional. AI agent bukan scraper yang mengekstrak data dalam skala besar. Mereka bukan manusia yang mengeklik menembus UI. Mereka adalah sesuatu di antara keduanya — satu pengunjung per sesi, satu tujuan per kunjungan, tetapi dieksekusi pada kecepatan mesin dengan presisi mekanis.
Mendeteksi mereka berarti berbeda dibandingkan mendeteksi bot. Kadang Anda ingin melayani mereka (agent yang membantu berbelanja untuk seorang pelanggan). Kadang Anda ingin memblokir mereka (scraping tanpa izin lewat pembungkus AI). Bagaimanapun juga, pertama-tama Anda harus tahu bahwa mereka ada di sana.
Bagaimana AI agent berbeda secara arsitektur
Tiga arsitektur utama menghasilkan trafik AI agent di web:
Agent yang menggerakkan browser menjalankan browser headless atau headful yang dikendalikan oleh LLM. Computer Use dari Anthropic, OpenAI Operator, Browserbase, dan Skyvern semuanya masuk di sini. Browsernya adalah Chrome atau Chromium sungguhan. Agent menginstruksikannya melalui manipulasi DOM atau lewat analisis screenshot dan klik koordinat.
Agent hanya-API mengambil halaman via pustaka HTTP (Node.js, Python, Go) dan meneruskan HTML ke LLM untuk diproses. Sebagian besar Perplexity dan agent berbasis pencarian bekerja dengan cara ini. Tidak ada browser — hanya lapisan pengambil yang menyuapkan teks ke sebuah model.
Agent hybrid menggunakan browser untuk situs yang berat JavaScript dan pengambilan API untuk konten statis. Banyak agent produksi masuk dalam kategori ini, memilih secara dinamis berdasarkan targetnya.
Setiap arsitektur meninggalkan fingerprint yang berbeda.
Sinyal 1. Masa hidup sesi browser
Pengguna nyata memiliki sesi yang panjang dan tidak fokus. Mereka membuka tab, terganggu, lalu kembali. Durasi sesi manusia rata-rata pada tugas pengambilan keputusan adalah 8–20 menit.
AI agent memiliki sesi yang singkat dan terfokus. Sebuah tugas Computer Use umum — memesan penerbangan, memesan bahan makanan, mengekstrak data produk — membutuhkan 30 detik hingga 3 menit secara end-to-end. Sesi dimulai dengan pemuatan halaman, mengeksekusi 5–30 aksi secara berurutan, lalu berakhir.
Durasi sesi di bawah 5 menit dengan lebih dari 10 aksi diskret dan tanpa peralihan tab browser adalah perilaku yang atipikal untuk manusia dan tipikal untuk agent.
Sinyal 2. Presisi klik koordinat
Agent penggerak browser dari Anthropic dan OpenAI menggunakan analisis screenshot untuk mengidentifikasi elemen UI, lalu mengeklik koordinat. Kalkulasi koordinatnya presisi hingga ke piksel.
Pengguna nyata mengeklik di dalam suatu area. Tombol berukuran 200x40 piksel menerima klik yang tersebar di seluruh area, cenderung ke arah tengah tetapi dengan variasi manusiawi. AI agent mengeklik di dalam pita yang sempit — sering kali dalam radius 2–3 piksel dari pusat geometris elemen. Seratus klik dengan deviasi rata-rata di bawah 3 piksel bukanlah distribusi manusia.
Deteksi memerlukan pengumpulan koordinat klik dan menganalisisnya relatif terhadap batas elemen. Ini bekerja dengan baik pada data sepanjang sesi.
Sinyal 3. Tidak adanya scrolling eksploratif
Manusia menggulir untuk melihat apa yang ada di sebuah halaman. Mereka menggulir ke bawah, lalu kembali ke atas, lalu setengah jalan. Mereka berhenti pada konten yang menarik perhatian mereka. Jejak scroll mereka tidak beraturan.
AI agent menggulir hanya saat diperlukan. Jika tujuannya adalah mengeklik Tambahkan ke keranjang dan tombolnya ada di atas lipatan, agent mungkin tidak akan pernah menggulir sama sekali. Jika elemen target ada di bawah lipatan, agent menggulir sekali, langsung ke target, lalu mengeksekusi.
Sesi dengan kurang dari 2 perubahan arah scroll, atau dengan kecepatan scroll yang konstan di seluruh peristiwa scroll, mengindikasikan penjelajahan yang didorong tugas alih-alih eksplorasi.
Sinyal 4. Timing input teks
Pengguna nyata mengetik dengan laju 30–60 kata per menit, dengan jeda yang bervariasi, penghapusan sesekali, dan mikro-koreksi. Timing ketukan tombol mengikuti distribusi dengan variasi tinggi dan laju penghapusan bukan-nol.
AI agent mengisi formulir dengan menempelkan nilai atau menyimulasikan ketukan tombol pada irama tetap — sering kali 50–100 karakter per detik, secara seragam, tanpa penghapusan. Sebuah kolom yang terisi dalam 200ms dengan string 30 karakter dan nol backspace bukanlah input manusia.
Sinyal 5. Tidak adanya salah ketik
Terkait tetapi berbeda: manusia membuat salah ketik. Dalam 1000 karakter input teks, pengguna nyata menghasilkan 15–40 koreksi. AI agent menghasilkan nol. Pengiriman formulir dengan 3 kolom berjumlah total 100+ karakter dan nol koreksi tidak biasa bagi manusia.
Sinyal 6. Inkonsistensi user agent
Beberapa AI agent menggunakan user agent kustom yang mengidentifikasi diri mereka secara eksplisit: perplexity-user, ChatGPT-User, ClaudeBot. Ini adalah agent yang sopan yang mengikuti konvensi identifikasi-diri dan sering menghormati robots.txt.
Deteksi di sini sepele — baca user agent, cocokkan dengan daftar yang dikenal. Nilainya terletak pada mengetahui kapan harus melayani mereka secara berbeda (atau memblokir mereka jika Anda tidak menginginkan scraping).
Agent lain menjalankan framework penggerak browser dan mewarisi user agent apa pun yang digunakan browser — biasanya Chrome. Ini lebih sulit diidentifikasi dari user agent saja dan memerlukan sinyal perilaku.
Sinyal 7. Rendering WebGL di bawah headless
Agent penggerak browser yang menggunakan Chromium dalam mode headless mengekspos renderer SwiftShader yang kita bahas di artikel Puppeteer. Sesi apa pun yang renderer WebGL-nya mengandung SwiftShader dan pengunjungnya mengeksekusi 10+ aksi yang disengaja hampir pasti adalah AI agent penggerak browser.
Framework agent yang lebih baru (Browserbase, sebagian setup Skyvern) menjalankan Chrome headful untuk menghindari sinyal ini. Mereka menampilkan string GPU sungguhan. Artinya WebGL saja tidak cukup untuk mendeteksi agent modern — perlu sebagai filter awal, bukan solusi lengkap.
Sinyal 8. Kepatuhan sempurna pada struktur halaman
Pengguna nyata mengeklik tautan bahkan ketika ada pengalihan halaman yang sedang terjadi. Mereka menyela diri sendiri. Mereka mengeklik ganda ketika satu klik saja sudah cukup. Mereka mengeklik hal-hal yang bukan tautan.
AI agent mengikuti DOM. Ketika mereka ingin menavigasi, mereka mengeluarkan aksi terhadap elemen tertentu. Mereka tidak mengeklik elemen yang salah atau me-refresh di tengah pemuatan. Sesi mereka terurai dengan linearitas mekanis yang tidak dihasilkan oleh manusia yang terganggu.
Jejak sesi dengan kepatuhan sempurna — setiap klik pada elemen yang valid, setiap kolom formulir terisi dalam urutan DOM, setiap transisi halaman didahului oleh aksi yang disengaja — terbaca sebagai digerakkan oleh agent.
Sinyal 9. Time-to-interactive adalah nol
Pengguna nyata butuh waktu untuk memproses sebuah halaman. Mereka membaca. Mereka memindai. Mereka memahami sebelum bertindak.
AI agent mengurai DOM secara instan. Waktu antara pemuatan halaman selesai dan aksi pengguna pertama, untuk pengguna nyata, biasanya 1,5–4 detik bahkan pada halaman sederhana. Untuk AI agent, waktu itu bisa di bawah 200ms — waktu yang dibutuhkan LLM untuk mengidentifikasi elemen target dalam DOM.
Waktu aksi-pertama yang sangat cepat pada halaman yang membutuhkan pemahaman konten adalah sinyal agent yang kuat.
Sinyal 10. Pola fetch HTTP untuk agent hanya-API
Perplexity, sebagian alur tool-use Claude, dan sebagian besar agent berbasis pencarian tidak menjalankan browser. Mereka mengambil halaman langsung via pustaka HTTP.
Agent-agent ini meninggalkan sinyal TLS dan HTTP yang kita bahas sebelumnya — fingerprint undici Node.js, fingerprint requests Python, fingerprint net/http Go. Mereka biasanya tidak mengeksekusi JavaScript, jadi mereka sama sekali tidak memicu deteksi sisi-klien.
Deteksi untuk agent hanya-API terjadi di lapisan jaringan: hash TLS JA4, urutan header HTTP, perilaku spesifik-browser yang hilang (tidak ada fetch favicon, tidak ada beacon analytics, tidak ada permintaan font). Jika Anda ingin mengidentifikasi agent-agent ini, Anda harus memperhatikan apa yang tidak terjadi sama seperti apa yang terjadi.
Sinyal 11. Tujuan sesi yang berbentuk tugas
Sinyal terkuat bukanlah teknis — melainkan perilaku. Sesi AI agent terarah pada tujuan dengan cara yang jarang terjadi pada sesi manusia.
Pengguna nyata yang mencari sebuah produk mungkin melihat 8 item, membandingkan spesifikasi di 3 tab, membaca ulasan, meninggalkannya dan kembali satu jam kemudian, lalu membeli. AI agent menuju ke produk, mengekstrak spesifikasi, menambahkan ke keranjang, checkout. Di bawah 90 detik. Tanpa penyimpangan.
Sistem deteksi yang melacak laju penyelesaian tujuan pada level sesi dapat mengidentifikasi trafik agent dari kepadatan penyelesaian tugas yang berhasil dalam sesi-sesi singkat. Ini adalah sinyal yang lebih lambat tetapi sangat andal ketika dikombinasikan dengan sinyal per-aksi.
Melayani agent secara berbeda
Setelah teridentifikasi, trafik AI agent dapat ditangani dengan beberapa cara:
-
Blokir — jika situs tidak menginginkan akses otomatis, tolak di edge. Murah dan sederhana.
-
Sajikan konten alternatif — respons dengan versi yang dioptimalkan untuk API (JSON, data terstruktur) yang lebih murah untuk dihasilkan dibanding halaman HTML penuh.
-
Batasi laju — izinkan agent tetapi batasi laju permintaan mereka untuk menjaga performa situs.
-
Tagih — beberapa situs mulai menagih perusahaan AI untuk akses programatis ke data mereka. Deteksi adalah prasyarat untuk penagihan.
-
Layani secara normal — jika agent bertindak atas nama pelanggan nyata, melayani mereka adalah bisnis.
Situs yang berbeda akan membuat pilihan yang berbeda. Yang penting secara teknis adalah memiliki deteksi yang terpasang sehingga pilihan itu tersedia.
Target yang bergerak
Framework AI agent membaik setiap bulan. Anthropic merilis pembaruan Computer Use yang menambahkan variasi scroll. Browserbase menambahkan mouse jitter. OpenAI Operator memperkenalkan simulasi salah ketik. Setiap generasi framework menutup sebagian permukaan deteksi yang dijelaskan di atas.
Teknik yang berfungsi pada 2026 akan perlu diperbarui pada 2027. Tetapi realitas mendasarnya tidak akan berubah: AI agent mengeksekusi tugas. Manusia mengalami situs web. Asimetri itu menghasilkan sinyal, apa pun teknik spesifik yang digunakan agent untuk mencoba berbaur.
Stack deteksi yang memperlakukan AI agent sebagai kategori yang persisten dan terus berkembang — alih-alih masalah yang tuntas sekali selesai — akan mempertahankan visibilitas. Yang merilis satu detektor lalu berlalu akan mendapati cakupan mereka menurun secara diam-diam.