8 poin oleh GN⁺ 2025-04-09 | Belum ada komentar. | Bagikan ke WhatsApp
  • Qodo adalah tim yang telah mengembangkan alat bantu coding AI sejak era GPT-3, dan baru-baru ini memilih framework LangGraph untuk membuat coding agent yang lebih fleksibel dan dinamis
  • Dokumen ini menjelaskan bagaimana LangGraph dapat sekaligus memenuhi fleksibilitas alur pengembangan dan standar kualitas kode

Peralihan dari pendekatan terstruktur awal ke LangGraph

  • Pada masa awal berbasis GPT-3, fokus utamanya adalah tugas-tugas terstruktur dengan alur yang jelas seperti pembuatan tes, code review, dan pekerjaan perbaikan
  • Setelah Claude Sonnet 3.5, performa LLM meningkat pesat sehingga desain agent yang lebih dinamis menjadi mungkin
  • Sebelumnya hanya workflow yang terstandarisasi yang memungkinkan, tetapi dengan memanfaatkan model baru mereka ingin mengembangkan sistem yang dapat merespons permintaan pengguna secara fleksibel
  • Dalam proses mencari framework yang memungkinkan eksperimen dan validasi cepat, mereka memilih LangGraph, dan ternyata framework ini dapat diperluas dari proof of concept awal hingga produk nyata

Fleksibilitas dan aturan yang jelas dapat hidup berdampingan

  • LangGraph menyediakan struktur graf berbasis state machine
  • Setiap node menangani tahap individual dalam workflow (pengumpulan konteks, perencanaan, eksekusi, verifikasi, dan sebagainya), sedangkan edge mendefinisikan aturan transisi antar tahap
  • Tingkat fleksibilitas atau keterstrukturan workflow berubah sesuai kepadatan edge
    • Graf jarang → alur tetap dan dapat diprediksi
    • Graf padat → alur dinamis dan memungkinkan berbagai pilihan jalur
  • Kelebihan LangGraph adalah tingkat keterstrukturan workflow dapat dengan mudah disesuaikan ulang seiring perkembangan model
  • Alur utamanya memiliki struktur berikut:
    • pengumpulan konteks → perencanaan tugas → eksekusi kode → verifikasi hasil → ulangi jika gagal

Antarmuka yang ringkas dan intuitif

  • LangGraph memungkinkan workflow didefinisikan secara deklaratif sehingga kodenya hampir terasa seperti membaca dokumentasi
  • Cara kerjanya adalah dengan mendeklarasikan state graph lalu menambahkan node dan edge
  • Alur bersyarat juga mudah diimplementasikan (misalnya: jika verifikasi gagal, kembali loop ke node eksekusi)
  • Berbeda dari abstraksi LangChain yang kompleks, LangGraph memiliki struktur yang memperlihatkan logikanya sehingga pengalaman pengembang terasa lebih baik

Reusabilitas lintas berbagai workflow

  • Berkat struktur berbasis node, komponen mudah digunakan ulang
    • Contoh: node pengumpulan konteks dan node verifikasi dipakai berulang kali di sebagian besar flow
  • Saat membuat alur baru yang lebih khusus (seperti TDD), node yang ada dapat disambungkan kembali untuk memperluas sistem dengan cepat

Fitur manajemen state bawaan

  • LangGraph menyediakan penyimpanan state secara bawaan sehingga implementasi persistensi menjadi sangat sederhana
    • Contoh: fitur checkpointing melalui Postgres dapat dikonfigurasi hanya dengan beberapa baris kode
  • Seluruh state seperti konteks yang dikumpulkan, rencana, dan hasil eksekusi dapat disimpan, serta fitur branch dan rollback juga didukung
  • Metode lain seperti SQLite dan in-memory juga mudah dipertukarkan

Bagian yang masih perlu ditingkatkan

  • Karena ini adalah framework yang berkembang cepat, dokumentasinya kadang belum lengkap atau pembaruannya terlambat
    • Untungnya, komunikasi dengan para maintainer melalui Slack berlangsung cepat dan proaktif
  • Pengujian untuk sistem LLM yang nondeterministik masih menjadi tantangan
    • Untuk agent yang berinteraksi dengan IDE, sulit membangun lingkungan pengujian otomatis
    • Beberapa fitur IDE sangat sulit untuk di-mock sehingga harus bergantung pada pengujian manual, dan ini memperlambat kecepatan iterasi
  • Framework yang matang sering menyediakan infrastruktur pengujian dan mocking, dan diharapkan LangGraph juga berkembang ke arah tersebut

Belum ada komentar.

Belum ada komentar.