Belajar Hermes AI Agent - Membuat Agent Profile & Capability
Episode 4 of 23

Belajar Hermes AI Agent - Membuat Agent Profile & Capability

Episode ini membentuk identitas agent: menulis persona, goals, dan default behavior; menentukan capability seperti browsing, code execution, dan database access; lalu mendefinisikan toolset dan permission limits agar agent powerful tapi tetap terkendali.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Di episode 3 kalian berhasil menyalakan agent pertama dan mengobrol dengannya di terminal. Tapi agent itu masih polos — belum punya kepribadian, belum tahu mau jadi apa, dan belum punya alat untuk bekerja. Episode ini mengubah agent kalian dari objek eksperimen menjadi entitas dengan identitas dan wewenang yang jelas.

Roadmap episode ini: menulis persona, goals, dan default behavior; menentukan capability seperti browsing, code execution, dan database access; lalu mendefinisikan toolset dan permission limits.

Anatomi Agent Profile

Semua identitas agent didefinisikan dalam satu file bernama agent profile. File inilah yang dibaca controller setiap kali sesi dimulai, dan menjadi sumber kebenaran untuk siapa agent itu, apa tujuannya, apa yang boleh ia lakukan, dan bagaimana ia bersikap.

agents/support.yml - kerangka profile
name: support-agent
persona: "Asisten support produk yang teliti dan ramah"
goals:
  - "Menjawab pertanyaan user berdasarkan dokumentasi"
  - "Mengarahkan tiket yang rumit ke eskalasi"
default_behavior:
  language: indonesian
  tone: helpful
  verbosity: balanced
  temperature: 0.4
capabilities:
  - tools
  - browsing
tools: []

Struktur di atas adalah tulang punggung profile. Dua blok pertama, persona dan goals, membentuk kepribadian; dua blok berikutnya, capabilities dan tools, membentuk wewenang. Mari bedah satu per satu.

Persona menentukan cara agent berbicara, bukan apa yang ia tahu. Persona yang baik menyebutkan tiga hal: siapa dirinya, gaya komunikasinya, dan batasannya.

agents/support.yml - persona dan goals
persona: >
  Kamu adalah asisten support resmi produk Checkout.
  Berbicaralah ramah dan singkat, hindari jargon teknis
  untuk user non-teknis. Jangan pernah membuat janji
  pengiriman yang tidak bisa kamu verifikasi.
goals:
  - "Menyelesaikan masalah user secepat mungkin"
  - "Selalu merujuk dokumentasi sebelum menjawab"
  - "Eskalasi ke manusia bila data user tidak lengkap"

Goals memberi agent arah saat menghadapi situasi ambigu. Kalau user bertanya hal yang tidak ada di dokumentasi, agent tahu harus menjawab apa berdasarkan prioritas goals-nya — misalnya memilih menyampaikan kejelasan ketimbang menebak.

Default behavior melengkapi persona dengan parameter perilaku: bahasa default, tone, verbosity, dan temperature untuk model. Profile yang sama bisa di-clone dengan default behavior berbeda — misalnya versi "singkat" untuk chat dan versi "detail" untuk email — tanpa mengubah persona dan goals-nya.

Info

Persona bukan sekadar teks kosmetik — isi persona ikut masuk ke system prompt di setiap turn dan secara langsung memengaruhi gaya seluruh percakapan.

Menentukan Capability Agent

Capability adalah jenis kemampuan yang boleh dipakai agent, sedangkan tools adalah instansi konkretnya. Hermes mendukung beberapa capability inti: browsing untuk membaca web, code_execution untuk menjalankan kode, database untuk query data, file_system untuk membaca dan menulis file, serta network untuk memanggil API eksternal.

agents/research.yml - capability terbatas
name: research-agent
capabilities:
  browsing:
    enabled: true
    allowDomains:
      - "wikipedia.org"
      - "*.blog.example.com"
  code_execution:
    enabled: false
  database:
    enabled: true
    read_only: true
    allowTables: ["orders", "customers"]
  file_system:
    enabled: true
    read: ["./kb"]
    write: []

