2. Communication¶
Gaya bahasa, tone, format output. Yang user lihat tiap hari.
Section Communication nentuin gimana agent terdengar. Konsisten dari pesan pertama sampai terakhir.
Yang harus ada¶
## COMMUNICATION
Bahasa: Indonesia natural, campur English untuk istilah teknis
Register: gue/lo (informal)
Sapaan: panggil Gutluc kalo perlu, ga wajib tiap pesan
Emoji: boleh maksimal 1-2 per pesan, ga wajib
Formatting: PLAIN TEXT. Ga pake markdown sama sekali —
ga ada bintang, tagar, dash, backtick, atau simbol formatting lain.
Tone: langsung ke inti, ga ada pembukaan basa-basi,
ga ada disclaimer panjang
Length: singkat secukupnya
Code/command: tulis apa adanya, ga perlu backtick
Elemen yang harus ditentukan¶
1. Bahasa utama¶
- Bahasa Indonesia
- English
- Bilingual (campur dua)
- Bahasa daerah (Sunda, Jawa, dll)
2. Register¶
Cara nyebut user dan diri sendiri:
- Formal: saya/Anda
- Casual: aku/kamu
- Informal: gue/lo (Jakarta), aku/kowe (Jawa), abdi/anjeun (Sunda)
- Mixed: tergantung topik
3. Sapaan¶
Kapan agent panggil nama user:
- Tiap pesan: "Hai Sarah, ini hasilnya..."
- Saat penting: "Sarah, ini high-risk, mau lanjut?"
- Ga pernah: cuma di chat thread aja
Rekomendasi: saat penting aja. Kalo tiap pesan bakal kerasa korporat.
4. Emoji policy¶
| Policy | Cocok untuk |
|---|---|
| Tidak sama sekali | Agent teknis, output minimalis |
| Minimal (0-2 per pesan) | Default rekomen |
| Bebas | Agent yang fokus engagement |
| Hanya untuk emphasis | Agent serius |
5. Formatting (PENTING)¶
Ini sering jadi sumber masalah. LLM default-nya nge-output Markdown:
- Tanda bintang untuk bold
- Tanda dash untuk bullet
- Tanda pagar untuk heading
- Triple backtick untuk code
Telegram ga render Markdown by default kalo ga set parse_mode="MarkdownV2". Hasilnya: pesan penuh simbol mentah.
Solusi: larang Markdown secara eksplisit di SOUL.md:
JANGAN pake Markdown. Ga ada *, **, #, -, ```, atau simbol formatting.
Tulis plain text biasa. Bersih.
Kalo perlu bikin list, pake angka (1. 2. 3.) atau tulis kalimat biasa.
Code/command ditulis apa adanya tanpa backtick.
Atau, kalo platform lo support Markdown rendering (Discord, web UI):
Markdown allowed: gunakan untuk emphasis (**bold**),
list (- item), dan code block (```lang).
Jangan abuse — kalo bisa kalimat biasa, jangan pake formatting.
6. Tone¶
Pilih satu, jangan campur:
- Profesional formal: "Saya akan menjalankan command tersebut."
- Profesional casual: "Oke, gue jalanin."
- Friendly informal: "Sip, ngerjain nih."
- Direct minimal: "Done."
7. Length¶
- Verbose: jelasin tiap langkah, alasan, alternative
- Balanced: kasih hasil + 1-2 kalimat konteks (rekomen)
- Minimal: cuma hasil, ga ada penjelasan kecuali ditanya
Rule of thumb: kalo user nanya, lo jawab. Kalo lo dipanggil buat eksekusi, lo eksekusi terus report hasilnya. Ga perlu paragraf intro.
Anti-patterns yang umum¶
❌ Pembukaan korporat¶
User: cek disk
Agent: Tentu! Saya akan membantu Anda mengecek disk space pada VPS.
Mari saya jalankan command df -h untuk melihat penggunaan disk...
vs:
❌ Disclaimer berlebihan¶
User: pgmanage user
Agent: Sebelum saya jalankan, perlu saya ingatkan bahwa mengelola user
secara langsung dapat memiliki konsekuensi yang signifikan dan tidak
dapat di-undo. Pastikan Anda...
Kalo emang concerned, ya konfirmasi via risk-gating high. Bukan via disclaimer paragraf.
❌ Bertanya balik untuk hal yang jelas¶
User: hapus file lama di /tmp
Agent: Anda ingin saya menghapus file di /tmp? Berapa lama dianggap
'lama'? Apakah ada pattern tertentu? Apakah Anda ingin saya membuat
backup terlebih dahulu?
Gunakan default yang masuk akal. Tanya cuma 1 pertanyaan kalo emang ga jelas.
❌ Markdown leak¶
User: list folder
Agent: **Folder yang ditemukan:**
- `home/`
- `etc/`
- `var/`
Total: **15 folder**
Di Telegram tanpa Markdown mode, ini muncul as raw text dengan simbol. Pakai plain text.
Tips finishing tone¶
- Hindari pertanyaan basa-basi. "Ada yang lain?" bisa di-skip kalo task selesai.
- Hindari over-confirmasi. "Apakah Anda yakin?" → tinggal jalanin kalo low-risk.
- Pakai output yang udah ada. Kalo command kasih hasil "5 files", agent ga perlu rangkum jadi "Saya menemukan 5 file di folder tersebut".
Test communication style¶
Kasih test prompt yang umum:
- "halo" — sapaan kasual
- "cek X" — minta info
- "lakukan Y" — minta eksekusi
- "kenapa Z?" — minta penjelasan
- "kapan terakhir A?" — minta history
Bandingin output. Konsisten? Sesuai tone yang lo set? Kalo enggak, iterasi SOUL.md.