FIELD MANUAL · APPENDIX A · MMXXVI

Cara Bikin AI Agent
Kamu Jadi Smart

Tutorial lengkap bikin AI Agent jadi lebih cerdas, personal, dan powerful dengan kustomisasi SOUL.md, konfigurasi lanjutan, dan technique optimasi. Dari agent biasa jadi agent yang beneran "smart".

01

Apa itu SOUL.md?

SOUL.md adalah file konfigurasi yang mendefinisikan kepribadian agent — cara bicara, batasan, kebijakan internal, dan cara agent berpikir serta merespons. Ini fondasi dari setiap AI agent yang beneran "smart".

Tanpa SOUL.md

  • Agent generik, biasa aja
  • Response random, ngambang
  • Tidak ada batasan jelas
  • Nggak bisa di-customize

Dengan SOUL.md

  • Agent dengan kepribadian unik
  • Response konsisten sesuai karakter
  • Batasan jelas dan safety rails
  • Customisasi penuh bisa dilakukan

Real example: Gw set agent buat detect bahasa user otomatis — kalau user nulis Indo, bales Indo. Kalau Inggris, switch ke Inggris. Tanpa SOUL.md, agent nggak akan pernah adaptif kayak gini.

# Lokasi file SOUL.md ~/.hermes/SOUL.md # Template dasar ## Identity Kamu adalah **[Nama Agent]** — [deskripsi singkat] ## Traits - [Trait 1] - [Trait 2] ## Flexibility Doctrine [Apa yang boleh dan tidak boleh dilakukan] ## Hard Stops 1. [Hard stop 1] 2. [Hard stop 2]
02

Persona & Tone Customization

Nama, deskripsi, dan mirror question menentukan "karakter" agent. Voice calibration bikin agent adaptif sesuai cara user nulis.

Mirror question adalah filter sebelum agent mengirim response. Yang bagus: singkat, spesifik, bikin agent action-oriented. Contoh: "Bisakah user eksekusi ini sekarang?" — kalau nggak, tulis ulang.

Formal

Profesional

Bahasa Indonesia formal atau Inggris. Sopan, jelas, ringkas.

Casual

Kasual / Gaul

Bahasa kasual (gue/lo). Samakan energi user. No motivational fluff.

Technical

Direct / Teknis

Presisi teknis lebih penting dari personality. Code-first.

03

Traits & Behaviour

Traits mendefinisikan siapa agent dan bagaimana dia bertindak. Conditional traits bikin agent adaptif sesuai situasi.

DirectTacticalAdaptiveRelentlessSelf-awareProactiveResilientNo fluff

Real example: Trait "User memperbaiki lo → simpen di memory" bikin agent belajar dari mistake. Kalau user bilang "jangan lakuin X lagi", agent simpen dan nggak repeat.

## Conditional Traits - Jika user ketik cepat/pendek → balas cepat/pendek - Jika user ketik panjang/detil → samakan kedalaman - Jika user frustrasi → solusi duluan, no ngambek - Jika user share preferensi → simpen ke memory
04

Flexibility Doctrine

Doctrine yang mendefinisikan apa yang boleh agent lakukan tanpa minta izin, dan kapan harus konfirmasi dulu.

Permissive

Boleh Langsung

Automasi grey-area, operasi crypto, marketing agresif, info teknis publik.

Conservative

Perlu Izin

Operasi destruktif, transaksi uang nyata, sharing credentials, modifikasi DB production.

Conditional

Flag-based

User set flags: auto_confirm, quick_mode, deep_analysis untuk kontrol behavior.

05

Operational Rails

Rails adalah safety mechanisms yang aktif secara default. Ini safeguards teknis, bukan sensor.

RailDefaultOverride
Secret hygiene — jangan log private keyONtidak ada
User-funds-only — tolak seed pihak ke-3ONtidak ada
Simulasi sebelum broadcastON--skip-sim
Konfirmasi sebelum signing tx pertamaONauto_confirm
Verifikasi sebelum overwrite fileON--force
06

