Satu sumber aturan untuk semua staf AI (Akbar, Ary, Opi, Dika, Eko) dan Pak Adi: memori kita ada di mana, bentuknya apa, cara mengisi, dan cara mengambilnya. Hasil diskusi Pak Adi & Akbar 12/10/2026. Status: rancangan untuk DIUJI beberapa hari. Tabel database di bawah belum dibangun; yang dibangun nanti mengikuti halaman ini.
Memori yang acak-acakan merugikan dua hal:
Prinsipnya sama dengan relational database: data ditata per tabel, punya indeks, jadi mencari tidak perlu menyisir semuanya. Menulis memang sedikit lebih repot (harus ditaruh di tempat yang benar); mencari jadi murah dan cepat.
Prinsip kedua: jangan mengandalkan ingatan sesi chat. Yang diandalkan adalah memori yang tertulis di tempatnya.
Patokan tempat simpan: data yang bentuknya sama berulang-ulang & dicari per kolom → Postgres. Tulisan yang harus dibaca sebagai teks bersama kode / harus tetap terbaca walau database mati → berkas.
| # | Model | Isinya | Disimpan di | Dipakai oleh |
|---|---|---|---|---|
| 1 | Profil orang (prospek/konsumen/member) | Siapa orangnya, produk yang ia minati/beli + tahapnya, rangkuman obrolan | Postgres | CS (Ary, Opi), Akbar |
| 2 | Product knowledge (PK) | Pengetahuan untuk MENJUAL & MELAYANI: harga, isi/layanan, cara order, cara pakai, keberatan + jawaban, batas klaim, eskalasi | Postgres (angka & penjelasan) | CS, Akbar |
| 3 | Brainstorming + MAP | Untuk MEMBUAT produk. MAP = yang SUDAH dibangun, Brainstorming = yang BARU direncanakan. Begitu dibangun: masuk MAP, dihapus dari Brainstorming | Berkas MD di folder kode proyeknya | Eko, Dika, tim pembuat |
| 4 | CLAUDE.md | Karakter & aturan yang SELALU berlaku. Umum untuk semua (mis. aturan gambar, salam, jujur, tanpa janji seumur hidup). Plus satu per peran: aturan cara kerja khusus peran itu (pendek) | Berkas CLAUDE.md (otomatis termuat) | Semua |
| 5 | Akses & alat | Cara masuk server/PC, alat apa di mana, cara menyalakan ulang penjaga WA/tunnel, resep teknis panjang. TANPA isi password; hanya menunjuk tempatnya | Berkas MD kecil (sengaja bukan database: harus tetap terbaca walau database mati) | Semua |
| 6 | Papan tugas + pengingat | Pekerjaan yang SEDANG berjalan: siapa, apa, kapan, status, langkah berikut. Pengingat = tugas yang punya jam | Postgres | Semua; Akbar memantau |
| 7 | Arsip log harian | Catatan kejadian (siapa, kapan, apa). Hanya ditambah, tidak pernah dibaca utuh | Postgres | Semua (menulis), menelusuri bila perlu |
Untuk apa: supaya CS langsung tahu siapa yang sedang chat, tanpa membaca ulang semua obrolan lama. Kapan diisi: saat orang pertama kali chat (baris orang dibuat), tiap tahap berubah (orang_produk), dan tiap sesi ditutup (profil dirangkum ulang).
Contoh isi (contoh FIKTIF: Budi, kode org-0412):
| orang_produk | tahap | catatan_produk |
|---|---|---|
| org-0412 · cnc | member | Member CNC VIP sejak Agt 2026, aktif bertanya soal rules Meta. |
| org-0412 · tba | tertarik | Tanya trial Rp50rb 12/10; belum kirim bahan LP. |
Profil (versi berlaku): "Budi, jualan perlengkapan bayi di Bekasi. Member CNC sejak Agustus, paham dasar Meta Ads, suka penjelasan pakai angka. 12/10 tertarik TBA trial, keberatan: takut LP tidak sesuai brand. Janji: kirim foto produk 13/10. Gaya: santai, panggil 'Mas Budi'."
Profil = rangkuman UTUH yang ditulis ulang tiap sesi ditutup. Bukan tumpukan catatan per tanggal.
Untuk apa: semua yang perlu diketahui untuk MENJUAL & MELAYANI satu produk, baik produk sendiri (Labbaik, TBA, Magic) maupun produk klien (Otopia). Kapan diisi: saat produk mulai dijual, dan setiap ada keputusan baru soal produk dari Pak Adi/pemilik produk.
Contoh baris pk_harga: otopia · anti-karat · avanza · bali · Rp2.100.000 · berlaku sejak 07/10 · berlaku
Contoh baris pk_penjelasan:
| produk · topik | isi |
|---|---|
| otopia · definisi-anti-karat | Lapisan pelindung kolong & rangka supaya tidak berkarat; proses ±1 hari, mobil bisa dipakai besoknya… |
| labbaik · keberatan-sudah-ada-buku-manasik | Buku manasik tetap berguna; Labbaik melengkapi di HP: urutan langkah + doa tiap tahap, bisa dibuka saat tawaf… |
| labbaik · batas-klaim | Jangan klaim "pasti mabrur" / pengganti pembimbing; tanpa "seumur hidup". |
Harga berubah → baris lama jadi usang, baris baru ditambah (slug sama). Tidak ada lagi harga di tiga tempat.
aturan-diskon; kalau berupa angka/promo → pk_daftar jenis promo), menggantikan aturan diskon versi lama. SALAH: membuat berkas "ATURAN_DISKON_OBI.md", atau menulisnya di catatan lain, atau menempel di ekor dokumen.Untuk apa: supaya pembuat produk (Eko, Dika, atau AI lain di kemudian hari) bisa melanjutkan pekerjaan tanpa bertanya ulang. Dua berkas berpasangan di folder kode proyek: <PROYEK>_MAP.md dan <PROYEK>_BRAINSTORMING.md.
MAP = peta yang SUDAH dibangun, dibagi per modul (tampilan, database, pembayaran, dll.) dengan petunjuk "modul ini ada di file mana". Contoh potongan MAP Caang:
cfpages.go CreatePagesProject → deploy. Kuota per paket di tabel subscriptions./forgot-password → token → /reset-password; link email dibangun dari Host permintaan.BRAINSTORMING = yang BARU direncanakan. Contoh: "Catat kode error Cloudflare saat publish gagal (usul Eko 12/10, menunggu izin)". Begitu dibangun: tulis di MAP, HAPUS dari brainstorming (tanpa tanda "done").
MAP hanya mencerminkan kode yang benar-benar ada. Kalau kode dan MAP berbeda, kode yang benar dan MAP diperbarui.
Untuk apa: karakter & aturan yang harus SELALU dipegang, otomatis termuat tiap sesi. Dua tingkat:
Kalau CLAUDE.md mulai panjang, itu tanda ada isi yang seharusnya masuk PK, Akses & alat, atau papan tugas.
Untuk apa: "peta mesin": cara masuk, alat apa di mana, cara menyalakan ulang. Contoh isi:
/root/.ssh/… (path saja, bukan isinya)."tunggu_pesan.sh sebagai proses latar; jangan reload tab WA."Sengaja berkas, bukan database: kalau database/servernya bermasalah, cara masuk & memperbaikinya harus tetap bisa dibaca. Password tidak pernah ditulis.
Untuk apa: tahu siapa sedang mengerjakan apa, dan tidak ada janji yang terlewat. Contoh baris:
| tugas | siapa | dari | jatuh tempo | status |
|---|---|---|---|---|
| FU Budi, minta foto produk untuk LP trial TBA | Ary | Budi (janji) | 13/10 09.00 | baru |
| Video Belajar IoT +27 | Dika | Pak Adi | – | selesai (hasil: galeri) |
| Perbaiki pesan error publish Caang | Eko | Akbar | – | menunggu izin Pak Adi |
| Laporan harian ke Pak Adi | Akbar | Pak Adi | tiap hari 20.00 | berulang |
Begitu selesai, status = selesai (tidak dihapus, tapi tidak tampil di daftar kerja).
Untuk apa: jejak kejadian kalau suatu saat perlu ditelusuri ("kapan pelanggan X dikirimi link reset?"). Contoh baris: 12/10 15:10 · Eko · caang · org-0099 · kirim ulang link Lupa password ke email pelanggan.
Hanya ditambah. Tidak pernah dibaca semua; dicari per tanggal/orang/produk.
Satu database "kerja tim" untuk SEMUA proyek & klien. Tiap baris diberi label proyek/produk. Klien baru = tambah satu baris produk, bukan membuat database baru. Kolom detail (bebas per produk) untuk hal yang unik.
| Tabel | Kolom | Keterangan |
|---|---|---|
orang | kode_orang (tetap), nomor_wa (unik), nama, profil_umum, status, dibuat, diubah | 1 baris per orang. kode_orang dibuat sekali, TIDAK pernah berubah. Nomor & nama hanya isi. |
produk | slug_produk (tetap: labbaik, tba, cnc, otopia…), nama, jenis (buatan sendiri / klien), status | Daftar produk & klien. |
orang_produk | kode_orang, slug_produk, tahap (tanya/tertarik/order/lunas/member), catatan_produk, detail, status, berlaku_sejak, diubah_oleh | 1 baris per orang × produk. Budi member CNC + tertarik TBA = 2 baris. |
profil_versi | kode_orang, ringkasan (rangkuman utuh), status (berlaku/usang), dibuat, oleh_sesi | Rangkuman obrolan. Tiap sesi ditutup = versi baru yang MENGGANTI (versi lama tetap jadi arsip). |
| Tabel | Kolom | Keterangan |
|---|---|---|
pk_harga | slug_produk, slug_item (layanan/paket), varian (mis. ukuran mobil), lokasi (cabang, boleh kosong), harga, berlaku_sejak, berlaku_sampai, status, diubah_oleh | Satu baris = satu harga. Contoh: otopia · anti-karat · avanza · bali. |
pk_daftar | slug_produk, jenis (promo / ukuran-mobil / cabang / dll.), slug_baris, isi, detail, berlaku_sejak, berlaku_sampai, status, diubah_oleh | Daftar pendek lain yang berupa angka/fakta. |
pk_penjelasan | slug_produk, slug_topik (mis. definisi-anti-karat, keberatan-kemahalan, gaya-bahasa-bali), judul, isi (teks), berlaku_sejak, status, diubah_oleh | Satu baris = satu topik PENDEK. Ditanya satu hal → ambil satu baris. |
| Tabel | Kolom | Keterangan |
|---|---|---|
tugas | slug_tugas (tetap), siapa (yang mengerjakan), dari (yang meminta), slug_produk, kode_orang (boleh kosong), tugas (1 kalimat), bahan, jatuh_tempo (boleh kosong), status (baru/dikerjakan/menunggu/selesai/batal), menunggu_apa, langkah_terakhir, langkah_berikut, hasil, dibuat, diubah | Satu tabel untuk semua peran. Pengingat = tugas yang jatuh_tempo-nya ada jam. Janji FU ke konsumen = baris tugas (siapa = Ary, kode_orang terisi, jatuh_tempo = jam FU). |
| Tabel | Kolom | Keterangan |
|---|---|---|
log | waktu, siapa, slug_produk, kode_orang, slug_tugas, kejadian (singkat) | Hanya ditambah. Dicari per kolom (tanggal, orang, produk), tidak pernah dibaca semua. |
| Tabel | Kolom | Keterangan |
|---|---|---|
sesi | id_sesi (dari Claude), peran, kode_orang ATAU slug_tugas (tepat satu terisi, dijaga aturan database), status (aktif/ditutup), dibuka, terakhir_aktif, ditutup | Mencatat sesi chat mana yang sedang dipakai untuk orang/tugas tertentu. Dua kolom terpisah supaya tiap kolom selalu menunjuk satu tabel yang sama. |
usang, lalu baris baru ditambah. Menghapus = status dihapus. Seperti revisi halaman WordPress.slug_produk, slug_item, slug_topik, slug_tugas, kode_orang. ID baris hanya penanda versi.berlaku. Satu kunci hanya boleh punya satu baris berlaku.berlaku_sejak dan diubah_oleh.Sesi dibuka per SATUAN KERJA, seperti cara Pak Adi membuka chat "Monyil 1, Monyil 2": satu masalah satu sesi.
| Peran | Satuan kerja | Ditutup saat |
|---|---|---|
| CS (Ary, Opi) | Satu ORANG (konsumen/prospek) | Orang itu diam 30 menit |
| Dika, Eko | Satu TUGAS | Tugas selesai / berhenti lama (mis. menunggu izin). Tugas panjang boleh dipecah per kelompok/hari |
| Akbar | Satu TOPIK diskusi dengan Pak Adi, atau satu tugas pengawasan | Diam 30 menit / tugas selesai |
kode_orang dari nomor WA (belum ada = dibuat).sesi: sesi aktif milik orang itu yang terakhir aktif < 30 menit.| Ada informasi baru tentang… | Tulis ke |
|---|---|
| Orang (kebutuhan, keberatan, rencana, sudah beli) | Model 1: orang_produk (tahap) + profil saat sesi ditutup |
| Janji FU / pekerjaan yang harus dilakukan | Model 6: baris tugas (dengan jam kalau ada) |
| Harga, layanan, garansi, promo, cara order, jawaban keberatan | Model 2: PK, di topik yang tepat |
| Rencana fitur / yang sudah dibangun di produk buatan sendiri | Model 3: Brainstorming / MAP proyeknya |
| Aturan cara kerja satu peran | Model 4: CLAUDE.md peran itu |
| Aturan untuk semua staf / karakter | Model 4: CLAUDE.md umum |
| Cara masuk mesin, alat, cara menyalakan ulang | Model 5: Akses & alat |
| Kejadian (untuk jejak) | Model 7: log |
UPDATE bukan menghapus isi lama lalu menggantinya dengan potongan baru. UPDATE = isi lama tetap dipakai, hanya bagian yang berhubungan dengan informasi baru yang diganti atau ditambah. Bagian lain tidak boleh hilang.
Contoh benar: topik garansi Otopia berisi 6 poin; ada keputusan baru soal masa garansi anti karat → poin "masa garansi anti karat" saja yang diganti; 5 poin lainnya tetap utuh di versi baru.
Contoh SALAH (pernah terjadi): seluruh catatan dihapus, diganti satu kalimat informasi baru, sehingga banyak catatan lama hilang.
Cara aman: (1) baca isi versi yang berlaku, (2) ubah hanya bagian yang relevan, (3) simpan sebagai versi baru utuh (versi lama tetap tersimpan sebagai arsip), (4) bandingkan: tidak ada poin lama yang hilang tanpa alasan.
| Peran | Paling sering membaca | Paling sering menulis |
|---|---|---|
| CS (Ary, Opi) | Profil orang, PK, tugas FU miliknya | Profil (saat tutup sesi), orang_produk, tugas FU, log |
| Desainer (Dika) | Tugas miliknya, PK (fakta produk untuk naskah), Akses & alat | Tugas (progres, hasil), log |
| Programmer (Eko) | Tugas miliknya, MAP/Brainstorming proyek, Akses & alat | MAP/Brainstorming, tugas, log |
| Manajer (Akbar) | Papan tugas semua staf (belum selesai / lewat jatuh tempo / menunggu Pak Adi) | Tugas, PK & CLAUDE.md (meneruskan keputusan Pak Adi yang sudah final), log |
Bukan aplikasi besar. Beberapa skrip Linux kecil di server uranus (dikerjakan Eko, diawasi Akbar):
| # | Skrip | Tugasnya | Jalan kapan |
|---|---|---|---|
| 1 | Pembuat database | Membuat tabel-tabel di atas (orang, produk, orang_produk, profil_versi, pk_*, tugas, log, sesi) beserta aturan kunci tetap & soft delete. | Sekali |
| 2 | Penyambung WA → Claude (bridging) | WA masuk → cari kode orang → cari sesi aktif di tabel sesi → lanjutkan atau buat sesi baru (claude -p, diisi paket profil + produk + chat terakhir + PK) → kirim balasan. Menggabung pesan beruntun 30–60 detik. | Terus-menerus (dipicu tiap WA masuk) |
| 3 | Alarm per menit | (a) cari tugas yang jatuh tempo menit ini → taruh pesan ke kotak masuk staf yang bersangkutan; (b) cari sesi CS yang diam > 30 menit → minta rangkum profil → tutup sesi. | Tiap menit (timer sistem, 0 token) |
| 4 | Alat baca/tulis untuk staf | Perintah pendek: lihat/ubah profil orang, ambil PK per produk+topik, tambah/selesaikan tugas, tulis log. Selalu menyaring, tidak pernah menampilkan semuanya. | Dipakai staf saat bekerja |
| 5 | Halaman lihat-saja untuk Pak Adi | Melihat papan tugas, profil, PK, dan koreksi PK. | Kapan saja |
| 6 | Pemindah data lama | Memindahkan isi berkas lama (KASUS_TERBUKA, product knowledge yang tercecer, dll.) ke tabel baru; satu kali, diperiksa sebelum dipakai. | Sekali, sesudah 1–4 siap |
Uji coba dulu di satu produk/peran (mis. CS Labbaik), bandingkan mutu & token dengan cara sekarang, baru diperluas.
Skrip tambahan untuk ini masuk daftar skrip (bagian 11): penarik salinan tiap 5 menit + pengaturan akun database per staf.
Rancangan ini diuji beberapa hari. Perubahan apa pun pada halaman ini hanya atas keputusan Pak Adi.