DIPERBARUI: 2026-11-06
[A2-M1]Menengahā± 30 Mnt Baca + 45 Mnt Praktik

Arsitektur Penalaran Hermes: Tag <tool_call> & Perencanaan

Dekomposisi Tugas Kompleks Menggunakan Spesifikasi Format Khusus Keluarga Model Nous Hermes

BAGIKAN MODUL:
[KONTRAK HASIL BELAJAR // A2-M1]Standar Kompetensi Industri
ā± 30 Mnt Bacaā€¢āš” 45 Mnt Praktik•Lulus: ≄ 80/100 Poin

01. Target Pembelajar & Prasyarat

Practitioner yang ingin menggunakan model open-source berkinerja tinggi tanpa ketergantungan API proprietary tertutup.

02. Kompetensi Konseptual (Level 1–2)

  • āœ“Memahami sintaks ChatML dan format tag native Nous Hermes (<tools>, <tool_call>, <tool_response>).
  • āœ“Menjelaskan bagaimana fine-tuning Hermes menghasilkan kepatuhan instruksi sistem yang tinggi.

03. Kompetensi Praktis & Artefak Nyata (Level 3–4)

  • āœ“Membangun parser tag XML/ChatML untuk mengekstrak payload tool_call dari model Hermes.
  • āœ“Mengonfigurasi prompt sistem khusus Hermes untuk tugas penalaran analitis.
Artefak yang Dibangun: Parser tag Hermes `hermes-tag-parser.mjs` yang andal menangani variasi output XML.

04. Aplikasi Nyata & Verifikasi

Penerapan Industri: Sistem otomasi lokal berbasis Ollama / vLLM untuk privasi data korporat.

Metode Verifikasi: Mem-parsing output teks mentah model Hermes dan mengonversinya menjadi objek JavaScript terstruktur.

[BAGIAN 01 // MASALAH & URGENSI ARSITEKTURAL]

Mengapa Subjek Ini Krusial dalam Rekayasa Nyata?

Pelajari keunggulan model open-weights Nous Hermes dalam mematuhi format ChatML dan tag XML terstruktur untuk dekomposisi rencana multi-tahap.

Dalam lingkungan produksi, kegagalan memahami batas-batas arsitektur sistem sering kali menyebabkan bug yang sulit dilacak, pemborosan biaya komputasi, atau antarmuka yang lambat bagi pengguna.

[BAGIAN 02 // MEKANISME DI BALIK LAYAR]

Bagaimana Sistem Sebenarnya Bekerja di Tingkat Protokol

Spesifikasi Format Native Nous Hermes

Keluarga model Nous Hermes menggunakan konvensi tag penanda yang sangat jelas untuk memisahkan teks penalaran manusia dengan instruksi mesin:

Tag `<tools>...</tools>` digunakan di awal System Prompt untuk mendefinisikan skema fungsi.

Ketika model memutuskan memanggil fungsi, ia mencetak tag `<tool_call>{"name": "...", "arguments": {...}}</tool_call>`.

Hasil dari worker kita dikembalikan di dalam tag `<tool_response>...</tool_response>`.

[DIAGRAM TEKNIS SVG INTERAKTIF // DIAG-01]

Alur Arsitektur Sistem Otonom & Runtime

LANGKAH 1 DARI 4
ENTITAS AKTIF:User -> Sistem
01
02
03
04

Pesan bahasa alami diterima melalui antarmuka web atau webhook chat.

[LIVE PAYLOAD INSPECTOR]JSON 2026
{
  "input": "Berapa estimasi biaya pembuatan landing page bisnis?"
}
[BAGIAN 03 // MATRIKS KESALAHPAHAMAN]

Koreksi Asumsi Umum vs Realitas Rekayasa

ƗASUMSI KELIRU

ā€œModel open-source tidak mampu melakukan function calling sebaik model tertutup.ā€

āœ“REALITAS SISTEM

Seri model Nous Hermes (seperti Hermes 2 & 3) dilatih secara khusus dengan puluhan ribu contoh function calling sehingga memiliki akurasi sintaks setara.

[BAGIAN 04 // LABORATORIUM PRAKTIS & KODE]

Implementasi Langkah-demi-Langkah

Hasil akhir yang diharapkan: Parser string yang mengekstrak seluruh tag tool_call dari output streaming Hermes.

STRUKTUR PROYEK DIREKOMENDASIKAN:
lab-a2-m1/
└── hermes-parser.mjs

1Implementasi Parser Tag Hermes

Ekstraktor berbasis ekspresi reguler yang mengekstrak nama alat dan argumen JSON.

hermes-parser.mjs•javascript
āœ“Tested Successfully
LINGKUNGAN TERUJI: Node.js v20.10.025 BARIS KODE
1// hermes-parser.mjs
2function parseHermesOutput(rawText) {
3 const match = rawText.match(/<tool_call>([\s\S]*?)<\/tool_call>/);
4 if (!match) {
5 return { isToolCall: false, content: rawText.trim() };
6 }
7 try {
8 const payload = JSON.parse(match[1].trim());
9 return {
10 isToolCall: true,
11 toolName: payload.name,
12 arguments: payload.arguments,
13 thoughtText: rawText.replace(match[0], '').trim()
14 };
15 } catch (err) {
16 return { isToolCall: false, error: 'Gagal mem-parsing JSON di dalam tag tool_call' };
17 }
18}
19
20const sampelOutput = `Saya akan memeriksa ketersediaan jadwal konsultasi untuk Anda.
21<tool_call>
22{"name": "cek_slot_konsultasi", "arguments": {"tanggal": "2026-11-10"}}
23</tool_call>`;
24
25console.log(parseHermesOutput(sampelOutput));
KEPUTUSAN ARSITEKTURAL UTAMA:
• Memisahkan thoughtText dan tool payload: Memungkinkan pengguna melihat proses penalaran model sambil mengeksekusi alat di latar belakang.
PERINTAH EKSEKUSI TERMINAL:
$ node hermes-parser.mjs
OUTPUT YANG DIHARAPKAN:
{ isToolCall: true, toolName: 'cek_slot_konsultasi', ... }
[BAGIAN 05 // PANDUAN TROUBLESHOOTING & TANTANGAN]

Mengantisipasi Masalah Umum & Tantangan Ekstensi

Pesan Error: Tag tidak cocok
Penyebab: Spasi atau perbedaan huruf besar-kecil pada tag
Solusi Eksak: Gunakan regex case-insensitive.
⚔ TANTANGAN EKSTENSI MANDIRI:

Dukung ekstraksi beberapa tag <tool_call> sekaligus dalam satu respons.

[RUBRIK EVALUASI KOMPETENSI 100 POIN // A2-M1]

Uji Kompetensi Mandiri & Verifikasi Hasil

Standar kelulusan Z-Automation mewajibkan skor minimum 80 / 100 Poin dengan komponen Implementasi Praktis minimal 21 / 35 Poin (60%). Jawab soal diagnostik dan centang hasil pengujian praktis Anda.

BAGIAN A // PERTANYAAN DIAGNOSTIK KONSEPTUAL & TEKNIS (40 POIN)

01.Tag apa yang digunakan oleh model Nous Hermes untuk mengeluarkan instruksi pemanggilan alat?

BAGIAN B // DAFTAR PERIKSA HASIL IMPLEMENTASI PRAKTIS (35 POIN — MIN. 21 POIN)

Centang item di bawah ini hanya jika Anda telah menjalankan kode di komputer Anda dan mengamati output yang benar:

Lanjutkan Menggulir
untuk Eksplorasi
Edukasi & Lab
Halaman Selanjutnya