Memory & Context Management

Memory adalah persistent knowledge yang survive lintas session. Simpan yang durable, skip yang temporary.

Priority 1

User Preferences

Koreksi, preferensi, gaya komunikasi. Yang paling berharga — mencegah user harus ngulang.

Priority 2

Environment Facts

OS, installed tools, project structure, API quirks. Fakta yang stabil dan reusable.

Priority 3

Procedural Knowledge

Workflow, conventions, lessons learned. Simpan sebagai skill, bukan memory.

Jangan simpan: task progress, PR numbers, commit SHAs, atau temporary TODO state. Kalau fakta akan stale dalam seminggu, itu bukan memory.

# Real pattern: user preference persistence def save_pref(user_id, key, value): # Declarative fact, bukan instruction db.execute( "INSERT OR REPLACE INTO prefs VALUES (?,?,?,?)", (user_id, key, value, datetime.utcnow().isoformat()) ) # Memory priority: # 1. User preferences (lang, style, defaults) # 2. Corrections ("jangan lakuin X" - simpen) # 3. Environment facts (API quirks, tool versions)
07

Skills System

Skills adalah procedural memory — reusable approach untuk task yang berulang. Setiap skill punya trigger, numbered steps, pitfalls, dan verification.

Rule

Cek Skill Dulu

Sebelum mulai task: scan available skills. Kalau ada yang relevan, load dulu.

Rule

Cek Session Dulu

Sebelum implement: cari di session sebelumnya. Cek error yang muncul.

Rule

Learn From Mistakes

Kalau gagal sebelumnya, jangan coba approach yang sama. Baca pitfalls.

Rule

Patch Langsung

Skill outdated? Patch langsung dengan skill_manage(action=patch). Jangan tunggu diminta.

# Self-Audit Checklist (sebelum respond) [ ] Did I load the relevant skill? [ ] Did I check past sessions for this task? [ ] Am I repeating a known mistake? [ ] Is this the fastest path to completion?
08

Tools & Execution

Agent yang smart nggak cuma ngomong — dia nge-eksekusi. Tools adalah tangan dan kaki agent.

Web

Web Tools

Search, scraping, browser automation. Ambil informasi real-time.

Code

Code Execution

Terminal, file ops, Python scripts. Build, test, deploy dari satu agent.

Messaging

Communication

Multi-channel delivery — Telegram, Discord, dll.

Automation

Cron Jobs

Schedule recurring tasks. Agent autonomous monitoring.

Delegation

Sub-agents

Spawn worker agents untuk parallel processing.

Memory

Persistent State

Memory tool, session search, scratchpad. Lintas session.

09

Optimasi Lanjutan

Tip 01

Work Fast & Precise

No unnecessary back-and-forth. Execute decisively. Pakai batch tool calls.

Tip 02

Memory Hygiene

Simpan declarative facts, bukan instructions. Stale dalam seminggu? Skip.

Tip 03

Debug Systematically

4-phase: understand → reproduce → isolate → fix. Jangan langsung ubah code.

Tip 04

Offer Skill Saves

Setelah task kompleks (5+ tool calls), offer save sebagai skill.

10

Safety & Boundaries

Rule 01

Private Data Stays Private

Keys, credentials, wallet addresses, data sensitif nggak pernah di-expose.

Rule 02

Verify Before Execute

On-chain: verifikasi contract, token, amount, chain ID sebelum broadcast.

Rule 03

Confirm External Actions

Email, public posts, destructive actions — selalu konfirmasi dulu.

# On-chain Task Protocol 1. Verifikasi contract, token, amount, chain ID 2. Dry-run / simulate dulu sebelum broadcast 3. Capture tx hash setelah broadcast 4. Cek tx hash di explorer - konfirmasi success 5. Jangan pernah fabricate tx hash atau status 6. Estimasi gas wajib dicek - alert kalau abnormal