2 poin oleh jylkim 16 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp

Halo. Di dnotitia, tempat saya bergabung, kami sedang membuat AKB (Agent Knowledge Base), sebuah knowledge base tim yang langsung dibaca dan ditulis oleh agen AI saat bekerja.

Mengapa kami membuatnya?

Wiki untuk manusia seperti Confluence dan Notion sudah banyak. Di sisi agen juga ada alat serupa. mem0 menumpuk isi yang diambil dari percakapan sebagai memori pribadi, dan LLM Wiki membuat knowledge base pribadi yang bisa dibaca dan ditulis agen. Namun, kebanyakan tetap berhenti di level pribadi, sehingga sulit dibilang dirancang sebagai fondasi bersama yang dapat dibaca dan ditulis banyak orang.

Masalah serupa juga disorot oleh Open Knowledge Format (OKF) dari Google. Karena pengetahuan tersebar di berbagai tempat seperti wiki, katalog, dan kode, agen harus mengumpulkan kembali konteks setiap saat. Jadi yang dibutuhkan bukanlah satu layanan tertutup lagi, melainkan format bersama yang bisa dibaca dan ditulis oleh berbagai alat. Format yang diusulkan OKF sederhana. Cukup kumpulkan file Markdown dalam folder, lalu tambahkan beberapa baris YAML di bagian paling atas tiap file. Siapa yang membuat format ini, bagaimana cara membacanya, dan bagaimana memperluasnya, dibiarkan terbuka sebagai ranah masing-masing implementasi.

Apa yang dilakukan AKB?

AKB adalah infrastruktur yang mengimplementasikan format itu sebagai fondasi pengetahuan bersama tim. vault adalah kumpulan Markdown yang kompatibel dengan OKF, tetapi bukan sekadar indeks untuk dicari dan dibaca; ini adalah repositori bersama tempat manusia dan agen membaca dan menulis bersama pada sumber yang sama. Manusia mengaksesnya lewat web UI, agen lewat MCP. Namun sumber asli yang disentuh tetap satu. Saat agen mulai menulis, pertanyaan "apa yang berubah dan bagaimana perubahannya" juga menjadi penting. Karena vault adalah repositori Git, semua perubahan tersimpan sebagai commit dan diff.

Yang disimpan juga bukan hanya dokumen. Jika OKF adalah format untuk menuliskan pengetahuan dalam Markdown, maka AKB menambahkan tabel yang bisa di-query dan penyimpanan file ke vault yang sama, lalu menghubungkan dokumen satu sama lain dengan knowledge graph. Dokumen tetap menjadi pengetahuan yang dibaca manusia dan dirujuk agen, sementara data yang perlu ditangani secara terstruktur—seperti daftar, status, dan statistik—disimpan di tabel terpisah dan bisa di-query. Karena itu, hal-hal yang sulit dilakukan hanya dengan wiki untuk manusia atau pencarian saja, misalnya mengembangkan dan mengoperasikan aplikasi kerja di atas AKB dengan menjadikannya sebagai lapisan data dan riwayat perubahan, juga dimungkinkan.

Namun, untuk menjadi fondasi pengetahuan bersama tim, data dan riwayat saja tidak cukup. Format seperti OKF tidak menentukan siapa boleh melihat apa. Bagian yang paling kami curahkan perhatian di AKB adalah izin tersebut. Agen diautentikasi sebagai orang yang menerbitkan tokennya, dan mewarisi persis izin vault milik orang itu. Batas akses yang berlaku untuk manusia diterapkan sama persis ke agen. Batas ini ditegakkan dalam dua lapisan. Akses umum seperti dokumen, file, dan pencarian memeriksa izin di lapisan aplikasi. Jalur yang menjalankan SQL agregasi atau analisis ke tabel diblokir sekali lagi di lapisan DB. Karena query dijalankan dengan cara PG ACL menggunakan role PostgreSQL milik pengguna tersebut, jika mencoba merujuk vault di luar izinnya, yang menolak langsung adalah PostgreSQL, bukan aplikasinya.

Tim kami menggunakan issue tracker reef yang dibangun di atas infrastruktur AKB. Satu issue sekaligus merupakan dokumen Markdown di dalam vault dan baris tabel yang bisa di-query. Developer bekerja pada dokumen yang sama di dalam vault menggunakan agen coding seperti Claude Code dan Codex, sementara PM menggunakan agen khusus reef. PM dapat membuat issue berdasarkan konteks yang tersimpan di AKB tanpa perlu memahami sintaks spesifikasi untuk developer, dan developer bisa mengambil konteks lewat MCP tanpa harus menggali ulang penjelasan latar belakang yang tercecer. Kami merasakan langsung di tim bagaimana hambatan teknis dan bahasa antara developer dan PM berkurang ketika melalui agen.

Langsung coba lihat

Jika ingin langsung melihat tanpa instalasi, Anda bisa mengakses demo publik (akb-demo.agent.seahorse.dnotitia.ai). (Pendaftaran tetap diperlukan, tetapi karena ini untuk demo, semua data akan di-reset setiap minggu.)

Jika ingin menjalankannya sendiri, Anda bisa menyalakannya dengan Docker compose seperti di bawah lalu mengakses localhost:3000. Meski tanpa embedding key, pencarian berbasis kata kunci (BM25) tetap berfungsi.

git clone https://github.com/dnotitia/akb && cd akb  
cp config/app.yaml.example   config/app.yaml  
cp config/secret.yaml.example config/secret.yaml  
docker compose up -d  

Masih ada banyak kekurangan. Silakan coba jalankan; jika menemukan bug, hal aneh, atau punya kesan setelah mencobanya, kami akan sangat berterima kasih jika Anda meninggalkan komentar dengan santai.

Belum ada komentar.

Belum ada komentar.