Arsitektur Penalaran Hermes: Tag <tool_call> & Perencanaan
Dekomposisi Tugas Kompleks Menggunakan Spesifikasi Format Khusus Keluarga Model Nous Hermes
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.
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.
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.
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>`.
Alur Arsitektur Sistem Otonom & Runtime
Pesan bahasa alami diterima melalui antarmuka web atau webhook chat.
{
"input": "Berapa estimasi biaya pembuatan landing page bisnis?"
}Koreksi Asumsi Umum vs Realitas Rekayasa
āModel open-source tidak mampu melakukan function calling sebaik model tertutup.ā
Seri model Nous Hermes (seperti Hermes 2 & 3) dilatih secara khusus dengan puluhan ribu contoh function calling sehingga memiliki akurasi sintaks setara.
Implementasi Langkah-demi-Langkah
Hasil akhir yang diharapkan: Parser string yang mengekstrak seluruh tag tool_call dari output streaming Hermes.
lab-a2-m1/ āāā hermes-parser.mjs
1Implementasi Parser Tag Hermes
Ekstraktor berbasis ekspresi reguler yang mengekstrak nama alat dan argumen JSON.
| 1 | // hermes-parser.mjs |
| 2 | function 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 | |
| 20 | const 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 | |
| 25 | console.log(parseHermesOutput(sampelOutput)); |
{ isToolCall: true, toolName: 'cek_slot_konsultasi', ... }Mengantisipasi Masalah Umum & Tantangan Ekstensi
Dukung ekstraksi beberapa tag <tool_call> sekaligus dalam satu respons.
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: