- Agen LLM adalah struktur teknologi yang lebih mudah dipahami cara kerjanya jika langsung diimplementasikan, bukan sekadar dipahami sebagai konsep
- Hanya dengan beberapa puluh baris kode Python, Anda bisa membuat agen percakapan menggunakan OpenAI Responses API, dan dengan menambahkan fitur pemanggilan alat (tool call), agen dapat bertindak secara otonom
- Inti dari agen adalah loop pemanggilan berulang ke LLM yang stateless, dan percakapan multi-putaran diwujudkan dengan mengelola konteks percakapan secara langsung
- Context Engineering adalah persoalan nyata setingkat tugas pemrograman, yang membutuhkan perancangan untuk mengoptimalkan input, output, dan deskripsi alat dalam batas token
- Saat ini, desain agen adalah ruang masalah rekayasa perangkat lunak yang terbuka, sehingga pengembang individu pun bisa mencoba pendekatan baru lewat eksperimen
Kesederhanaan dalam Menulis Agen
- Agen LLM dapat diimplementasikan hanya dengan OpenAI Responses API tanpa konfigurasi yang rumit
- Dalam kode contoh, daftar
contextdigunakan untuk menyimpan percakapan antara pengguna dan model, lalu dipanggil berulang untuk menghasilkan respons percakapan seperti ChatGPT
- Dalam kode contoh, daftar
- Dengan membuat dua konteks yang memiliki “kepribadian baik” dan “kepribadian buruk”, Anda bisa mensimulasikan percakapan multi-kepribadian
- LLM tidak memiliki state, dan kesinambungan percakapan dipertahankan melalui array string (
context) yang dikelola pengguna
- LLM tidak memiliki state, dan kesinambungan percakapan dipertahankan melalui array string (
- Bahkan dengan struktur sesederhana ini, percakapan multi-putaran tetap bisa diwujudkan, sambil memberi pengalaman langsung tentang cara kerja LLM
Integrasi Alat dan Operasi Otonom
- Tambahkan fungsi ping sebagai alat pada agen untuk memeriksa status koneksi jaringan
- OpenAI API meminta definisi alat dalam format JSON, dan ketika LLM meminta pemanggilan alat sesuai kebutuhan, kode Python akan menjalankannya lalu mengirimkan kembali hasilnya
- Bahkan tanpa instruksi eksplisit, LLM secara otomatis melakukan ping ke beberapa host (
google.com,www.google.com,8.8.8.8)- Ini menunjukkan bahwa hanya dengan “izin menggunakan alat”, LLM sudah dapat melakukan penilaian otonom
- Seluruh loop pada dasarnya hanyalah struktur “permintaan pemanggilan alat → eksekusi → pengembalian hasil”, sehingga operasi agen otonom dapat diwujudkan tanpa logika kontrol yang rumit
Aplikasi Nyata dan Kritik terhadap MCP
- Meski kode contohnya sederhana, ia dapat diperluas secara praktis dengan menggabungkan alat tambahan (seperti traceroute) atau penyimpanan konteks berbasis SQLite
- MCP (Multi-Context Protocol) hanyalah antarmuka plugin untuk Claude Code atau Cursor, bukan teknologi yang wajib
- Jika langsung menangani API, fungsi yang sama dapat dibuat tanpa MCP
- MCP hanya berguna di lingkungan yang tidak memberi kendali atas kode, dan bahkan bisa membatasi fleksibilitas arsitektur agen
- Keamanan LLM memang kompleks, tetapi struktur yang aman tetap bisa dirancang lewat konteks yang dipisahkan dan pembatasan alat
Pentingnya Context Engineering
- “Prompt engineering” adalah konsep yang dibesar-besarkan, tetapi context engineering adalah masalah pemrograman yang nyata
- Jumlah token dalam context window terbatas, dan input, output, serta deskripsi alat semuanya memakan ruang
- Jika batas ini terlampaui, kualitas respons model menjadi tidak stabil
- Sebagai solusi, Anda dapat membuat sub-agent dengan konteks dan alat yang berbeda-beda, lalu merancang agar mereka saling merangkum dan bertukar informasi
- Struktur seperti ini bisa dikembangkan menjadi berbagai eksperimen seperti jaringan agen berbentuk pohon atau kompresi berbasis ringkasan real-time
- Bahkan ide yang kompleks pun memiliki kesederhanaan yang memungkinkan implementasi dalam 30 menit
Masalah Rekayasa yang Terbuka dan Nilai Eksperimen
- Saat ini banyak startup sedang mengembangkan agen untuk deteksi kerentanan, dan pengembang individu juga bisa melakukan eksperimen yang sama
- Desain agen mencakup tugas rekayasa yang belum terselesaikan seperti berikut
- Keseimbangan antara nondeterminisme dan pemrograman terstruktur
- Verifikasi terhadap dunia nyata (ground truth) dan pencegahan penghentian loop terlalu dini
- Format pertukaran data antar agen multi-tahap (JSON, SQL, Markdown, dan lain-lain)
- Alokasi token dan pengendalian biaya
- Masalah-masalah ini bukan hanya untuk riset berskala besar, melainkan bidang yang bisa dieksplorasi lewat eksperimen individu, dan setiap iterasi bisa dicoba dalam hitungan puluhan menit
- Pada akhirnya, pengalaman membuat agen secara langsung adalah titik awal untuk memahami teknologi LLM
2 komentar
Komentar Hacker News
Banyak sekali hal yang ingin dikerjakan. Saya ingin membuat CPU sendiri dari gerbang NAND di breadboard, dan juga ingin membuat CDN dengan Rust, tapi waktunya tidak cukup
Sebagai gantinya saya mencoba membuat LLM dengan mengikuti tutorial Karpathy, dan rasanya cukup bagus untuk melakukan eksperimen kecil seperti ini sedikit demi sedikit
Setiap kali merasa “sekarang sudah selesai”, rasanya garis finis makin menjauh. Pada akhirnya orang seperti kita mungkin memang tipe yang tidak pernah benar-benar puas
Contohnya memang memakai GPT-5, tetapi antarmuka query-nya sudah berada di level standar industri
Misalnya kalau menghubungkan OpenRouter.ai, kita bisa dengan mudah mengganti model dan penyedia saat runtime
Ada juga model gratis (misalnya DeepSeek), tetapi lambat dan terbatas. Meski begitu, tetap sangat bagus untuk eksperimen
Beberapa bulan lalu saya pernah membuat sendiri sebuah agen dengan Ruby. Sangat menyenangkan
Logika intinya hanya empat baris, dan secara konsep sangat sederhana sampai mengejutkan
Dua tahun lalu saya membuat agen dalam 25 baris PHP, dan waktu itu bahkan belum ada tool calling, tetapi tetap bekerja cukup baik
LLM terasa bagi saya seperti alat manipulasi teks UNIX seperti
sedatauawk— strukturnya adalah diberi input dan perintah, lalu mengeluarkan outputJika panggilan LLM seperti ini digabungkan dan diberi loop atau percabangan, hasilnya bisa menjadi sistem yang cukup kuat
Kode terkait: hubcap, llm
Saya sangat terinspirasi setelah membaca tulisan Simon Willison
Bagian tentang membuat sendiri alternatif Claude Code terasa sangat relevan. Membuat agen coding yang bisa memperbaiki dirinya sendiri adalah pengalaman yang nyaris seperti sihir
Modelnya bisa diganti dengan bebas, dan jika memakai model cepat seperti Cerebras, perbedaannya sangat terasa bahkan dalam tool calling interaktif
Kalau ditambah memori, pengenalan suara, dan semacamnya, efisiensinya jadi jauh lebih tinggi. Ini bisa dibuat dalam hitungan menit dan benar-benar menyenangkan
Model Google kualitasnya rendah, dan model Mistral memang cepat tetapi kadang malah merespons teks
Akibatnya kadang yang tertulis bukan ucapan saya, melainkan arus kesadaran dari LLM itu sendiri
Awalnya saya membuatnya untuk memahami struktur internalnya, tetapi ternyata lebih sederhana dari dugaan, jadi sekarang saya menambahkan sendiri fitur yang saya inginkan
Fitur bisa ditambahkan lebih cepat daripada produk yang dibuat tim. Agen punya struktur yang sangat sederhana
Saya penasaran apakah ini berbasis model lokal
Tulisan ini membuat saya ingin membangun kembali filosofi Unix — alat yang melakukan satu hal dengan baik
Ini bukan cuma membuat agen menjadi sederhana, tetapi juga meningkatkan keamanan
Memang tidak sesempurna sistem telemetri buatan manusia, tetapi 90% tingkat kegunaan bisa dicapai jauh lebih mudah
Ukuran ideal LLM tampaknya berada di titik tengah yang sedikit lebih besar daripada alat Unix tradisional
Saya jadi bertanya, “apakah memang harus membuat agen?”
Dalam situasi semua penyedia AI sedang merugi, saya ragu apakah model pendapatan yang berkelanjutan benar-benar mungkin
Logikanya mirip seperti mengangkat kerugian Astral sebagai alasan untuk tidak memakai Python
Mereka butuh dana karena biaya pelatihan model berikutnya besar, tetapi tahap inferensi itu menguntungkan
Bagian tentang context engineering sangat mengena bagi saya
Saya sedang membuat asisten pribadi, dan dibanding agen umum, ia punya lebih banyak memori, pelacakan tugas, dan kemampuan pemecahan masalah
Saya mendesain beberapa agen agar saling berbicara untuk menyelesaikan masalah, dan agen pertama berperan sebagai pengawas manajemen tugas
Semakin dalam proses ini berjalan, semakin berubah menjadi masalah rekayasa
Detailnya saya tulis di posting blog saya
Semua orang suka membuat agen, tetapi benci melakukan debugging
Awalnya semuanya berjalan seperti sihir, lalu pelan-pelan kegagalan probabilistik menumpuk dan menjadi sulit direproduksi
Setiap langkah butuh 0,5 detik, jadi untuk memeriksa di mana letaknya salah, kita harus menunggu 10–20 menit setiap kali
Saya juga memutar ulang skenario lama untuk memastikan tidak ada yang rusak
Saya membuat MCP berdasarkan kode yang disediakan: gurddy-mcp.fly.dev
Kode sumbernya bisa dilihat di repositori GitHub