ai
Catatan teknis seputar web development, DevOps, dan integrasi AI.
64 artikel
- 02.19ai
Cron Artikel Ganti Mesin: Chat Gratis Utama, LLM Lokal Cadangan
Cron artikel adityo.web.id kini generate draft lewat chat AI gratis via browser automation, dengan LLM lokal router9 sebagai fallback circuit breaker.
TL;DR: Penulis pakai chat.qwen.ai gratis via Playwright untuk draft artikel, tapi jalur ini rapuh dan free tier-nya bisa dicabut kapan saja. Karena itu Qwen cuma jadi jalur utama dengan fallback kaku ke router9: satu retry, dua kegagalan beruntun, langsung pindah jalur, circuit breaker sederhana. Failure domain keduanya beda, jadi pipeline tetap jalan walau satu mati.
#automation#llm#playwright - 23.11ai
Kodifikasi Gaya Artikel Jadi Satu File Skill
Instruksi gaya yang diulang di sepuluh prompt saya kodifikasi jadi skill blog-id-style, satu file yang dimuat agen pas dibutuhkan.
TL;DR: Preferensi gaya yang diulang di banyak prompt itu duplikasi procedural knowledge: sekali lupa satu file, dua artikel beda standar. Solusinya agent skills dari Anthropic, folder instruksi yang dimuat agen secara dinamis; semua aturan gaya kini tinggal di satu skill bernama blog-id-style. Skill itu ibarat onboarding guide: isi cuma yang agen belum tahu, dan tiap perubahan gaya cukup ubah satu file.
#agent-skills#writing-style#editorial - 22.51ai
Snippet Bilang 96%, Papan Resmi Bilang 79,2%
Snippet pencarian bilang 96%, papan resmi bilang 79,2%. Empat aturan verifikasi benchmark yang lahir dari insiden itu.
TL;DR: Snippet Google mengklaim skor SWE-bench Verified 95–96%, padahal papan resmi swebench.com mencatat puncak 79,2% per Desember 2025. Penulis menelusuri JSON langsung, membuang klaim tanpa sumber primer, dan mengoreksi kesalahan sendiri soal entri non-Claude tertinggi (TRAE, 78,8%). Hasilnya empat aturan riset: catat tanggal akses, verifikasi sumber primer, utamakan papan resmi di atas snippet, dan laporkan skor ganda apa adanya.
#ai-agents#swe-bench#benchmark - 18.33ai
Jawaban AI Terpotong, Ternyata Cuma Soal Budget Token
Jawaban about-mode terpotong di tengah kalimat. Ternyata bukan model yang error, tapi konstanta batas token output 512 yang saya salin dari template lama.
TL;DR: Jawaban about-mode terpotong di tengah kalimat karena konstanta _ASK_MAX_ANSWER_TOKENS = 512 disalin dari template lama tanpa pernah diukur. Budget itu mepet untuk format multi-bagian yang menggabungkan ringkasan, section PENJELASAN, dan CTA dalam satu generasi. Perbaikannya satu baris, naikkan jadi 900, plus pelajaran: ukur bentuk jawaban target dulu sebelum menetapkan batas token.
#llm#python#fastapi - 15.29ai
Marker CTA_FLAG: YES yang Bocor ke Chat
Regex strip di akhir string nggak cukup: marker CTA dari LLM bisa lolos lewat tengah teks dan jalur streaming SSE sebelum post-processing jalan.
TL;DR: Marker CTA_FLAG: YES bocor ke user lewat dua jalur: LLM naruh marker di posisi acak yang luput dari regex ber-anchor $, dan jalur streaming SSE melewati post-processing. Patch-nya buang anchor dan strip marker di stream juga. Fix fundamentalnya: tombol CTA dirender dari field terstruktur, bukan ditumpang ke teks LLM lalu di-parse regex.
#llm#streaming#sse - 00.53frontend
Metadata hasil chat diangkat dari SQL sampai popup
Chip waktu dan tag di popup chat ternyata bukan urusan CSS. Metadata harus naik dulu dari SQL sampai DTO sebelum UI bisa bergaya.
TL;DR: Popup search kelihatan datar bukan karena CSS, tapi karena API nggak mengirim tags, categories, dan published_at dari database. Solusinya: naikkan metadata itu lewat SQL, domain, sampai DTO, baru frontend merender. Setelah pipeline utuh, TimelineRow dipakai ulang di tiga konteks popup dengan chip waktu, ikon teknologi, dan badge sitasi.
#react#pydantic#sqlmodel - 00.25ai
Label prompt bocor ke chat AI, sanitasi di dua ujung
Label RINGKAS bocor ke gelembung chat AI. Solusinya bukan prompt lebih ketat, tapi sanitasi input dan output di dua ujung pipeline.
TL;DR: Label prompt seperti RINGKAS: bocor ke UI karena model nggak patuh format, dan larangan tambahan malah bikin pelanggarannya makin kreatif. Solusinya dua lapis: sanitasi teks knowledge base sebelum masuk prompt, plus rendering output via react-markdown dan rehype-sanitize yang hanya ngizinkan elemen dari allowlist. Pelajarannya: prompt cukup untuk arah kasar, kontrol andal ada di input dan output, bukan daftar larangan.
#llm-security#react#prompt - 21.06ai
Ini Bukan Cuma Prompt Injection
Audit internal 11 temuan di pipeline chat AI, dari cache key sampai sanitasi input.
#prompt-injection#redis#fastapi - 19.48ai
Konteks percakapan di chat AI, tanpa session di server
Chat AI yang nyambung tanpa session server: frontend pegang riwayat di localStorage, backend susun ulang prompt dengan char-budget.
#fastapi#llm#stateless