TL;DR
Agen AI untuk data internal adalah asisten yang nerima pertanyaan bahasa sehari-hari, nulis query ke database kamu, lalu balikin jawaban beserta sumbernya. Tiga bahan wajibnya: definisi metrik yang tertulis, akses baca yang dibatasi, dan catatan tiap pertanyaan beserta query yang dijalankan. Ukur akurasinya pakai daftar pertanyaan uji sebelum dibuka ke tim.
Agen AI untuk data internal adalah asisten yang nerima pertanyaan dalam bahasa sehari-hari, nulis query ke database kantor, lalu balikin jawabannya lengkap sama sumber angkanya.
Yang bikin agen kayak gini berhasil atau gagal bukan pilihan modelnya. Yang nentuin adalah konteks yang kamu kasih dan batasan akses yang kamu pasang.
Aku bakal jalanin komponennya, tujuh langkah bikin versi pertama, guardrail yang wajib ada, dan cara ngukur akurasinya sebelum dibuka ke seluruh tim.
Agen ini punya tiga bagian: model bahasa yang ngerti pertanyaan, kumpulan alat yang bisa dia panggil, dan konteks tentang data kamu. Alurnya sederhana. Pertanyaan masuk, agen milih alat, alat jalanin query, hasilnya dirangkum jadi jawaban.
Bedanya sama chatbot biasa: agen ini punya akses baca ke database sungguhan. Jawabannya berasal dari angka hari ini, bukan dari pengetahuan model yang berhenti di tanggal tertentu.
Bedanya sama dashboard: kamu nggak perlu tau di mana angkanya ditaruh. Cukup nanya "omzet Bandung minggu lalu berapa" dan agennya yang nyari.
| Komponen | Isinya | Kenapa perlu |
|---|---|---|
| Katalog tabel | Nama tabel, kolom, tipe data, contoh isi | Agen nggak bisa nebak isi kolom dari namanya doang |
| Definisi metrik | Rumus resmi dan filter wajib tiap metrik | Nutup celah paling sering bikin angka salah |
| Contoh query | 10 sampai 15 pasangan pertanyaan dan query benar | Ngajarin pola query khas bisnis kamu |
| Alat eksekusi | Fungsi yang jalanin SQL dan balikin hasil | Jembatan antara agen dan database |
| Guardrail | Akses baca saja, batas baris, daftar tabel yang boleh | Nyegah kerusakan dan kebocoran |
| Catatan | Log pertanyaan, query, hasil, dan umpan balik | Bahan perbaikan dan penelusuran kalau ada angka aneh |
Definisi metrik itu komponen yang paling sering dilewat, dan paling besar dampaknya. Cara nyusunnya aku bahas terpisah di tulisan soal semantic layer.
CREATE ROLE agen_baca LOGIN PASSWORD 'ganti_ini';
GRANT CONNECT ON DATABASE analitik TO agen_baca;
GRANT USAGE ON SCHEMA laporan TO agen_baca;
GRANT SELECT ON ALL TABLES IN SCHEMA laporan TO agen_baca;
ALTER DEFAULT PRIVILEGES IN SCHEMA laporan
GRANT SELECT ON TABLES TO agen_baca;
Perintah GRANT di atas pakai sintaks PostgreSQL, rinciannya ada di dokumentasi resmi PostgreSQL.
Kamu asisten data untuk tim penjualan toko_berkah.
TABEL YANG BOLEH DIPAKAI
- laporan.v_transaksi (kolom: tanggal, kota, produk,
qty, harga_satuan, diskon, status, channel)
- laporan.v_pelanggan (kolom: id_pelanggan, kota,
tanggal_pertama_beli, segmen)
DEFINISI METRIK RESMI
- omzet_bersih = SUM(qty * harga_satuan - diskon)
filter wajib: status = 'selesai'
- pelanggan_aktif = COUNT(DISTINCT id_pelanggan)
filter wajib: transaksi dalam 90 hari terakhir
ATURAN
1. Selalu pakai definisi metrik di atas, jangan bikin rumus sendiri.
2. Tampilkan query yang kamu jalankan di bawah jawaban.
3. Kalau pertanyaannya ambigu, tanya balik sebelum menjalankan query.
4. Kalau metrik yang diminta tidak ada di daftar, bilang tidak tahu.
{
"name": "jalankan_query",
"description": "Jalankan SELECT read-only ke schema laporan",
"input_schema": {
"type": "object",
"properties": {
"sql": { "type": "string" },
"alasan": { "type": "string" }
},
"required": ["sql", "alasan"]
}
}
Kolom alasan itu bukan hiasan. Waktu ada jawaban aneh, isi kolom ini yang paling cepat nunjukin di mana logikanya melenceng.
Kalau kamu mau agen yang sama nyambung ke lebih dari satu sumber data, spesifikasi Model Context Protocol bisa jadi acuan penyambungannya. Dokumentasinya terbuka di modelcontextprotocol.io.
laporan. Tolak query yang nyebut tabel di luar itu sebelum dijalankan.Aku nyusun 40 pertanyaan uji dari riwayat permintaan data toko_berkah. Contohnya "omzet Bandung bulan lalu berapa", "produk apa yang paling laku di channel marketplace minggu ini", dan "berapa pelanggan yang belum beli lagi dalam 60 hari".
Tiga putaran pengujian, tiga hasil yang beda jauh.
| Putaran | Yang ditambahkan | Jawaban benar |
|---|---|---|
| 1 | Cuma katalog tabel | 22 dari 40 (55%) |
| 2 | Ditambah definisi metrik resmi | 33 dari 40 (82,5%) |
| 3 | Ditambah 12 contoh query | 37 dari 40 (92,5%) |
Lompatan terbesar terjadi di putaran kedua, dan itu nggak nyentuh kode sama sekali. Cuma nulis rumus resmi tujuh metrik dalam bentuk teks.
Tiga pertanyaan yang tetap salah di putaran ketiga semuanya soal periode. Agen bingung waktu ditanya "minggu ini" di hari Senin, dan bingung soal batas kuartal fiskal yang di toko ini mulai Juli.
Perbaikannya bukan di prompt, tapi di data. Aku bikin tabel kalender kecil berisi tanggal, nomor minggu, bulan, dan kuartal fiskal, lalu masukin ke daftar tabel yang boleh diakses. Setelah itu tiga pertanyaan tadi benar semua.
Soal waktu, permintaan data sederhana di tim ini sebelumnya nunggu balasan analis 1 sampai 2 hari kerja. Lewat agen, jawaban buat pertanyaan yang ada di daftar metrik keluar di bawah 20 detik.
Buat nyusun metrik mana yang layak masuk pantauan rutin, struktur di tulisan metric tree bisa langsung dipakai.
Satu catatan tambahan soal istilah. Pastikan definisi metric dan KPI di dokumen kamu konsisten, karena agen bakal nurut apa pun yang kamu tulis di situ.
Pilihan modelnya jauh kurang menentukan dibanding konteks yang kamu kasih. Model mana pun yang lumayan jago nulis SQL bakal bagus kalau dikasih definisi metrik dan contoh query yang benar. Mulai dari model yang udah kamu punya aksesnya, ukur akurasinya pakai daftar pertanyaan uji, baru pertimbangkan ganti kalau hasilnya mentok.
Jangan sampai bisa. Bikin view khusus yang udah nyembunyiin nomor telepon, alamat lengkap, dan email, lalu kasih akses agen cuma ke view itu. Kalau ada yang butuh data pribadi buat kerjaan, itu lewat jalur permintaan biasa dengan persetujuan, bukan lewat chat agen yang riwayatnya tersimpan di banyak tempat.
Kalau definisi metrik kamu udah tertulis, versi pertama yang jalan buat lima sampai delapan metrik bisa selesai dalam dua sampai tiga hari kerja. Bagian yang makan waktu bukan kodenya, tapi nyepakatin rumus resmi tiap metrik sama pemiliknya. Itu bagian yang jangan dipercepat.
Catat pertanyaannya, query yang dia jalankan, dan jawaban yang benar. Tambahkan pasangan itu sebagai contoh di konteks agen. Dari yang aku lihat, sebagian besar kesalahan berulang hilang setelah sepuluh sampai lima belas contoh perbaikan masuk. Kalau kesalahannya soal definisi, perbaiki di semantic layer, bukan di prompt.
Untuk satu database dan satu aplikasi, panggilan API biasa dengan definisi tool sendiri udah cukup. MCP mulai berguna waktu kamu mau agen yang sama nyambung ke beberapa sumber sekaligus, misalnya database, penyimpanan dokumen, dan sistem tiket, tanpa nulis penyambung baru tiap kali. Spesifikasinya terbuka dan bisa dibaca gratis.
Tiga hal yang paling menentukan hasilnya. Definisi metrik tertulis ngangkat akurasi dari 55% ke 82,5% di pengujian tadi, dan itu nggak butuh satu baris kode pun. Peran database yang cuma bisa baca itu syarat, bukan pilihan. Dan daftar pertanyaan uji yang jawabannya udah kamu tau adalah satu-satunya cara jujur ngukur agennya siap atau belum.
Coba mulai dari yang paling kecil minggu ini. Tulis rumus resmi lima metrik yang paling sering ditanya di kantor kamu, dan susun 20 pertanyaan uji beserta jawaban benarnya. Dua bahan itu yang nentuin sisanya.
Mau nguatin dulu kemampuan nulis query yang bakal kamu pakai sebagai contoh di konteks agen? Kulik latihan SQL di NgulikSQL, langsung praktek di browser.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Tools AI bisa bikin chart dan ringkas data dalam hitungan detik. Jadi Python masih perlu dipelajari analis di 2026? Jawabannya iya, tapi alasannya udah beda dari 3 tahun lalu.
Aku tes forecasting AI di data penjualan 4 cabang toko grosir. Hasilnya lebih akurat dari tebakan manual, tapi meleset parah di satu titik yang mahal.
Cara ngolah ribuan review pelanggan jadi insight pakai AI, dari nyusun prompt yang konsisten, ngasih label, sampai ngubah hasilnya jadi rekomendasi yang bisa dieksekusi.