Satu tempat untuk menetapkan fakta yang berlaku
Tanpa sistem pencatatan, agen bekerja dari apa pun yang kebetulan diingatnya: sebagian sesi terakhir, catatan yang disimpan alatnya, atau tidak ada apa-apa. Dengan catatan, agen membaca apa yang disimpan, dari sumber mana asalnya, dan apa yang berlaku kini, sehingga agen yang Anda hubungkan dapat mengikuti satu jawaban.
Poin-poin penting
- Fakta yang berubah, seperti tanggal jatuh tempo yang digeser oleh email belakangan, membuat agen di alat berbeda memberikan jawaban berbeda.
- Pengambilan informasi menemukan materi terkait, tetapi tidak menentukan sumber mana yang mencerminkan keadaan terkini.
- Neotoma menyimpan setiap penulisan sebagai observasi yang terhubung ke sumbernya, dan aturan penggabungan per bidang menghitung nilai yang berlaku.
- Setiap bidang yang berlaku menyebut observasi dan sumber yang menetapkannya, dan entitas dapat dibaca sebagaimana tercatat pada waktu sebelumnya.
- Arah pengembangan ialah sistem pencatatan menyeluruh yang dikelola bersama manusia dan agen, dengan kewenangan per ranah, perbedaan pendapat yang dinyatakan jelas, dan penjelasan tentang alasan suatu nilai berlaku sebagai kemampuan yang direncanakan.
Ketika beberapa agen bekerja dari fakta yang sama, fakta itu berubah, dan para agen tidak semuanya mengetahui perubahan tersebut pada saat yang sama. Tanggal jatuh tempo memperlihatkan masalah ini dengan jelas.
Misalkan faktur INV-2041 menyebut pembayaran jatuh tempo pada 22 Oktober, lalu email yang dikirim belakangan oleh pemasok menggeser tanggalnya ke 29 Oktober. Satu agen membaca faktur, agen lain membaca email, dan agen ketiga menyiapkan pembayaran minggu itu berdasarkan apa pun yang ditemukannya. Agen pertama menjawab 22 Oktober, agen kedua menjawab 29 Oktober, dan agen ketiga menjawab tanggal mana pun yang ia temukan lebih dulu. Tidak ada yang menentukan tanggal mana yang berlaku dalam susunan ini, sehingga orang yang mengelola para agen harus memeriksanya sendiri.
Contoh faktur khusus ini saya karang, tetapi susunan di baliknya nyata. Saya menjalankan agen di tiga alat dengan satu instans Neotoma. Sebuah proses pemantau email menyimpan pesan masuk beserta sumbernya dan mengubah pesan yang perlu ditindaklanjuti menjadi tugas; sesi di Claude Code, Codex, dan Cursor mengambil tugas dan rencana yang sama. Susunan itulah, bersama pekerjaan saya membangun Neotoma sebagai sistem pencatatan yang menyeluruh, yang melahirkan esai ini.
Mengingat berguna untuk pekerjaan lain
Pengambilan informasi menemukan materi yang tampaknya berkaitan dengan sebuah pertanyaan. Indeks vektor atau riwayat percakapan yang panjang melakukan ini dengan baik, dan untuk banyak tugas hal itu sudah cukup. Namun, keduanya tidak menentukan mana yang berlaku. Tanyakan tanggal jatuh tempo, dan sistem pengambilan akan mengembalikan faktur serta email yang diurutkan menurut kemiripannya dengan pertanyaan, bukan menurut mana yang terkini.
Semakin banyak alat dan lingkungan agen, semakin sulit persoalannya. Satu agen menyimpan catatan dalam berkas Markdown, agen lain menyimpan apa yang dipelajarinya di produk percakapannya, dan agen ketiga membaca folder bersama. Setiap salinan benar saat dibuat. Ketika faktanya berubah, salinan itu berubah pada waktu yang berbeda, atau tidak berubah sama sekali. Tidak ada agen yang dapat menanyakan salinan mana yang harus diikuti karena tidak ada tempat yang dapat menjawabnya. Sistem pencatatan harus berada di luar masing-masing alat itu, di satu tempat yang dapat dijangkau semuanya.
Pada awal tahun ini, saya menyebut Neotoma lapisan memori dan lapisan kebenaran. Saya berhenti karena kemudian menyadari bahwa memori adalah kategori yang keliru bagi Neotoma: istilah itu membingungkan, dan orang terus membandingkan Neotoma dengan produk memori. Yang saya perlukan untuk disimpan agen adalah data yang tepat tentang beragam hal, dalam bentuk yang dapat diaudit. Nama sederhana untuk tempat penyimpanannya adalah sistem pencatatan.
Itulah yang saya maksud dengan sistem pencatatan: sistem itu menunjukkan apa yang berlaku sekarang, dari mana asalnya, dan apa yang digantikannya. Pencarian berdasarkan kemiripan tidak dapat menjawab pertanyaan tersebut karena kemiripan tidak menjelaskan waktu maupun sumber.
Apa yang dilakukan Neotoma saat ini
Saya membangun Neotoma, sistem pencatatan untuk agen AI. Kodenya terbuka dengan lisensi MIT dan berjalan secara lokal, dalam direktori data pilihan Anda. Uraian berikut menjelaskan kemampuan paket yang sudah diterbitkan saat ini (versi 0.25.0 di npm).
Setiap penulisan disimpan sebagai observasi baru yang terhubung ke sumber asalnya. Nilai baru ditambahkan di samping nilai lama, bukan menimpanya. Neotoma dapat menyimpan PDF atau email asli bersama entitas terstruktur yang diturunkan darinya, sambil menjaga hubungan observasi dengan sumbernya.
Observasi dimiliki oleh entitas. ID sebuah entitas diturunkan dari jenis entitas dan bidang-bidang pengenalnya. Dalam instans yang sama dan dengan aturan identitas yang sama, nilai pengenal yang sama secara deterministik menghasilkan ID yang sama. Karena itu, dua agen yang menyimpan faktur yang sama menulis ke entitas yang sama.
Entitas juga dapat dihubungkan satu sama lain: faktur dengan pemasoknya, atau tugas tindak lanjut dengan faktur terkait. Agen membuat hubungan itu secara eksplisit. Hubungan tersebut menjelaskan keterkaitan antarcatatan, sedangkan tautan sumber menunjukkan PDF atau email di balik suatu observasi.
Neotoma secara otomatis menerapkan aturan penggabungan skema untuk setiap bidang guna menghitung nilai yang berlaku dari observasi. Pada sebagian besar bidang, observasi terbaru yang menang. Dengan observasi dan aturan penggabungan yang sama, proses reduksi menghasilkan potret keadaan yang sama, tanpa meminta model memilih ulang setiap kali data dibaca.
Setiap bidang yang berlaku menyebut observasi yang menetapkannya, dan observasi yang disimpan menyebut sumbernya. Itu adalah jejak menuju bukti, bukan bukti bahwa agen membaca bukti tersebut dengan benar. Koreksi merupakan observasi baru, bukan pengeditan, dan nilai terdahulu tetap tercantum. Anda juga dapat membaca suatu entitas sebagaimana dicatat Neotoma pada waktu sebelumnya.
Kembali ke faktur: penulisan kedua agen masuk ke satu entitas. Tanggal jatuh tempo kini terbaca 29 Oktober dan menunjuk ke observasi dari email. Jumlah pembayaran masih menunjuk ke observasi pertama karena tidak berubah. Agen pembayaran membaca 29 Oktober, sementara observasi 22 Oktober tetap tercantum beserta sumbernya.
Agen mengakses Neotoma melalui server MCP, API REST, dan CLI. Panduan instalasi menjelaskan cara menghubungkan alat dan lingkungan agen yang didukung. Arahkan setiap alat ke instans dan profil data yang sama, atau ke entri MCP yang sama, agar catatan dapat dibagikan; entri yang terpisah dapat memakai basis data yang terpisah.
Orang dapat memeriksa catatannya dalam aplikasi Neotoma yang disertakan.
Sebuah permintaan bertanda tangan yang diterima dapat menetapkan identitas agen yang terverifikasi. Izin aktif dengan cakupan tertentu menentukan tindakan yang diizinkan; tanda tangan saja tidak memberikan izin.
Arah pengembangan
Sejauh ini saya menggambarkan sistem pencatatan yang menetapkan fakta yang berlaku bagi agen. Arah yang dituju ialah sistem pencatatan yang dikelola bersama oleh manusia dan agen, tempat siapa pun dapat menanyakan nilai mana yang berlaku, sumber mana yang memperkenalkannya, apakah nilai itu diamati, disimpulkan, atau diputuskan, siapa yang berwenang mengoreksinya, dan agen mana yang mengandalkan versi sebelumnya. Kemampuan tata kelola yang direncanakan melampaui identitas bertanda tangan, izin bercakupan, dan aplikasi yang tersedia saat ini:
- Menetapkan penanggung jawab yang jelas untuk setiap ranah, dengan kewenangan mengoreksi catatan yang dibatasi pada ranah tersebut.
- Mewakili klaim yang saling bersaing, perselisihan yang belum selesai, dan posisi resmi secara eksplisit.
- Menunjukkan alasan suatu nilai berlaku, kewenangan yang mendasarinya, dan hal-hal yang akan terpengaruh jika nilai itu berubah.
Ateles memperluas arah ini pada sisi operasional. Dalam rancangan adaptor Ateles, adaptor membawa informasi dari sistem seperti email, kalender, dan penyedia hosting kode ke Neotoma, lalu membawa tindakan yang diizinkan kembali ke sistem-sistem itu. Neotoma menyimpan catatan; alat-alat yang terhubung melakukan pekerjaannya.
Visi lengkap beserta status masing-masing bagiannya saat ini ada di README.
Sistem pencatatan, bukan sekadar pengambilan
Jawabannya bukan indeks yang lebih baik. Pengambilan informasi membantu agen menemukan apa yang pernah dikatakan. Sistem pencatatan memberi tahu apa yang berlaku saat ini. Agen yang bekerja di beberapa alat membutuhkan fungsi kedua, di satu tempat yang dapat dijangkau semuanya. Namun sistem pencatatan hanya membantu bila agen menulis ke dalamnya dan membaca darinya.
Jika Anda menggunakan agen di lebih dari satu alat atau lingkungan, mulailah dari satu alur kerja yang fakta dan entitasnya saling terkait:
npm install -g neotoma
neotoma init
neotoma setup --tool claude-codeGunakan opsi penyiapan untuk alat atau lingkungan Anda; panduan instalasi menjelaskan integrasi lain yang didukung. Kemudian simpan fakta dan entitas yang saling terkait dari satu agen, lalu bacalah dari agen lain yang terhubung ke instans terkonfigurasi dan profil data atau entri MCP yang sama.
Panduan instalasi tersedia di neotoma.io/install. Kode dan pelacak masalah tersedia di GitHub pada github.com/markmhendrickson/neotoma.