Belajar Hermes AI Agent - CI/CD & Release for Agents
Episode 19 of 23

Belajar Hermes AI Agent - CI/CD & Release for Agents

Episode ini membahas pipeline rilis khusus untuk agent: menguji perilaku agent di dalam CI, men-deploy kode dan konfigurasi model secara aman dengan pola blue-green, serta versioning profile agent dan tools agar setiap rilis dapat di-trace dan di-rollback.

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

Pendahuluan

Di episode 18 kalian membuat agen yang adaptif dan reflektif — ia bisa mengubah strategi sendiri berdasarkan feedback. Tapi ingat pesan terakhir kita: perubahan apa pun harus diuji di kelompok kecil dan bisa di-rollback. Pertanyaannya sekarang, bagaimana cara menguji perubahan itu secara otomatis, berulang, dan aman sebelum sampai ke pengguna nyata?

Jawabannya adalah CI/CD dan release pipeline yang dirancang khusus untuk agent. Agent itu unik dibanding aplikasi biasa: output-nya tidak deterministik, dependensinya mencakup konfigurasi model dan prompt, dan "deploy" sering berarti mengubah perilaku, bukan hanya mengganti kode. Episode 19 membahas tiga fondasi pipeline tersebut: testing behavior di CI, deployment yang aman, dan versioning yang telusur. Peta jalan episode ini:

  • Mengapa pipeline agent berbeda dari pipeline aplikasi biasa.
  • Testing behavior agent di CI dengan evaluasi otomatis.
  • Deploy kode dan konfigurasi model secara aman.
  • Versioning profile agent dan tools.

Mengapa Pipeline Agent Berbeda

Pipeline konvensional menguji dengan ekspektasi deterministik: input yang sama harus menghasilkan output yang sama. Agent tidak seperti itu — model yang sama bisa menjawab berbeda untuk pertanyaan yang sama, dan tool output berubah setiap saat. Ini bukan bug, ini sifat dasarnya. Maka strategi pengujian pun harus bergeser:

  • Dari assert output yang tepat menjadi assert invariant: agen tidak boleh memakai tool yang dilarang, tidak boleh bocorkan data pribadi, harus menyelesaikan tugas dalam batas langkah.
  • Tambahkan evaluasi berbasis dataset: kumpulan skenario uji yang dinilai dengan skor, bukan benar-salah biner.
  • Gunakan deterministic seed dan model tetap untuk uji smoke, dan model bervariasi untuk uji yang menilai kualitas.
skrip-eval-di-ci.sh
bun install --frozen-lockfile
bun run lint
bun run eval --suite regressions
bun run eval --suite safety --model gpt-4o-mini

Uji safety di sini bukan memilih model karena murah, tapi karena model yang lebih kecil lebih sering gagal pada kasus tepi — jadi ia adalah detektor masalah yang lebih sensitif. Jika suite safety lolos di model kecil, kemungkinan besar lolos juga di model besar.

Menyusun Eval Harness di CI

Eval harness adalah kode yang menjalankan agent terhadap skenario uji dan menghasilkan skor. Ia harus bisa dijalankan di lokal maupun di CI agar hasilnya konsisten. Berikut bentuk harness sederhana memakai suite yang sudah kalian lihat di episode 18:

eval/harness.ts
import { HermesAgent, evaluateSuite } from "@hermes/sdk";
 
const agent = new HermesAgent({ profile: process.env.AGENT_PROFILE });
 
const result = await evaluateSuite(agent, {
  cases: loadCases("./eval/cases/"),
  scoring: {
    taskCompletion: 0.5,
    toolDiscipline: 0.3,
    latency: 0.2,
  },
});
 
if (result.totalScore < 0.85) {
  process.exit(1);
}

Jalankan harness ini di CI sebagai gate: jika skor di bawah ambang, pipeline berhenti dan tidak ada deploy. Ambang minimal harus dinaikkan secara bertahap seiring dataset uji bertambah — supaya "lolos CI" tidak jadi semak-belukar yang terus turun kualitasnya.

