Knowledge assistant berbasis AI bisa terlihat sangat pintar saat demo, tetapi kualitasnya langsung terasa buruk ketika sistem mengambil dokumen yang salah.
LLM mungkin mampu menyusun jawaban dengan rapi, namun jika konteks yang diterimanya tidak relevan, jawaban akhirnya tetap berisiko meleset.
Karena itu, Mengoptimalkan Vector Search menjadi bagian penting dalam pengembangan aplikasi knowledge assistant.
Fokusnya bukan sekadar mencari vector yang paling dekat, tetapi memastikan dokumen yang ditemukan benar-benar sesuai pertanyaan, masih berlaku, memiliki konteks cukup, dan layak diberikan kepada model untuk menyusun jawaban.
1. Mulai dari Kualitas Embedding, Bukan Vector Database
Vector search bekerja dengan mengubah teks menjadi representasi numerik atau embedding. Query pengguna juga diubah menjadi vector, kemudian sistem mencari vector dokumen yang posisinya paling dekat.
Artinya, kualitas representasi semantik sangat menentukan retrieval.
Jika embedding model kurang memahami bahasa, terminologi industri, atau karakter dokumen yang digunakan, mengganti vector database belum tentu menyelesaikan masalah. Pengujian embedding sebaiknya dilakukan menggunakan pertanyaan nyata dari calon pengguna.
Misalnya knowledge assistant digunakan perusahaan asuransi. Pertanyaan seperti “masa tunggu polis”, “waiting period”, dan “berapa lama klaim belum bisa diajukan?” idealnya menemukan informasi yang saling berkaitan walaupun menggunakan kata berbeda.
Google Cloud menjelaskan bahwa dense embedding digunakan untuk menemukan hasil berdasarkan kemiripan semantik, sedangkan sparse representation lebih berorientasi pada sintaks atau keyword.
Jadi, jangan memilih model embeding hanya karena dimensinya besar. Uji apakah representasinya benar-benar cocok dengan domain aplikasi.
2. Pastikan Chunk Membawa Konteks yang Cukup
Vector search sebenarnya tidak mencari keseluruhan dokumen. Dalam banyak sistem RAG, pencarian dilakukan terhadap potongan atau chunk.
Jika chunk terlalu kecil, hasilnya mungkin sangat spesifik tetapi kehilangan konteks. Jika terlalu besar, embedding mewakili terlalu banyak informasi sehingga topik utama menjadi kurang jelas.
Misalnya sebuah aturan perjalanan berbunyi bahwa hotel maksimal Rp1,5 juta per malam, tetapi ketentuan tersebut hanya berlaku untuk kota tertentu. Jika angka dan pengecualian terpisah ke chunk berbeda, knowledge assistant dapat memberikan jawaban yang salah.
OpenAI Vector Stores mendukung chunking otomatis maupun konfigurasi statis, termasuk pengaturan ukuran chunk dan overlap. Dokumentasinya menunjukkan bahwa strategi chunking merupakan bagian dari konfigurasi retrieval, bukan sekadar proses preprocessing yang bisa diabaikan.
Karena itu, optimasi vector search sebaiknya dilakukan bersama pengujian chunking strategy.
3. Gunakan Metadata untuk Mempersempit Ruang Pencarian
Similarity saja tidak selalu mampu membedakan dokumen yang relevan secara bisnis.
Bayangkan knowledge base memiliki kebijakan HR Indonesia, Singapura, dan Malaysia. Ketiganya membahas cuti tahunan dengan bahasa sangat mirip.
Jika pengguna berasal dari Indonesia, sistem seharusnya mencari hanya pada dokumen yang berlaku untuk Indonesia.
Metadata filtering memungkinkan sistem membatasi pencarian berdasarkan atribut seperti negara, departemen, produk, tanggal, versi dokumen, customer ID, atau jenis konten.
Pinecone mendokumentasikan metadata filter untuk membatasi pencarian hanya pada record yang memenuhi kondisi tertentu. Google Vertex AI Vector Search juga mendukung filtering berdasarkan atribut kategoris maupun numerik.
Pada knowledge assistant enterprise, metadata juga dapat digunakan bersama permission pengguna agar dokumen sensitif tidak ikut masuk ke candidate retrieval.
Dengan begitu, ruang pencarian menjadi lebih kecil sekaligus lebih relevan.
4. Gabungkan Vector Search dengan Keyword Search
Semantic search sangat kuat ketika pengguna dan dokumen menggunakan kata berbeda tetapi memiliki arti serupa. Namun ada situasi ketika exact matching jauh lebih penting.
Contohnya:
“Bagaimana mengatasi error XQ-772?”
Kode XQ-772 tidak membutuhkan interpretasi semantik yang rumit. Exact keyword matching justru dapat memberikan sinyal yang lebih kuat.
Karena itu, knowledge assistant modern sering memakai hybrid search yang menggabungkan lexical dan vector retrieval.
Azure AI Search menjalankan full-text dan vector query secara paralel lalu menggabungkan hasilnya menggunakan Reciprocal Rank Fusion atau RRF.
Microsoft juga menjelaskan bahwa kombinasi keyword search, vector search, dan semantic reranking dapat meningkatkan relevansi dibanding hanya mengandalkan satu metode.
Google Vertex AI Vector Search juga mendukung kombinasi dense dan sparse embedding untuk hybrid search.
Pendekatan ini sangat berguna untuk knowledge base yang banyak mengandung nama produk, nomor kebijakan, kode error, istilah teknis, dan jargon perusahaan.
5. Gunakan Reranking untuk Menentukan Kandidat Terbaik
Retriever tahap pertama biasanya dioptimalkan agar cepat mengambil kandidat yang kira-kira relevan. Hasil top-20 belum tentu sudah berada dalam urutan terbaik.
Di sinilah reranker bekerja.
Misalnya vector search mengambil 30 candidate chunks. Reranker membaca query dan kandidat tersebut secara lebih mendalam, lalu menempatkan lima chunk yang benar-benar paling relevan di posisi teratas.
Pinecone menjelaskan reranking sebagai retrieval dua tahap: pencarian pertama mengambil sejumlah kandidat, kemudian reranking model menilai kembali relevansi setiap kandidat terhadap query.
OpenAI Vector Stores juga menyediakan ranking options, termasuk ranker dan score threshold dalam pencarian.
Konsekuensinya tentu ada tambahan latency dan biaya. Jadi gunakan reranking terutama ketika peningkatan kualitasnya memang berarti bagi pengalaman pengguna.
6. Jangan Menganggap Top-K Semakin Besar Semakin Baik
Menaikkan top_k dapat meningkatkan peluang menemukan informasi yang benar, tetapi juga menambah noise.
Jika satu pertanyaan hanya memerlukan dua paragraf, mengirim 30 chunk kepada LLM kemungkinan berlebihan. Model harus memilah lebih banyak informasi, context window bertambah, dan biaya token ikut meningkat.
Sebaliknya, top-k terlalu kecil berisiko melewatkan bukti penting.
Solusinya adalah menguji beberapa candidate size. Misalnya bandingkan top-5, top-10, dan top-20 untuk mengetahui pada titik mana recall sudah cukup tinggi tetapi noise masih terkendali.
OpenAI mendukung konfigurasi jumlah maksimum hasil pencarian serta score threshold untuk menyaring kandidat berdasarkan tingkat relevansinya.
Threshold juga berguna untuk membuat sistem mengatakan “informasi tidak ditemukan” ketika tidak ada candidate yang cukup kuat.
Itu sering lebih baik daripada memaksa LLM menjawab dari konteks buruk.
7. Ukur Retrieval dengan Golden Dataset
Optimasi jangan dilakukan berdasarkan beberapa query yang dipilih developer.
Buat golden dataset berisi pertanyaan representatif, dokumen yang seharusnya ditemukan, serta expected answer jika diperlukan.
Kemudian ukur metrik seperti Recall@K, Precision@K, Mean Reciprocal Rank, atau hit rate.
Google Cloud mendefinisikan recall dalam vector search sebagai proporsi nearest neighbors sebenarnya yang berhasil ditemukan oleh index. Misalnya 19 dari 20 ground-truth neighbor ditemukan, recall-nya 95%.
Untuk knowledge assistant, konsep tersebut dapat diterjemahkan menjadi pertanyaan yang lebih praktis: “Apakah chunk yang diperlukan untuk menjawab pertanyaan berada di top-5 retrieval?”
Dengan golden dataset, perubahan embedding, chunking, metadata, reranker, atau konfigrasi hybrid search dapat dibandingkan secara objektif.
8. Evaluasi Retrieval dan Jawaban secara Terpisah
Ketika knowledge assistant menjawab salah, jangan langsung menyalahkan LLM.
Pertama, periksa hasil retrival. Apakah dokumen yang benar ditemukan?
Jika tidak, masalah berada pada search pipeline. Jika dokumen benar sudah tersedia tetapi jawaban masih salah, barulah fokus pada prompt, context assembly, atau model generation.
Pemisahan seperti ini membuat proses debugging jauh lebih cepat.
Tim juga dapat membuat dashboard yang menghubungkan query, retrieved chunks, score, jawaban, latency, dan feedback pengguna. Dari sana akan terlihat query mana yang sering gagal dan bagian pipeline mana yang perlu diperbaiki.
Mengoptimalkan Vector Search pada knowledge assistant membutuhkan kombinasi embedding berkualitas, chunking yang tepat, metadata filtering, hybrid search, reranking, dan evaluasi terukur.
Jangan hanya mengejar similarity score tertinggi. Bangun golden dataset, ukur retrieval secara rutin, lalu perbaiki pipeline berdasarkan kegagalan nyata agar knowledge assistant memberikan jawaban yang makin relevan dan dapat dipercaya.