# LangChain vs Membangun Orkestrasi LLM Sendiri: Kapan Menggunakan Masing-Masing

> Penilaian jujur tentang LangChain di 2025 — kapan menghemat waktu, kapan menghalangi, dan cara memutuskan apakah Anda membutuhkannya sama sekali.

URL: https://www.matthewswong.com/id/blog/langchain-vs-custom-llm/

- Author: Matthews Wong (https://www.matthewswong.com/id/about/)
- Published: 2025-06-10
- Updated: 2025-06-10
- Category: AI

Saya telah membangun aplikasi LLM dengan dua cara: menggunakan LangChain (dan LangGraph) sebagai lapisan orkestrasi, dan membangun orkestrasi kustom dari awal dengan panggilan API langsung. Aplikasi AI Gymbro fitness saya dimulai dengan LangChain dan ditulis ulang sebagai orkestrasi kustom enam minggu kemudian.

| Dimensi | LangChain / LangGraph | Orkestrasi Kustom |
| --- | --- | --- |
| Paling cocok untuk | Aplikasi multi-provider, prototipe RAG cepat | Alur kerja sederhana, 1-3 panggilan LLM per permintaan |
| Kecepatan setup | Pipeline RAG dalam sekitar 50 baris Python | Pipeline yang sama butuh sekitar 200 baris, lebih banyak kerja di awal |
| Debugging | Stack trace melewati 5 lapisan internal framework | Error langsung terlihat dari kode Anda sendiri |
| Beralih provider | Ganti OpenAI, Anthropic, Bedrock tanpa ubah kode | Setiap integrasi provider ditulis manual |
| Agent stateful yang kompleks | LangGraph menangani percabangan dan state multi-giliran dengan baik | Makin sulit dikelola begitu jumlah state bertambah |
| Kontrol token dan latensi | Lapisan abstraksi menambah overhead | Sekitar 30% lebih sedikit token, latensi sekitar 25% lebih rendah |
| Stabilitas versi | Perubahan breaking antar versi utama, pin dengan hati-hati | Tidak ada upgrade framework yang perlu dikelola |

## Apa Sebenarnya LangChain (dan Bukan)

LangChain adalah framework Python/JavaScript yang menyediakan abstraksi untuk pola LLM umum: chain (urutan panggilan LLM), agent (LLM + alat + loop), retrieval (integrasi vector store), dan memory (manajemen riwayat percakapan). Proposi nilai: LangChain memberi Anda antarmuka terpadu di berbagai provider LLM.

### Pajak Abstraksi

Setiap lapisan abstraksi menambahkan jarak debugging antara kode Anda dan API yang mendasarinya. Ketika chain LangChain gagal, Anda mendapatkan stack trace melalui 5 lapisan internal LangChain sebelum melihat error API yang sebenarnya. Saya menghabiskan 3 jam men-debug SequentialChain LangChain yang secara diam-diam menghapus output.

### Di Mana LangChain Benar-Benar Menghemat Waktu

LangChain bernilai untuk tiga kasus penggunaan: prototyping cepat (Anda bisa mendapatkan pipeline RAG yang berjalan dalam 50 baris Python), dukungan multi-provider (jika Anda benar-benar perlu beralih antara OpenAI, Anthropic, dan Bedrock tanpa perubahan kode), dan alur kerja agent stateful yang kompleks via LangGraph.

> Jika Anda menggunakan LangChain, integrasikan LangSmith dari hari pertama. Ini menangkap data trace lengkap — setiap panggilan LLM, setiap langkah chain, setiap jumlah token — dan membuat debugging jauh lebih mudah. Tier gratis cukup dermawan untuk pengembangan dan produksi skala kecil.

## Kapan Membangun Orkestrasi Kustom

Bangun orkestrasi kustom ketika: alur kerja Anda sederhana (1-3 panggilan LLM per permintaan pengguna); Anda membutuhkan kontrol tepat atas penggunaan token dan caching; Anda membutuhkan output streaming dengan perilaku UI tertentu; atau tim Anda lebih nyaman men-debug JavaScript/Python daripada internal framework.

### LangGraph untuk Alur Kerja yang Kompleks

LangGraph layak dipisahkan dari LangChain proper. Model alur kerja berbasis grafik (node adalah aksi, edge adalah transisi state) sangat berguna untuk alur kerja agent multi-langkah yang kompleks dengan jalur percabangan, eksekusi kondisional, dan state yang perlu bertahan di berbagai giliran.

> **Neraka Versioning LangChain**

> LangChain telah memiliki banyak perubahan breaking antara versi utama. Jika Anda membangun sistem produksi di LangChain, pin versi Anda secara ketat di requirements.txt dan anggaran waktu untuk pekerjaan migrasi versi setiap 6-12 bulan.

## Kerangka Keputusan

Gunakan LangChain/LangGraph jika: Anda membangun aplikasi RAG dan menginginkan iterasi cepat pada strategi retrieval; Anda membutuhkan dukungan multi-provider; Anda membangun alur kerja agent stateful yang kompleks; atau tim Anda sudah mengenal LangChain. Lewati LangChain jika: alur kerja Anda memiliki kurang dari 3 panggilan LLM; Anda membutuhkan kontrol token yang tepat; atau Anda membutuhkan kustomisasi streaming yang mendalam.

## Apa yang Akan Saya Lakukan Sekarang Jika Memulai dari Awal

Untuk proyek LLM baru di 2025, saya akan mulai dengan panggilan API langsung menggunakan SDK resmi Anthropic atau OpenAI (keduanya sangat baik), tambahkan LangSmith untuk observabilitas (ini berfungsi tanpa LangChain), dan perkenalkan LangGraph hanya jika kompleksitas alur kerja benar-benar memerlukannya.

## Faktor Ekosistem

Satu keunggulan nyata LangChain di 2025 adalah ekosistemnya: 600+ integrasi (vector store, document loader, alat), komunitas besar, dan LangSmith untuk observabilitas. Jika Anda perlu mengintegrasikan dengan database vektor tertentu, konektor bawaan LangChain menghemat waktu nyata.

## Sumber & Bacaan Lanjutan

- LangChain — Dokumentasi — https://python.langchain.com/docs/introduction/
- LangGraph — Dokumentasi — https://langchain-ai.github.io/langgraph/
- LangSmith — Observabilitas LLM — https://docs.smith.langchain.com/

## Source links

- https://python.langchain.com/docs/introduction/
- https://langchain-ai.github.io/langgraph/
- https://docs.smith.langchain.com/

## FAQ

### Apa trade-off utama antara menggunakan LangChain dan membangun orkestrasi LLM sendiri?

LangChain mempercepat prototyping — pipeline RAG bisa berjalan dalam 50 baris Python dibanding 200+ baris kode kustom — namun setiap lapisan abstraksi menambah jarak debugging dari API yang mendasarinya. Saat terjadi error, Anda akan melihat stack trace melalui 5 lapisan internal LangChain sebelum menemukan error API yang sebenarnya, sehingga bug sederhana bisa berubah menjadi investigasi berjam-jam.

### Kapan sebaiknya melewati LangChain dan langsung memanggil API secara manual?

Lewati LangChain jika alur kerja Anda memiliki kurang dari 3 panggilan LLM per permintaan pengguna, jika Anda membutuhkan kontrol tepat atas penggunaan token dan caching, atau jika output streaming dengan perilaku UI tertentu diperlukan. Dalam kasus ini, biaya abstraksi melebihi kemudahannya, dan panggilan langsung menggunakan SDK resmi Anthropic atau OpenAI lebih mudah di-debug dan dipelihara.

### Apakah LangGraph tetap layak digunakan meski Anda menghindari LangChain?

Ya — artikel ini memisahkan LangGraph dari LangChain proper. Model berbasis grafik (node sebagai aksi, edge sebagai transisi state) sangat berguna untuk alur kerja agent multi-langkah yang kompleks dengan jalur percabangan, eksekusi kondisional, dan state yang harus bertahan di berbagai giliran, bahkan jika Anda lebih memilih orkestrasi kustom untuk bagian lainnya.

### Apa yang direkomendasikan artikel ini untuk observabilitas saat membangun aplikasi LLM?

Artikel ini merekomendasikan integrasi LangSmith sejak hari pertama, terlepas dari apakah Anda menggunakan LangChain. LangSmith menangkap data trace lengkap — setiap panggilan LLM, setiap langkah chain, setiap jumlah token — dan tier gratisnya cukup untuk pengembangan dan produksi skala kecil. Yang penting, LangSmith bekerja tanpa LangChain sehingga bisa menambahkan observabilitas pada pipeline kustom sekalipun.

### Bagaimana tim harus menangani perubahan breaking LangChain yang sering terjadi di produksi?

Pin versi secara ketat di requirements.txt dan alokasikan waktu khusus untuk migrasi versi setiap 6–12 bulan. Artikel ini memperingatkan bahwa LangChain telah memiliki banyak perubahan breaking antara versi utama, dan bahwa tim bisa kehilangan waktu berhari-hari karena masalah upgrade, sehingga disiplin versi dan jendela migrasi yang terencana sangat penting untuk sistem produksi.

---

- HTML version: https://www.matthewswong.com/id/blog/langchain-vs-custom-llm/
- English: https://www.matthewswong.com/en/blog/langchain-vs-custom-llm/
- Site index for agents: https://www.matthewswong.com/llms.txt
- Sitemap: https://www.matthewswong.com/sitemap.xml
- API description (OpenAPI): https://www.matthewswong.com/openapi.json
