Skip to main content
BlogAI

Hermes AI Agent oleh Nous Research: Arsitektur, Loop Belajar Mandiri, dan Cara Memulai

Pendalaman mendalam tentang Hermes — framework AI agent open-source dengan loop belajar mandiri tertutup, memori persisten, 40+ tools, dan deployment multi-platform melalui satu gateway.

Matthews Wong

Software Engineer

Juni 202512 menit baca
Hermes AI Agent oleh Nous Research: Arsitektur, Loop Belajar Mandiri, dan Cara Memulai

Foto oleh Unsplash

Sebagian besar framework AI agent open-source memberi Anda sebuah loop: panggilan LLM, panggilan tool, ulangi. Hermes Agent oleh Nous Research jauh melampaui itu. Ia memiliki loop belajar mandiri tertutup di mana agent menyimpan pendekatan tugas yang berhasil sebagai skill dalam database vektor, mengambil skill serupa pada tugas mendatang, menyempurnakannya berdasarkan hasil, dan secara bertahap meningkat tanpa intervensi manusia.

Loop Belajar Mandiri Tertutup: Yang Membuat Hermes Berbeda

Konsep yang membedakan Hermes dari framework seperti AutoGPT, LangChain agents, atau CrewAI adalah loop belajar mandiri tertutup. Dalam framework agent standar, agent menangani setiap tugas dari awal. Hermes menambahkan lapisan persisten: setelah menyelesaikan tugas, ia menyimpan pendekatan sebagai embedding dalam database vektor.

Skill Store: Database Vektor sebagai Memori Jangka Panjang

Skill store diimplementasikan sebagai database vektor (default adalah Chroma, dengan dukungan untuk Pinecone dan Weaviate). Setiap entri skill berisi: deskripsi bahasa alami dari jenis tugas, vektor embedding, jejak eksekusi yang berhasil, tingkat keberhasilan yang diperbarui setelah setiap eksekusi, dan riwayat versi.

Gateway Multi-Platform: Satu Agent, Setiap Saluran

Hermes mengekspos antarmuka agent tunggal ke beberapa konektor platform. Konektor Telegram, Discord, Slack, dan CLI semuanya berbicara ke loop agent yang mendasarinya yang sama — platform hanyalah lapisan transport. Anda mengonfigurasi agent sekali dan men-deploy-nya di semua saluran.

HERMES CLOSED SELF-LEARNING LOOP
             ══════════════════════════════════

  ┌─────────────┐
  │  Task Input │ ◄── Telegram / Discord / Slack / CLI
  └──────┬──────┘
         │
         ▼
  ┌─────────────────────────────────────────────┐
  │         Planning & Decomposition            │
  │  (200+ models: GPT-4o / Claude / Gemini)   │
  └──────────────────┬──────────────────────────┘
                     │
         ┌───────────┴───────────┐
         ▼                       ▼
  ┌─────────────┐        ┌──────────────────┐
  │ Skill Store │        │  Tool Execution  │
  │ (vector DB) │◄──────►│  40+ built-ins   │
  │             │ lookup │  + MCP tools     │
  └──────┬──────┘        └────────┬─────────┘
         │                        │
         │   ┌────────────────────┘
         │   │  execution result
         ▼   ▼
  ┌─────────────────────────────┐
  │     Skill Refinement        │
  │  new approach stored back   │
  │  into vector DB as skill    │
  └──────────────┬──────────────┘
                 │
                 ▼
          Next Task Input
         (better than before)

  Subagent execution: Docker │ SSH │ Modal │ Daytona

Mulailah dengan konektor CLI saat mengembangkan tool kustom dan alur kerja. Ini memberi Anda umpan balik langsung tanpa perlu mengonfigurasi token bot. Setelah tool Anda berfungsi dengan benar di CLI, beralih ke Telegram atau Slack adalah perubahan konfigurasi, bukan perubahan kode.

Memulai: Instalasi, Konfigurasi, dan Tool MCP Kustom Pertama Anda

Hermes memerlukan Python 3.11+ dan kunci API penyedia model. Instalasi adalah pip install standar dari repositori yang di-clone. Konfigurasi berbasis file — .env untuk rahasia dan config.yaml untuk perilaku agent. Keputusan konfigurasi terpenting adalah penyedia model.

Menulis Tool MCP Kustom

MCP (Model Context Protocol) adalah mekanisme ekstensi Hermes untuk menambahkan kemampuan baru. Tool MCP kustom adalah kelas Python yang mewarisi dari MCPTool dan mengimplementasikan metode execute. Hermes menghasilkan skema JSON untuk panggilan tool LLM secara otomatis dari petunjuk tipe Python.

# 1. Clone and install
git clone https://github.com/nousresearch/hermes-agent
cd hermes-agent
pip install -e ".[all]"

# 2. Configure .env
cat > .env << 'EOF'
# Choose your model provider (no code changes needed to switch)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
OPENROUTER_API_KEY=sk-or-...

# Platform connectors — enable only what you need
TELEGRAM_BOT_TOKEN=...
DISCORD_BOT_TOKEN=...
SLACK_BOT_TOKEN=...
EOF

# 3. Start the agent
python -m hermes.main --platform telegram

# 4. Add a custom MCP tool (Python example)
# tools/my_tool.py
from hermes.mcp import MCPTool

