Jangan Perlakukan LangGraph Sebagai Chain yang Lebih Panjang
Berhentilah menganggap LangGraph sebagai LangChain dengan lebih banyak langkah. Kesalahan tersebut akan menyebabkan agent yang rusak.
LangGraph ditujukan untuk workflow yang membutuhkan state, percabangan (branches), pemanggilan tool, dan persetujuan manusia. Ini ditujukan untuk agent yang harus dapat pulih dari kesalahan tanpa harus memulai ulang.
Jika Anda menggunakannya, Anda harus menentukan tiga hal terlebih dahulu: state, interrupt, dan recovery.
Batasan Pertama: State Schema
Untuk satu prompt tunggal, batasannya adalah teks. Untuk LangGraph, batasannya adalah State schema. Anda harus memutuskan:
- Field mana yang berpindah antar node.
- Field mana yang diperbarui oleh sebuah node.
- Bagaimana cabang yang berjalan bersamaan (concurrent branches) menggabungkan nilai.
- Nilai mana yang masuk ke dalam checkpoint.
- Nilai mana yang tidak boleh disimpan secara permanen (persist).
Reducer sangatlah krusial di sini. Jika Anda tidak menetapkan aturan yang tepat untuk menambahkan (append) pesan, pekerjaan paralel Anda akan kehilangan data.
Mulailah dari yang kecil. Bangun sebuah graph dengan satu schema, satu node, dan satu reducer. Jika Anda tidak bisa membuatnya berhasil, menambahkan tool hanya akan menyembunyikan kesalahan Anda.
Batasan Runtime
Sebelum Anda memanggil compile(), graph Anda hanyalah sebuah deskripsi. Setelah compile(), runtime akan mengambil alih.
Saat sebuah graph gagal, jangan hanya melihat node-nya. Periksa empat hal ini:
- Apakah State schema mengizinkan node untuk menulis key tersebut?
- Apakah node mengembalikan field State yang valid?
- Apakah reducer menggabungkan data dengan benar?
- Apakah conditional edge memiliki jalur keluar (exit path)?
Human In The Loop
Jangan perlakukan persetujuan manusia sebagai fitur UI. Perlakukan itu sebagai kontrak graph.
Pola yang andal terlihat seperti ini:
- Model mengusulkan sebuah tool call.
- Graph memicu sebuah interrupt.
- Manusia menyetujui atau mengedit tindakan tersebut.
- Graph berlanjut dari titik yang tepat tersebut.
Ini membuat agent dapat dipulihkan (recoverable) alih-alih hanya bersifat reaktif.
Checklist Smoke Test Anda
Sebelum Anda masuk ke tahap produksi, jalankan tes ini:
- Gunakan direktori sementara tanpa data produksi.
- Tentukan State yang minimal.
- Tulis satu node yang hanya mengembalikan field yang valid.
- Gunakan reducer untuk tindakan append.
- Tambahkan satu interrupt sebelum tindakan tool.
- Tambahkan checkpointer.
- Paksa terjadinya kegagalan dan verifikasi perilaku resume.
Jika jalur ini gagal, jangan tambahkan lebih banyak tool. Masalahnya ada pada batasan runtime Anda.
LangGraph bukan untuk pemanggilan model sekali jalan (one-off). Gunakan saat AI Anda perlu melakukan pekerjaan multi-langkah yang dapat diperiksa (inspectable), dihentikan sementara (pausable), dan ditinjau (reviewable).
Komunitas pembelajaran opsional: https://t.me/GyaanSetuAi
