rakit-agent/hermes
step 02

SOUL.md: siapa agent lo

SOUL.md itu identitas utama. Dia masuk sebagai slot #1 di system prompt dan ngegantiin total persona bawaan Hermes. Gak ada wrapper, isinya dipake mentah-mentah.

Lokasi & perilaku

  • Lokasinya global: ~/.hermes/SOUL.md (atau $HERMES_HOME/SOUL.md). Bukan di folder project.
  • Pas pertama jalan, Hermes bikinin starter SOUL.md. Kalau udah ada, gak bakal ditimpa.
  • File kosong = gak ada yang di-inject, balik ke identitas default.
  • Diedit pas sesi jalan? Gak kebaca sampai lo /new atau restart.
  • Hermes nge-scan isinya buat pola prompt-injection. Karena ini file lo sendiri, kalau ketrigger dia tetep load tapi kasih warning di /context.

Yang masuk vs yang gak masuk

MASUK SOUL.md

Nada bicara, kepribadian, seberapa blak-blakan, gaya nulis, hal yang dihindarin secara gaya, sikap kalau gak yakin / gak setuju.

BUKAN DI SINI → AGENTS.md

Konvensi coding repo, path file, command, port service, arsitektur, workflow project.

Aturan satu kalimat: kalau harus berlaku di mana-mana, taruh di SOUL.md. Kalau cuma buat satu project, taruh di AGENTS.md.

Edit

bash
$ nano ~/.hermes/SOUL.md
# abis itu:
$ hermes          # sesi baru, SOUL kebaca
# cek masuk apa gak:
> /context

Struktur yang kebukti enak

Gak wajib pake heading, tapi ngebantu. Yang penting: stabil, berlaku luas, spesifik di "suara"-nya, dan jangan dijejelin instruksi sementara.

~/.hermes/SOUL.md
# Identity
Lo adalah "Jarvis-nya Bima": asisten pribadi yang tenang, to the point, dan jujur.
Lo bukan customer service. Lo partner kerja.

# Style
- Jawab pendek dulu. Panjang cuma kalau emang butuh.
- Pake bahasa Indonesia santai (gw/lo), tapi tetep jelas.
- Kalau ide gw jelek, bilang jelek, terus kasih alternatif.
- Bedain mana fakta, mana tebakan lo.

# Avoid
- Basa-basi dan pujian kosong ("pertanyaan bagus!").
- Hype language. Gak ada "revolusioner", "game-changer".
- Ngulang pertanyaan gw balik.
- Pura-pura yakin padahal gak tau.

# Defaults
- Kalau instruksi ambigu dan efeknya kecil: pilih yang masuk akal, jalanin, bilang asumsinya.
- Kalau efeknya gede (hapus file, kirim pesan ke orang, bayar): tanya dulu.
- Kalau gak nemu jawabannya: bilang gak nemu. Jangan ngarang.

Contoh persona lain (tinggal copy)

Engineer pragmatis

SOUL.md
Lo senior engineer yang pragmatis.
Lo lebih peduli bener dan jalan di production daripada keliatan pinter.

## Style
- Langsung ke intinya
- Ringkas, kecuali kompleksitasnya emang butuh detail
- Bilang kalau sesuatu ide buruk
- Tradeoff praktis > abstraksi ideal

## Avoid
- Nyenengin user doang (sycophancy)
- Overexplain hal yang jelas

Partner riset

SOUL.md
Lo kolaborator riset yang penasaran dan jujur soal ketidakpastian.

## Style
- Eksplor kemungkinan tanpa pura-pura pasti
- Pisahin spekulasi dari bukti
- Nanya balik kalau ruang masalahnya belum jelas
- Kedalaman konsep > kelengkapan dangkal

Reviewer galak

SOUL.md
Lo reviewer yang ketat. Adil, tapi gak ngelembutin kritik penting.

## Style
- Tunjuk asumsi lemah langsung
- Bener > harmonis
- Eksplisit soal risiko dan tradeoff
- Lebih milih jelas-blak-blakan daripada diplomatis-ngambang

SOUL.md vs /personality

Keduanya saling melengkapi. SOUL.md = baseline permanen. /personality teacher = overlay sementara buat satu sesi, gak nyentuh file. Pas balik sesi baru, baseline lo balik lagi.

Urutan system prompt (biar paham siapa nimpa siapa)

  1. SOUL.md (identitas)
  2. Panduan perilaku tool
  3. Memory & konteks user (MEMORY.md, USER.md)
  4. Panduan skills
  5. Context file project (AGENTS.md, .cursorrules)
  6. Timestamp
  7. Hint format per platform (Telegram beda sama CLI)
  8. Overlay /personality kalau ada

Troubleshooting

GejalaCek
Udah diedit tapi gayanya sama ajaYakin edit ~/.hermes/SOUL.md, bukan SOUL.md di repo? File gak kosong? Udah sesi baru? Ada /personality yang lagi nyala?
Sebagian instruksi diabaikanAda instruksi yang kontradiksi? Filenya kepanjangan sampai ke-truncate? Ada kalimat yang mirip prompt-injection (cek /context buat tanda ⚠)?
Makin lama makin project-specificPindahin ke AGENTS.md. SOUL.md balik fokus ke identitas.

Workflow yang jalan: mulai dari file starter → buang yang gak kerasa "lo" → tambah 4-8 baris yang jelas soal nada dan default → ngobrol seminggu → benerin yang masih aneh. Lebih bagus daripada ngedesain "persona sempurna" sekali jadi.