- Arsitektur agen fungsional murni yang mendefinisikan state dan tindakan sebagai data, serta memisahkan efek samping menjadi directive imperatif untuk menyederhanakan pengujian dan debugging
- Mengadopsi API ringkas dan desain berpusat pada BEAM, serta memisahkan modul seperti
jido_action dan jido_signal untuk menyediakan sistem action·signal terstandarisasi
- Lapisan tingkat atas Jido AI mendukung 6 strategi penalaran seperti ReAct dan Chain-of-Thought, serta memungkinkan penggunaan 11 penyedia dan 665 model melalui integrasi LLM berbasis ReqLLM
- Jido kini berkembang menjadi platform ekosistem agen, dan melalui integrasi dengan Ash Framework (
ash_jido) mendukung perkakas CRUD yang dapat dipanggil AI
Gambaran umum Jido 2.0
- Jido 2.0 adalah framework agen berbasis Elixir yang diselesaikan setelah 18 bulan pengembangan dan redesain
- Awalnya dimulai pada 2024 sebagai platform bot bernama BotHive, lalu mengadopsi runtime BEAM sebagai fondasi sistem agen
- Memanfaatkan konkurensi dan stabilitas BEAM untuk mengatasi keterbatasan framework berbasis TypeScript atau Python
Perubahan dari 1.0 ke 2.0
- Jido 1.0 memiliki kegunaan yang menurun karena abstraksi berlebihan, tetapi di 2.0 diperbaiki dengan API yang disederhanakan dan struktur berpusat pada BEAM
- Menghapus kompleksitas yang tidak perlu berdasarkan masukan pengguna, serta meminimalkan hambatan saat menjalankan fungsi dasar
- Mencerminkan kebutuhan bahwa orang “ingin membuat agen, bukan bertarung dengan framework”
Inti agen yang kuat dan tangguh
- Inti Jido 2.0 adalah arsitektur agen fungsional murni
- Agen didefinisikan sebagai struct sederhana yang memiliki state, actions, dan tools
- Semua operasi ditangani oleh fungsi
cmd/2, yang mengembalikan agen yang diperbarui dan daftar directive sesuai action yang diberikan
- Efek samping dinyatakan sebagai directive lalu dijalankan oleh runtime, sehingga pengujian dan debugging menjadi mudah
Jido.AgentServer membungkus agen sebagai GenServer yang diawasi, serta mendukung routing signal dan hierarki agen induk-anak
- Strategy adalah titik ekstensi, dengan dua bawaan: Direct (eksekusi berurutan) dan FSM (state machine)
- Strategi AI seperti ReAct dan Chain-of-Thought juga berjalan dengan antarmuka yang sama
Pemisahan modul action dan signal
jido_action: kontrak action universal yang mendefinisikan semua fungsi agen
- Mencakup validasi skema saat kompilasi, lifecycle hook, dan konversi otomatis ke format tool ReqLLM
- Menyediakan lebih dari 25 tool yang sudah dibangun sebelumnya dan workflow planner berbasis DAG
jido_signal: sistem messaging berbasis CloudEvents v1.0.2
- Menyediakan format signal terstandarisasi, router berbasis trie, bus pub/sub, dan 9 adapter dispatch
- Dapat diintegrasikan dengan berbagai sistem tanpa protokol nonstandar
Lapisan integrasi Jido AI
jido_ai adalah lapisan integrasi yang mengubah pemanggilan LLM menjadi kecerdasan agen terstruktur
- Memiliki 6 strategi penalaran bawaan: ReAct, Chain-of-Thought, Tree-of-Thoughts, Graph-of-Thoughts, TRM, dan Adaptive
- Tetap mempertahankan kontrak
cmd/2 dan sistem directive yang sama, sehingga lapisan AI terintegrasi sebagai perluasan, bukan dunia terpisah
- Berjalan di atas ReqLLM dan mendukung 11 penyedia serta lebih dari 665 model
- Dirancang mengutamakan streaming, memiliki arsitektur multi-penyedia, dan didukung kontribusi komunitas yang aktif
Ekosistem yang terus meluas
- Jido berkembang melampaui framework sederhana menjadi ekosistem agen
- Komunitas membangun coding assistant, workflow orchestrator, research agent, dan sistem dukungan operasional di atas BEAM
- Berbagai paket untuk otomatisasi browser, sistem memori, evaluation harness, dan integrasi MCP juga mulai bermunculan
- Integrasi Ash Framework (
ash_jido)
- Dengan menambahkan blok DSL
jido ke resource Ash, action CRUD diubah menjadi tool yang dapat dipanggil AI
- Tetap mempertahankan kebijakan otorisasi, data layer, dan type safety
ash_ai juga sedang dipindahkan ke ReqLLM, menandai konvergensi kedua ekosistem
Komunitas dan apresiasi
- Jido 2.0 dibangun di atas ekosistem komunitas Elixir
- Diperkuat oleh kontribusi dari pustaka utama seperti Phoenix, LiveView, Ash, Req, Telemetry, dan NimbleOptions
Memulai
1 komentar
Komentar Hacker News
Saya belum pernah benar-benar menggunakan Jido, tapi saya selalu mengeceknya kira-kira sebulan sekali
Menurut saya BEAM sangat cocok untuk framework agen, tetapi ekosistemnya masih terbatas jadi saya belum mendalaminya
Saya menantikan versi 2.0. Sebagai catatan, sepertinya ada masalah entity escape di beberapa contoh kode
Saya sangat suka pendekatan yang menekankan data dan fungsi murni sejak awal tulisan
Saya sering melihat orang mengatakan model eksekusi BEAM cocok untuk AI, tetapi dalam praktiknya ketangguhan pada situasi seperti kegagalan node atau rolling deploy sering diabaikan
Ada juga kesalahpahaman bahwa Elixir menyediakan location transparency, padahal sebenarnya tidak. Jika node mati, proses di dalamnya juga ikut berhenti
Jika Anda menjaga state agen yang jelas dan murni di setiap tahap pemanggilan API, masalah seperti ini bisa diatasi. Simpan state di Mnesia atau Redis, lalu lanjutkan di node lain. Pada akhirnya, checkpointing adalah kuncinya
Karena itu, inti Jido sama sekali tidak memiliki dukungan LLM.
Sudah ada lebih dari 40 tahun riset agen, tetapi sejak LLM muncul seolah semuanya dilupakan. Jadi saya mencoba mempelajari kembali sejarah itu dan memasukkannya ke dalam Jido
Tentu saja saya suka LLM, tetapi itu adalah peran paket Jido AI
Waktunya sempurna. Saya membuat sendiri framework agen dengan mencampurkan gen server dan Oban, dan itu benar-benar pekerjaan yang menyakitkan
Proyek ini tampaknya akan sangat mengurangi rasa sakit saat mengembangkan. Terima kasih banyak
Saya penasaran apakah ini mirip dengan OpenAI Symphony
Saya lebih sering mengikuti Elixir daripada AI, jadi segar rasanya melihat Elixir dan BEAM dipakai untuk beban kerja orkestrasi seperti ini
Situsnya sulit diakses karena lonjakan trafik. Jadi saya membagikan tautan cadangan archive.org
Terima kasih sudah berbagi! Saya pasti akan mengeceknya
Baru-baru ini saya membuat paket A2A dengan LLM, yang merupakan abstraksi mirip GenServer
Sudah ada implementasi A2A lain, tetapi paket saya memiliki semantik yang berbeda jadi saya merilisnya apa adanya
Bagi yang tertarik, bisa melihatnya di sini
Saya sudah mengikuti proyek ini selama beberapa bulan, dan Elixir/BEAM adalah platform yang sempurna untuk menjalankan agen
BEAM benar-benar ringan dan efisien, sehingga secara teori Anda bisa menjalankan ribuan agen di satu server
Saya menantikan apa yang akan dibuat orang-orang yang memahami ini ke depannya
Bahkan pernah ada upaya untuk men-deploy BEAM ke lingkungan bare metal (embedded) dan menjalankan agen di dalamnya
Masa depannya terasa akan sangat menarik
Akan menarik melihat screenshot pohon proses saat agen-agen aktif di ‘observer’
Sebagai referensi, observer adalah alat untuk memvisualisasikan proses Erlang di dalam BEAM VM
Contoh screenshot bisa dilihat di dokumentasi Fly.io
jido_studio. Ini akan memvisualisasikan struktur prosesScreenshot teaser bisa dilihat di sini
Agen yang dibungkus dengan AgentRuntime biasanya berjalan sebagai satu proses GenServer, meskipun ada pengecualian saat topologi yang lebih besar dibutuhkan
Waktunya benar-benar pas. Saya juga sedang membuat sendiri framework agen Erlang, tetapi ini jauh lebih baik
Saya penasaran bagaimana keamanan dijamin. Tanpa isolasi container, akan sulit mencegah kebocoran secret produksi
Saya bahkan pernah melihat contoh Jido yang diimplementasikan seperti itu
Namun ini bergantung pada use case, dan keamanan adalah topik yang jauh lebih luas daripada sekadar masalah “agen di dalam container”
Tujuan Jido bukan menyelesaikan keamanan secara langsung, melainkan menyediakan alat agar pengguna bisa menyelesaikannya dengan cara yang mereka butuhkan