Deploy Kode dan Konfigurasi Model secara Aman

Setelah CI lolos, tiba saatnya deploy. Kekhasan agent: yang berubah bukan hanya kode, tapi juga konfigurasi model — model apa yang dipakai, suhu, top-p, prompt system, daftar tool. Konfigurasi ini harus di-deploy sebagai artefak yang ter-version, bukan diubah manual di server.

config/production.yaml
version: 1.4.0
model:
  id: gpt-4o
  temperature: 0.3
  max_tokens: 2048
profile: ./profiles/support.ts
tools:
  - web-search
  - db-readonly
  - escalate-human
memory:
  ttl_days: 30

Deploy konfigurasi model membawa risiko yang sama seperti deploy kode: versi baru bisa menurunkan kualitas. Karena itu gunakan pola blue-green atau canary, bukan mematikan versi lama sekaligus. Deployment orchestration Hermes sudah mendukung dua jalur sekaligus:

deploy-canary.sh
hermes deploy --env production --version 1.4.0 --canary 10%
hermes promote --env production --version 1.4.0

Perintah pertama mengirim versi baru ke 10 persen traffic; perintah kedua baru mengangkatnya penuh setelah dipastikan sehat. Jika di tengah jalan muncul masalah, hermes rollback --env production mengembalikan traffic ke versi 1.3.9 dalam hitungan detik.

Warning

Jangan pernah mengubah prompt atau daftar tool secara langsung di server produksi. Perubahan yang tidak tercatat di version control tidak bisa di-rollback, tidak bisa diaudit, dan hampir selalu menjadi sumber misteri di kemudian hari.

Versioning Agent Profiles dan Tools

Untuk bisa di-rollback, setiap bagian yang memengaruhi perilaku harus punya versi. Di Hermes, ada tiga artefak yang wajib di-version: profile (persona dan system prompt), tool set (daftar dan izin tool), dan model config. Ketiganya diikat menjadi satu release tag, supaya mengembalikan versi berarti mengembalikan perilaku secara utuh.

rangkai-release.sh
hermes tag --profile support@1.4.0 --tools @hermes/tools@2.1.3 --config 1.4.0

Untuk menelusuri riwayat, gunakan semver biasa — rilis agen mengikuti pola feat:, fix:, dan breaking:. Karena agent tidak deterministik, tambahkan satu konvensi khusus: setiap rilis menyimpan rekam evaluasi (dataset, skor, model) sebagai lampiran. Dengan begitu, saat terjadi regresi, kalian bisa menjawab dua pertanyaan kunci: apa yang berubah, dan seberapa jelek perubahannya.

Penutup

Episode 19 mengubah proses rilis agent dari "deploy kode lalu berdoa" menjadi pipeline yang bisa dibuktikan: perilaku diuji di CI dengan eval harness yang menghasilkan skor, deploy memakai pola canary yang melindungi traffic, dan setiap bagian — profile, tool, model config — di-version serta diikat ke dalam release yang bisa di-rollback.

Inti yang harus dibawa pulang:

  • Uji agent dengan invariant dan skor, bukan dengan ekspektasi output yang tepat.
  • Eval harness harus jadi gate yang menghentikan pipeline saat skor di bawah ambang.
  • Konfigurasi model adalah artefak deploy, bukan pengaturan manual.
  • Deploy pakai canary dan rollback dalam hitungan detik.
  • Version setiap artefak yang memengaruhi perilaku, dan ikat semuanya dalam satu release.

Di episode 20 berikutnya kita akan mengangkat observability ke skala production: metrics keberhasilan, dashboard untuk aktivitas agent dan penggunaan tool, serta alert yang membangunkan kalian saat tindakan gagal atau perilaku berubah mencurigakan. Sampai jumpa!

Belajar Hermes AI Agent - CI/CD & Release for Agents | Belajar Hermes AI Agent