class DeployStatusTool(MCPTool):
    name = "get_deploy_status"
    description = "Check the latest deployment status on our VPS"

    async def execute(self, service: str) -> dict:
        # Call your internal API
        result = await fetch_deploy_api(service)
        return {"service": service, "status": result["status"]}

# Register in hermes config:
# mcp_tools:
#   - tools.my_tool.DeployStatusTool

# 5. Skill store — Hermes stores this execution as a skill:
# {
#   "skill_id": "deploy-status-check-v2",
#   "embedding": [...],   # vector for similarity search
#   "approach": "Call get_deploy_status, then parse status field",
#   "success_rate": 0.94
# }

Eksekusi Subagent Terdistribusi: Docker, SSH, Modal, Daytona

Lapisan subagent Hermes memungkinkan agent utama mendelegasikan tugas komputasi intensif ke subagent khusus. Subagent Docker berjalan dalam container terisolasi. Subagent SSH berjalan di mesin jarak jauh. Modal dan Daytona memungkinkan eksekusi serverless untuk beban kerja yang bervariasi.

Loop belajar mandiri memiliki mode kegagalan: jika agent menyimpan pendekatan yang cacat sebagai skill yang berhasil, tugas serupa di masa depan akan mewarisi kecacatan. Pantau entri skill store selama beberapa minggu pertama deployment dan terapkan quality gate pada penyimpanan skill.

Kasus Penggunaan Dunia Nyata yang Layak Dibangun

Kasus penggunaan yang paling diuntungkan dari arsitektur Hermes adalah yang melibatkan tugas penelitian dan sintesis berulang. Agent digest harian yang mengagregasi berita dan peringatan monitoring belajar sumber mana yang paling relevan dari waktu ke waktu. Agent tinjauan kode mengumpulkan pengetahuan khusus proyek dalam skill store.

Kapan Memilih Hermes daripada Membangun Agent Sendiri

Gunakan Hermes ketika Anda menginginkan loop belajar mandiri dan deployment multi-platform tanpa membangun infrastruktur sendiri. Hermes bersinar ketika: ruang tugas luas dan tidak dapat diprediksi, Anda ingin agent meningkat dari waktu ke waktu tanpa re-prompting, dan Anda memerlukan satu agent yang dapat diakses dari beberapa platform.

Sumber & Bacaan Lanjutan

FAQ

Pertanyaan Umum

Jawaban singkat untuk pertanyaan yang paling sering diajukan pembaca tentang topik ini.

Apa yang membuat Hermes Agent berbeda dari framework agent open-source lain seperti AutoGPT atau LangChain?

Hermes memiliki loop belajar mandiri tertutup yang tidak dimiliki framework standar. Setelah menyelesaikan tugas, ia menyimpan pendekatan yang berhasil sebagai embedding dalam database vektor. Pada tugas serupa berikutnya, agent mengambil skill yang paling relevan berdasarkan cosine similarity, menggunakannya untuk perencanaan awal, lalu memperbarui tingkat keberhasilan skill tersebut setelah eksekusi — meningkat secara bertahap tanpa intervensi manusia.

Apa itu skill store dan database vektor apa saja yang didukung Hermes?

Skill store adalah database vektor yang berfungsi sebagai memori jangka panjang agent. Setiap entri berisi deskripsi bahasa alami dari jenis tugas, vektor embedding, jejak eksekusi yang berhasil, tingkat keberhasilan yang diperbarui setelah setiap eksekusi, dan riwayat versi. Hermes menggunakan Chroma sebagai default dan juga mendukung Pinecone serta Weaviate.

Bagaimana gateway multi-platform bekerja, dan apa cara yang disarankan untuk mengembangkan tool kustom?

Hermes mengekspos satu antarmuka agent ke beberapa konektor platform — Telegram, Discord, Slack, WhatsApp, Signal, dan CLI — masing-masing hanya berperan sebagai lapisan transport. Artikel ini menyarankan untuk mulai pengembangan dengan konektor CLI karena memberikan umpan balik langsung tanpa perlu mengonfigurasi token bot; beralih ke Telegram atau Slack setelahnya hanya memerlukan perubahan konfigurasi, bukan perubahan kode.

Apa itu kontaminasi skill store dan bagaimana cara mencegahnya?

Kontaminasi skill store terjadi ketika agent menyimpan pendekatan yang cacat sebagai skill yang berhasil, sehingga tugas serupa di masa depan mewarisi kecacatan tersebut. Artikel ini menyarankan untuk memantau entri skill store selama beberapa minggu pertama deployment dan menerapkan quality gate yang mengharuskan setidaknya tiga eksekusi berhasil sebelum sebuah skill mencapai rating kepercayaan tinggi.

Kapan sebaiknya memilih Hermes daripada membangun agent sederhana atau menggunakan panggilan API langsung?

Hermes adalah pilihan tepat ketika ruang tugas luas dan tidak dapat diprediksi, Anda ingin agent meningkat dari waktu ke waktu tanpa re-prompting, Anda memerlukan satu agent yang dapat diakses dari beberapa platform, atau membutuhkan eksekusi terdistribusi via subagent Docker, SSH, Modal, atau Daytona. Untuk tugas tunggal yang sempit dan terdefinisi dengan baik, artikel ini menyebutkan bahwa LangChain atau panggilan API langsung dengan tool use lebih sederhana.