Ringkasan
OptiCargo adalah proyek sistem pendukung keputusan untuk logistik maritim. Sistem ini menghubungkan informasi kargo, kapasitas kapal, rute pelayaran, permintaan, dan dokumen operasional agar pengguna dapat meninjau pilihan dengan konteks yang lebih lengkap.
Fokus pengembangannya adalah menyusun rekomendasi yang dapat dijelaskan: alasan kecocokan kargo dapat ditelusuri, batas operasional tetap diperiksa, dan informasi regulasi disertai rujukan. Keputusan transaksi tetap berada pada pengguna melalui layanan bisnis.
Latar belakang dan tujuan
Perencanaan pengiriman melibatkan informasi dari beberapa sumber. Kapal yang tersedia belum tentu memiliki kapasitas yang sesuai; rute yang memungkinkan belum tentu cocok dengan kebutuhan komoditas; dan keputusan tertentu memerlukan pemeriksaan aturan operasional.
OptiCargo menyatukan proses tersebut untuk mendukung:
- Pencarian kargo yang sesuai dengan konteks pelayaran.
- Peninjauan rute, kapasitas, lokasi, dan kandidat pemasok.
- Pencarian informasi operasional atau regulasi beserta dokumen pendukung.
- Analisis permintaan dan indikasi anomali untuk membantu peninjauan operator.
Arsitektur sistem
Gateway menjadi penghubung antara antarmuka pengguna dan layanan internal. Gateway menangani autentikasi, otorisasi bisnis, penyimpanan transaksi, booking, pembayaran, audit, dan hasil rekomendasi.
Komponen pendukungnya memiliki tanggung jawab terpisah:
- Agents dengan LangGraph: menentukan jenis kebutuhan dan mengoordinasikan langkah analisis.
- Knowledge graph dengan Neo4j: menyediakan konteks kapal, pelabuhan, rute, pelayaran, pemasok, dan komoditas.
- Layanan machine learning: menyediakan scoring kecocokan, peramalan permintaan, dan deteksi anomali.
- Pipeline RAG dengan Qdrant: mencari informasi pendukung pada dokumen yang telah diindeks.
- Redis dan penyimpanan objek: mendukung pemrosesan event, ingestion dokumen, dan pengelolaan artefak.
PostgreSQL mempertahankan data bisnis sebagai sumber utama. Graph merupakan representasi untuk kebutuhan pencarian dan analisis yang dapat dibangun kembali.
Alur analisis berdasarkan kebutuhan
Sistem memilih langkah sesuai jenis permintaan:
| Kebutuhan | Proses utama |
|---|---|
| Pencocokan kargo | Konteks graph, optimasi, pencarian bukti, dan penyusunan rekomendasi |
| Peninjauan rute | Konteks graph dan informasi pendukung |
| Informasi regulasi | Pencarian dokumen dan jawaban dengan rujukan |
| Analisis operasional | Pengambilan konteks graph dan penyusunan ringkasan |
| Permintaan belum jelas | Klarifikasi kebutuhan pengguna |
Alur kondisional ini membatasi pemanggilan layanan pada proses yang relevan. Hasil analisis dikembalikan ke Gateway untuk disimpan atau ditinjau lebih lanjut.
Pengelolaan data dan dokumen
Dokumen operasional melalui pemeriksaan checksum, parsing, pembagian teks, embedding, dan pengindeksan. Hasil pencarian mempertahankan identitas dokumen, judul, versi, halaman, dan kutipan yang mendukung jawaban.
Pembaruan graph menggunakan event dengan deduplikasi, percobaan ulang terbatas, serta penanganan event gagal. Rekonsiliasi membantu memeriksa kesesuaian representasi graph dengan data bisnis asal.
Pendekatan ini mendukung penelusuran rekomendasi dan mengurangi ketergantungan pada satu keluaran model yang tidak memiliki konteks pendukung.
Pengendalian rekomendasi
Batas wajib, seperti kecocokan kapasitas dan ketentuan operasional, diperiksa sebelum kandidat diberi peringkat. Model bahasa tidak dapat mengubah batas tersebut.
Jika layanan ML gagal, sistem dapat menggunakan heuristik yang ditandai dengan jelas. Ketika graph atau bukti regulasi yang diperlukan tidak tersedia, sistem mengembalikan keterbatasan analisis agar operator tidak menerima rekomendasi seolah-olah lengkap.
Booking dan pembayaran tetap memerlukan konfirmasi melalui Gateway. Layanan analisis tidak memperoleh kewenangan transaksi langsung.
Hasil pengembangan dan evaluasi
Pengembangan mencakup workflow kondisional, kontrak data antar layanan, graph untuk konteks operasional, ingestion dokumen, retrieval dengan rujukan, dan baseline machine learning.
Baseline ML awal menggunakan data sintetis. Hasilnya berguna untuk memeriksa pipeline dan perilaku model pada pola yang dirancang. Efektivitas pada operasi pelayaran nyata masih memerlukan data lapangan dan evaluasi terpisah.
Rancangan pengujian mencakup kontrak layanan, integrasi, ketahanan terhadap kegagalan dependency, kualitas retrieval, konsistensi rujukan, dan kepatuhan terhadap batas operasional.
Status dan pengembangan berikutnya
OptiCargo masih dalam pengembangan. Prioritas berikutnya adalah validasi dengan data operasional yang disetujui, kalibrasi rekomendasi per rute, pengujian bersama operator, serta pemantauan perubahan distribusi data.
Penerapan lapangan juga memerlukan peninjauan kualitas dokumen, kesiapan infrastruktur, dan evaluasi rekomendasi terhadap keputusan serta outcome nyata.
Kode dan dokumentasi
Fokus pengembangan
Fokus studi kasus mencakup orkestrasi layanan, konteks operasional berbasis graph, baseline machine learning, pencarian dengan rujukan, serta pemisahan analisis dari kewenangan transaksi.