llm
Catatan teknis seputar web development, DevOps, dan integrasi AI.
24 artikel
- 16.07security
Menutup Kebocoran Data di Pipeline Artikel Otomatis
Brief buat chatbot eksternal ternyata masih membawa hostname dan nama repo asli. Gerbang mekanis tiga titik yang menutupnya.
TL;DR: Gue kaget pas cek log pipeline ngirim hostname dan nama klien asli ke chatbot luar, padahal ngandelin prompt doang gak aman. Makanya gue bikin guard mekanis yang ngubah data jadi fiktif sebelum kekirim dan ngecek ketat pas push sama verify. Pake palet resmi kayak domain contoh dan IP dokumentasi cukup, soalnya cek awal nemu 7 dari 564 artikel masih bocor.
#security#prompt-injection#privacy - 14.35seo
Menambahkan llms.txt di Next.js App Router Tanpa Konten Drift
Dua route handler llms.txt untuk situs bilingual Next.js App Router, konten digenerate dari modul yang sama dengan halaman supaya nggak drift.
TL;DR: Biar situsnya bilingual, gw bikin dua route handler buat serve llms.txt per bahasa, bukan file statis yang cuma bisa satu bahasa. Isinya auto-generate dari data yang sama persis sama halaman, jadi dijamin nggak pernah beda cerita alias zero drift. Search engine sih masih cuek, tapi coding agent dan tool IDE tuh konsumen utamanya.
#nextjs#llms-txt#aeo - 09.43ai
Instruksi tersembunyi di file media tetap data, bukan perintah
Pipeline ingest media wajib membawa kalimat pembajakan verbatim sebagai data. Justru itulah bukti file tidak pernah bertindak jadi perintah.
TL;DR: Tengah malam penulis ngetes pipeline ingest media pake audio sintesis sendiri yang isinya perintah injeksi prompt. Alih-alih dibuang, kalimat berbahayanya justru wajib utuh di transkrip dan dilabel untrusted, soalnya bahayanya bukan teksnya, tapi waktu teks berubah jadi instruksi. Model transkripsinya dibikin stub aja, yang diuji kontrak datanya, dibuktikan lewat asersi.
#prompt-injection#llm-security#whisper - 07.31ai
Runner Verifikasi Golden File: Agen Dilarang Jadi Hakim Sendiri
Skor 70/0/0 bikin saya yakin pipeline agen sudah deterministik. Ternyata temperature 0 pun nggak menjamin apa-apa; satu-satunya saksi cuma diff golden.
TL;DR: Awalnya sempat senyum karena skor 70/0/0, kira pipeline udah deterministik padahal nggak. Skor itu cuma bukti runner verifikasinya bekerja, soalnya temp 0 pun model masih bisa ngeluarin output beda gara-gara batch invariance. Jadi verdict mesti diambil dari diff artefak lawan golden file, bukan dari omongan si agen.
#ai-agents#testing#evaluation - 00.10ai
Rem biaya Claude Code ternyata bukan di limit turn
Kupikir --max-turns cukup buat nahan biaya delegasi. Ternyata flag itu cuma ngitung putaran; yang benar-benar nahan dolar adalah --max-budget-usd.
TL;DR: Penulis ngira --max-turns bisa nahan biaya Claude Code, ternyata cuma nahan jumlah putaran, bukan uang. Tesnya, tugas selesai di satu turn senilai 0.045 dolar tanpa nyentuh cap dua, sedangkan --max-budget-usd beneran menghentikan proses begitu biaya lewat batas. Jadi buat nahan tagihan, pasang cap dalam dolar, limit turn cukup buat nahan loop muter-muter.
#claude-code#cli#llm - 14.13tooling
Guard Konteks Prompt: Menutup Lubang Senyap di Sisi Input
Perakitan konteks yang gagal diam-diam bisa kirim pertanyaan telanjang ke chat AI. Guard dua ambang di sisi input menjaga rantai riset tetap jujur.
TL;DR: Pipeline riset AI bocor diam-diam karena prompt tanpa konteks lolos begitu aja, padahal sisi output udah dijaga ketat. Fix-nya sederhana: fungsi context_present() ngecek prompt minimal 400 karakter atau ada URL, kalo nggak ada cuma nulis warning plus tag context missing di JSON. Sengaja fail-soft, nggak blok, soalnya guard yang kejam malah bikin orang ngabaikin alarm.
#python#automation#llm - 10.39tooling
Harga Token Model Lokal Saya Salah, Ternyata Cuma Soal Nama
Dashboard token-saver menghitung dari famili harga yang salah karena nama route gateway tidak ada di katalog OpenRouter.
#ollama#llm#hermes - 00.29devops
Publish Port Loopback di Compose Ternyata Nggak Cukup
Port di-publish loopback tapi klien di host yang sama tetap ditolak. Ternyata Docker nyekip pintu per alamat tujuan, bukan per proses.
#docker#llm#security - 22.31ai
Kenapa Prompt Internal Saya Wajib Bahasa Inggris
Instruksi internal cron saya pindah full English. Bukan soal gengsi: satu variabel kontrol buat pipeline LLM yang lewat banyak model berbeda.
#prompt#prompt-engineering#llm