NeoGraph - Mesin agen yang memindahkan LangGraph ke C++
(github.com/fox1245)Halo.
Saya ingin membagikan NeoGraph, mesin orkestrasi agen yang saya buat.
Ini berbasis C++17 dan bisa diinstal dengan perintah berikut.
pip install neograph-engine
Mengapa saya membuatnya
Saat menggunakan LangGraph berbasis Python, sering kali terasa kurang memuaskan dari sisi performa. Selain itu, spesifikasi yang dibutuhkan saat menjalankan server juga cukup besar, jadi saya sering berharap ada mesin orkestrasi yang ringan dan cepat. Dari situ, saya melanjutkannya dengan implementasi dalam C++ untuk mengejar peningkatan performa.
Fitur?
Graf diperlakukan sebagai data, bukan kode.
Sebagian besar framework Python mendefinisikan graf sebagai objek Python. NeoGraph mendefinisikan struktur graf itu sendiri dalam JSON. Bukan sebagai objek StateGraph, melainkan sebagai satu blok JSON yang muat dalam satu baris DB.
Karena itu, hal-hal berikut menjadi mungkin.
-
Hot swap tanpa deploy - untuk mengubah struktur agen (topologi graf), Anda hanya perlu mengganti satu baris JSON di DB.
Tanpa redeploy, tanpa restart proses, dan tanpa kehilangan percakapan yang sedang berlangsung. -
Multi-tenant - struktur agen yang berbeda untuk tiap pelanggan bisa dijalankan dalam satu proses. Dengan OpenAI gpt-4o-mini, saat menangani 1.000 pelanggan secara bersamaan, RSS hanya 29MB dan jumlah error 0. Dengan konfigurasi yang sama di LangGraph, karena prosesnya per pelanggan, saya memperkirakan dibutuhkan sekitar puluhan GB.
-
Agen yang berevolusi sendiri - LLM melihat percakapan tiap pelanggan lalu menulis ulang
graph_def(JSON) milik pelanggan tersebut. Artinya, agen "mengubah bentuknya sendiri" sesuai perilaku pengguna.
Dan ini cepat.
| Framework | Overhead mesin (1 kali node) | Dibanding NeoGraph |
|---|---|---|
| NeoGraph | 5.0 µs | 1× |
| Haystack | 140 µs | 28× |
| LangGraph | 643 µs | 128× |
| LlamaIndex | 1,565 µs | 313× |
| AutoGen | 3,127 µs | 625× |
Tentu hasilnya bisa berbeda tergantung metode pengukuran, dan jika panggilan LLM sungguhan ikut terlibat, I/O eksternal akan lebih dominan sehingga kecepatan yang terasa bisa menjadi mirip.
Saya rasa angka dalam µs ini benar-benar bermakna terutama untuk kasus multi-tenant/edge ketika ribuan request masuk ke satu box.
GitHub: https://github.com/fox1245/NeoGraph
PyPI: https://pypi.org/project/neograph-engine/
Masukan sangat saya nantikan.
Belum ada komentar.