MCP v1.0.0-027: Self-Learning Semantic RAG & Docs-as-Code Ontology
Implementasi K-V Prompt Caching menggunakan DATABASE_ONTOLOGY.md untuk mencegah halusinasi SQL, dilengkapi dengan fitur belajar mandiri (Tenant-Aware Semantic Dictionary) melalui vibes_memory.
Pada log sebelumnya, ditemukan bahwa prompt engineering berbasis teks mentah (Text-to-SQL) sering mengalami halusinasi saat menghadapi relasi antar tabel (seperti menghubungkan transaksi dengan supplier melalui log inventaris). Hal ini karena AI tidak secara inheren mengetahui “aturan fisik” database jika tidak diberikan struktur relasional yang matematis.
Kami mengekstrak seluruh 38 tabel dari database fisik PostgreSQL dan mengubahnya menjadi UML Class Diagram (Sintaks Mermaid). Dokumen ini menjadi Single Source of Truth bagi AI maupun tim pengembang.
- Mengapa UML? Format ini sangat hemat token dan secara matematis menunjuk relasi PK/FK tanpa ambiguitas bahasa manusia.
- Prompt Caching: Untuk mengatasi latensi, teks Markdown ini dimuat sekali ke RAM Node.js saat server menyala, lalu dikirim sebagai System Prompt agar dikunci oleh K-V Cache (VRAM AI). AI langsung memilikinya di “Insting Bawaan” tanpa membaca ulang disk.
Dokumen statis saja tidak cukup untuk menampung ratusan bahasa gaul atau istilah unik setiap toko (Multi-Tenant).
- Solusi: Kami membangun fitur RAG menggunakan tabel
vibes_memory. - Di dalam
dynamicSqlEngine.ts, sebelum SQL dibuat, sistem akan melakukan query untuk menarik Semantic Rules miliktenant_idyang sedang aktif.
Kami telah membuat fungsi learnSemanticRule di semanticMemoryTool.ts. Ketika user memberikan koreksi di antarmuka chat (Misal: “BOS itu supplier khusus BOS”), agent (VibeCopilot) dapat memanggil alat ini untuk mencatat aturan tersebut ke dalam vibes_memory milik tenant tersebut.
AI kini beroperasi dengan:
- 0 Halusinasi Relasi berkat panduan UML.
- Konteks Istilah Fleksibel berkat injeksi dinamis dari
vibes_memory. - Isolasi Data Aman (Toko A tidak terpengaruh kosakata Toko B).