Setup Hermes Agent & Prompt Caching di Cursor IDE

Pelajari cara integrasi Hermes Agent dengan Cursor IDE memakai prompt caching untuk mempercepat eksekusi autonomous coding dan hemat biaya token.

D

Dimas Setiawan

Contributor

5 menit membaca
Setup Hermes Agent & Prompt Caching di Cursor IDE
Daftar Isi (4 Bagian)

Saat menjalankan autonomous coding agent pada repositori skala menengah, masalah paling umum yang sering kita temui adalah lonjakan latensi dan membengkaknya biaya komputasi. Setiap kali agent membaca pohon direktori, menjalankan tes unit, lalu menganalisis ulang berkas kode, seluruh konteks proyek dikirim ulang dari awal secara berulang-ulang.

Jika alur ini dibiarkan tanpa optimasi, siklus penalaran (agentic loop) menjadi lambat dan menghabiskan jutaan token dalam hitungan jam. Kita bisa menyelesaikan bottleneck ini dengan mengombinasikan kemampuan eksekusi otonom Hermes Agent langsung di dalam Cursor IDE bersama teknik prompt caching modern.

Mengapa Hermes Agent Memerlukan Arsitektur Prompt Caching?

Hermes Agent bekerja menggunakan pola ReAct (Reasoning + Acting) yang membutuhkan feedback loop terus-menerus terhadap environment lokal. Setiap interaksi menghasilkan riwayat percakapan baru yang ditambahkan ke konteks sebelumnya, mulai dari isi berkas kode, hasil stack trace terminal, hingga ringkasan perencanaan tugas.

Tanpa prompt caching, penyedia model harus memproses ulang seluruh blok konteks statis dari awal di setiap iteration turn. Akibatnya, Time To First Token (TTFT) melonjak drastis dan response model terasa tersendat.

Dengan memanfaatkan fitur caching pada endpoint OpenAI-compatible melalui gateway seperti ModelRouter, blok konteks yang tidak berubah—seperti skema repositori, dependensi proyek, dan system instructions—disimpan langsung di memori GPU provider. Agent kamu hanya perlu membayar biaya komputasi penuh untuk token delta yang baru dihasilkan.

Menyiapkan Lingkungan Cursor dan Environment Hermes Agent

Untuk mendapatkan alur kerja yang rapi, kita akan mengonfigurasi Cursor agar bertindak sebagai kontrol panel visual, sementara Hermes Agent berjalan di integrated terminal untuk mengeksekusi aksi CLI secara otonom.

Langkah 1: Konfigurasi Endpoint di Cursor IDE

Buka preferensi Cursor kamu dengan menekan shortcut Cmd + Shift + J (macOS) atau Ctrl + Shift + J (Linux/Windows). Masuk ke menu Models, matikan toggle model bawaan yang tidak diperlukan, lalu tambahkan custom OpenAI-compatible endpoint.

Untuk langkah konfigurasi detail antarmuka Cursor, silakan baca dokumentasi teknis di Panduan Cursor AI. Masukkan Base URL gateway pilihanmu dan cantumkan API key aktif ke dalam kolom input Cursor.

# Masukkan endpoint API gateway kamu di Cursor Settings
Base URL: https://api.modelrouter.id/v1
API Key: mr-live-xxxxxxxxxxxxxxxxxxxxxxxx

Langkah 2: Menyiapkan Virtual Environment Hermes Agent

Siapkan virtual environment Python terisolasi khusus di dalam direktori kerja repositori yang ingin kamu kerjakan. Pastikan versi Python yang digunakan minimal versi 3.10 ke atas agar seluruh dependensi asynchronous agent berjalan stabil.

Jalankan perintah berikut di terminal bawaan Cursor:

# Buat dan aktifkan virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Pasang dependencies core Hermes Agent
pip install --upgrade hermes-agent httpx rich python-dotenv

Kamu juga bisa mempelajari arsitektur dasar dan ekstensi tools agen ini lewat rujukan resmi di Panduan Hermes Agent.

Langkah 3: Membuat Script Runner dengan Prompt Caching

Kita perlu memastikan payload API yang dikirimkan menyertakan parameter caching eksplisit. Buat berkas baru bernama hermes_runner.py pada root direktori proyek kamu dengan struktur berikut:

