Merancang Helium Agent

Helium Agent adalah agen AI ringan yang dibangun dengan Python. Ia berjalan di terminal Anda. Ia dirancang dengan kompleksitas minimal.

Berikut adalah keputusan desain inti dari pembangunannya:

• Arsitektur Sistem ini menggunakan arsitektur datar (flat architecture). Saya menghindari framework berat dan pohon dependensi yang dalam. Saya menggunakan tag XML seperti <action> alih-alih OpenAI function calling. Hal ini membuat agen bersifat agnostik terhadap model. Anda dapat menggunakan LLM apa pun.

• Komposabilitas melalui Dependency Injection Saya menggunakan loop sederhana yang disebut AgenticLoop. Ia menerima dua input: pemanggil model (model caller) dan pelaksana alat (tool executor). Satu pilihan ini memungkinkan empat mode berbeda:

  • Chat umum
  • Alur kerja pengodean (coding workflows)
  • Subagen
  • Skill kustom Saya tidak menggunakan subclass atau pola yang kompleks. Hanya dua fungsi sederhana.

• Manajemen State Helium adalah alat untuk pengguna tunggal. Saya menggunakan singleton tingkat modul untuk riwayat percakapan dan memori. State global adalah cara termudah untuk merepresentasikan sesi pengguna tunggal. Ini mencegah over-engineering.

• Gerbang Keamanan (Safety Gates) Saya menggunakan sistem tiga tingkat untuk eksekusi alat:

  • Aman (Safe): Mengeksekusi tugas secara otomatis seperti membaca file atau mencari.
  • Berisiko (Risky): Memerlukan izin pengguna untuk tugas seperti menulis file.
  • Bersyarat (Conditional): Memeriksa perintah seperti skrip bash untuk mengecek bahaya. Ini mencegah model yang berhalusinasi menghapus file Anda.

• Komunikasi Saya menggunakan permintaan HTTP mentah (raw HTTP requests) alih-alih OpenAI SDK. Ini mengurangi dependensi dan menjaga kode tetap transparan. Anda dapat melihat dengan tepat apa yang dikirim ke API.

• Sistem Skill Skill hanyalah file Markdown. Anda dapat menambahkan skill baru dengan menulis file teks dengan YAML frontmatter. Tidak ada API registrasi yang kompleks. Hal ini membuat sistem plugin mudah digunakan oleh siapa saja.

• Pelajaran yang Dipetik

  1. Dependency injection menyediakan komposabilitas yang murah.
  2. System prompt adalah API Anda. Perlakukan ia sebagai bagian kode kelas utama (first-class piece of code).
  3. Jika Anda memerlukan lazy imports untuk memperbaiki dependensi sirkular, batas modul Anda salah. Perbaiki arsitekturnya sebagai gantinya.

Kesederhanaan dapat diskalakan. Pilih solusi paling sederhana yang berfungsi untuk kasus penggunaan spesifik Anda.

Sumber: https://dev.to/debmalyasen34/designing-helium-agent-1b39

Komunitas pembelajaran opsional: https://t.me/GyaanSetuAi