Perhatikan prinsipnya: tiap capability bisa dipersempit. browsing dibatasi ke daftar domain, database hanya baca dan hanya tabel tertentu, code_execution mati total, file_system hanya bisa membaca satu folder dan tidak bisa menulis apa pun. Kemampuan yang tidak aktif tidak muncul di context model — agent bahkan tidak tahu bahwa ia "bisa" memanggilnya, sehingga tidak akan mencoba.

Code execution dan database access adalah dua capability yang paling sering disalahgunakan. Agent yang bisa menjalankan kode arbitrer bisa mengeksekusi script berbahaya; agent dengan akses tulis database bisa menghapus data. Selalu aktifkan keduanya hanya jika benar-benar dibutuhkan, dan perketat dengan batasan di atas.

Mendefinisikan Toolset dan Permission Limits

Kalau capability menjawab "agent boleh melakukan apa", toolset menjawab "aksi konkret apa yang tersedia". Setiap tool didaftarkan dengan permission level:

agents/support.yml - toolset dengan permission
tools:
  - name: web.search
    permission: auto
  - name: web.fetch
    permission: confirm
  - name: db.query
    readOnly: true
    permission: auto
  - name: http.post
    permission: denied
  - name: fs.write
    permission: denied
PermissionArti
autoController langsung mengeksekusi tanpa bertanya
confirmAgent menunggu persetujuan user dulu
deniedTool diblokir total, tidak bisa dipanggil

web.search dan db.query yang hanya membaca boleh di-auto, tapi web.fetch yang membuka halaman berisi konten tak dikenal sebaiknya di-confirm. Operasi dengan efek samping seperti http.post dan fs.write di-denied kalau memang tidak dibutuhkan — prinsip ini biasa disebut least privilege.

Danger

Tool dengan efek samping permanen — kirim email, transfer uang, hapus data — harus di permission confirm paling tidak, dan idealnya denied sampai ada alasan jelas untuk menyalakannya.

Menjalankan Agent dengan Profile

Dengan profile lengkap, jalankan agent dan lihat bagaimana kepribadiannya muncul:

menjalankan agent dengan profile
hermes run agents/support.yml --session support-1

Berbeda dengan episode 3 yang memakai profile default, sekarang agent memakai persona, goals, capability, dan toolset yang kalian tulis sendiri. Coba minta ia menjelaskan sesuatu, lalu bandingkan gayanya dengan agent bawaan — perbedaan itu datang dari profile. Kalau mau mencoba banyak varian tanpa menulis ulang, gunakan perintah hermes run agents/support.yml sambil berganti file profile untuk tiap percobaan.

Buat beberapa profile sekaligus untuk kasus yang berbeda: support.yml untuk layanan pelanggan, research.yml untuk riset, writing.yml untuk editing artikel. Semuanya bisa hidup berdampingan dan dipanggil per sesi, memakai pola yang sama seperti di episode 6 saat kita mengintegrasikan tool eksternal.

Penutup

Episode 4 mengubah agent kalian dari cangkang kosong menjadi entitas dengan identitas: persona, goals, dan default behavior menentukan cara ia bersikap; capabilities menentukan jenis kemampuan yang aktif; toolset dan permission limits menentukan aksi konkret yang boleh dijalankan. Semua itu hidup dalam satu file profile yang mudah di-version control dan diganti per use case.

Inti yang harus dibawa pulang:

  • Profile adalah sumber kebenaran identitas dan wewenang agent, didefinisikan dalam satu file YAML.
  • Persona mengatur cara bicara; goals mengatur arah saat situasi ambigu; default behavior mengatur parameter perilaku.
  • Capability dibuka minimal dan dipersempit — code execution dan database access jangan pernah dibuka lebar tanpa alasan.
  • Permission level auto, confirm, dan denied mengontrol kapan setiap tool boleh dieksekusi.
  • Beberapa profile bisa hidup berdampingan untuk use case berbeda dalam project yang sama.

Di episode 5 kita menyempurnakan otak agent: Prompt Engineering & System Design — menyusun system prompt dan task instructions, memakai prompt templates dan dynamic prompt generation, serta menangani edge case dan failure mode pada prompt design. Sampai jumpa!

Belajar Hermes AI Agent - Membuat Agent Profile & Capability | Belajar Hermes AI Agent