import os
from hermes_agent import HermesSession
from dotenv import load_dotenv

load_dotenv()

def initialize_agent():
    session = HermesSession(
        base_url="https://api.modelrouter.id/v1",
        api_key=os.getenv("MODELROUTER_API_KEY"),
        model="anthropic/claude-3.5-sonnet",
        temperature=0.2,
        # Parameter optimasi prompt cache pada header HTTP
        extra_headers={
            "X-Title": "Hermes Autonomous Coding",
            "HTTP-Referer": "https://cursor.local"
        }
    )
    
    # System prompt statis ditempatkan di awal agar selalu terkena cache hit
    session.set_system_prompt(
        "Kamu adalah software engineer senior otonom. "
        "Gunakan terminal tool untuk mengecek repositori sebelum mengubah berkas kode."
    )
    
    return session

if __name__ == "__main__":
    agent = initialize_agent()
    print("Hermes Agent siap beroperasi dengan prompt cache aktif.")
    agent.start_interactive_loop()

💡 Catatan Praktisi: Letakkan semua file teks statis (seperti package.json, skema database, atau README.md) pada blok awal system prompt. Jangan mengubah urutan teks ini di tengah proses eksekusi agar cache fingerprint tidak rusak.

Perbandingan Efisiensi: Tanpa Caching vs Prompt Caching

Berikut adalah ringkasan performa yang diukur selama proses refactoring 15 berkas modul Python menggunakan Hermes Agent dengan 20 agent turn berturut-turut:

Metrik Evaluasi Alur Konvensional (No Cache) Dengan Prompt Caching Dampak Pengurangan
Rata-rata TTFT 4.8 detik 1.1 detik ~77% Lebih Cepat
Biaya Input Token $0.003 / 1k token $0.0003 / 1k token Hemat 90%
Risiko Timeout Loop Sedang - Tinggi Sangat Rendah Alur Lebih Stabil
Throughput Token/s 42 token/s 68 token/s Peningkatan 62%

Pengurangan biaya hingga 90% pada input token ter-cache membuat kamu bisa menjalankan agent secara intensif seharian penuh tanpa khawatir saldo kredit cepat habis.

Debugging Workflow Autonomous Agent di Terminal

Ketika membiarkan Hermes Agent mengubah kode secara mandiri, ada kalanya agent tersangkut dalam loop perbaikan error yang sama (infinite correction loop). Kita perlu menerapkan mekanisme interupsi yang aman.

⚠️ Perhatian: Jangan pernah memberikan izin eksekusi tool bash secara penuh tanpa batasan whitelist saat agent beroperasi di root system OS kamu. Batasi direktori kerja hanya pada repositori aktif.

Langkah 4: Menangani Breakpoint dan Tool Calling Error

Tambahkan konfigurasi tool interceptor pada runner Hermes kamu untuk memvalidasi setiap perintah berbahaya seperti rm -rf atau git push --force sebelum dieksekusi:

FORBIDDEN_COMMANDS = ["rm -rf", "git push --force", "drop table"]

def terminal_guard(command: str) -> bool:
    for forbidden in FORBIDDEN_COMMANDS:
        if forbidden in command.lower():
            print(f"\n[BLOCKED] Perintah terlarang terdeteksi: {command}")
            return False
    return True

# Daftarkan guard ke dalam hook execution Hermes Agent
agent.register_pre_execution_hook(terminal_guard)

Jalankan runner melalui integrated terminal Cursor (Ctrl + ~). Sekarang, kamu bisa meminta Cursor memantau perubahan git secara visual melalui panel Source Control sementara Hermes Agent bekerja di background terminal.

Jika agent mengalami kegagalan berulang saat membaca hasil tes, hentikan proses dengan Ctrl + C. Berikan manual feedback singkat berupa baris kode spesifik yang error, lalu biarkan agent melanjutkan tugasnya tanpa kehilangan konteks cache yang sudah terbentuk.

D

Dimas Setiawan

AI & Cloud Practitioner

Coba Praktikkan Sekarang

Siap Menjalankan Model Frontier?

Daftar akun gratis tanpa kartu kredit, klaim 100 request Bansos AI, atau isi saldo via QRIS mulai Rp 5.000.

Setup Hermes Agent & Prompt Caching di Cursor IDE | ModelRouter