DEV Community

Cover image for Cara Memberi Memori Manusia pada AI dengan Supermemory
Walse
Walse

Posted on • Originally published at apidog.com

Cara Memberi Memori Manusia pada AI dengan Supermemory

TL;DR / Jawaban Singkat

Supermemory menyediakan lapisan memori dan konteks untuk aplikasi AI. Namun, sistem memori lebih sulit di-debug dibandingkan API CRUD biasa. Untuk workflow yang andal, uji jalur penyerapan, profil, dan pencarian Supermemory secara langsung; gunakan containerTag yang terisolasi per user/proyek; serta verifikasi perilaku asinkron sebelum mempercayai hasil yang tampil di klien atau agen MCP.

Coba Apidog sekarang

Pendahuluan

Bug pada memori AI seringkali tidak tampak seperti bug API biasa. Permintaan bisa sukses, namun agen menyimpan fakta yang salah, profil pengguna kosong, atau pencarian menghasilkan noise di produksi. Masalah biasanya tersembunyi di balik SDK, klien MCP, dan prompt.

supermemory menawarkan lapisan memori dan konteks untuk AI: ekstraksi memori, profil pengguna, pencarian hibrida, konektor, pemrosesan file, dan server MCP untuk klien seperti Cursor, Claude Code, VS Code, Windsurf, dan Claude Desktop. Repo menyediakan metode seperti client.add(), client.profile(), client.search.memories(), serta API endpoint seperti POST /v3/documents, POST /v3/search, dan POST /v4/profile.

Penting untuk memisahkan kebutuhan aplikasi: bukan hanya “memori”, tapi juga kemampuan memeriksa apa yang diserap, bagaimana dikelompokkan, apa hasil profil, dan apakah query pencarian menarik konteks yang benar.

💡 Tips: Gunakan alat alur kerja API bersama untuk menyimpan autentikasi dan nilai containerTag di environment, menyimpan permintaan, menambahkan assertion, dan membuat workflow memori yang dapat diulang oleh seluruh tim. Apidog adalah cara praktis untuk itu tanpa membangun kerangka pengujian sendiri.

Mengapa API Memori AI Lebih Sulit Di-debug Daripada API Standar

Bug API biasa terlihat jelas—respons salah, kode status error, atau permintaan tidak sampai.

Supermemory diagram

Pada sistem memori, Anda bisa tetap mendapat 200 OK tapi perilaku salah. Pertanyaannya bukan sekadar “berhasil?”, tapi:

  • Apakah konten yang tepat diserap?
  • Apakah dikaitkan dengan user/proyek yang benar?
  • Apakah ekstraksi profil selesai sebelum permintaan berikutnya?
  • Apakah query pencarian menggunakan mode dan threshold yang tepat?
  • Apakah fakta baru menimpa yang lama?
  • Apakah klien MCP memakai batasan konteks yang sama?

Supermemory terdiri dari banyak komponen: ekstraksi memori, profil, pencarian hibrida, konektor (Google Drive, Gmail, Notion, OneDrive, GitHub, web crawling), file (PDF, gambar, video, kode), dan MCP server. Debugging berarti mengecek status, waktu, dan kualitas pengambilan sekaligus.

Alur masalah biasanya seperti ini:

Aplikasi/Klien MCP -> Penyerapan Supermemory -> Update ekstraksi/profil -> Panggilan pencarian/profil -> Prompt agen -> Jawaban user
Enter fullscreen mode Exit fullscreen mode

Jika hanya menguji dari layer chat, Anda tidak tahu di mana error. Uji tiap tahapan dengan workflow API untuk isolasi bug yang presisi.

Apa yang Supermemory Berikan “Out of the Box”

Repo supermemory memaparkan fitur utama untuk developer:

  • client.add() untuk menyimpan konten
  • client.profile() untuk mengambil profil user dan hasil pencarian opsional
  • client.search.memories() untuk pencarian hibrida
  • Upload dokumen
  • Integrasi framework (Vercel AI SDK, LangChain, LangGraph, OpenAI Agents SDK, Mastra, Agno, n8n)
  • Endpoint MCP untuk asisten seperti Claude, Cursor, VS Code

API REST dibagi per versi dan kapabilitas:

  • POST /v3/documents — penyerapan konten
  • POST /v3/search — pencarian
  • POST /v4/profile — pengambilan profil
  • POST /v3/documents/file — upload file

Fokus debugging pertama: kunci workflow yang dipakai aplikasi Anda.

Umumnya, workflow dasarnya adalah:

  1. Kirim konten ke Supermemory
  2. Query profil atau pencarian dengan scope user/proyek yang konsisten
  3. Konfirmasi apa output yang diterima aplikasi/agen

Jika tiga langkah itu belum bisa diulang dengan input/output sama, produk AI Anda masih prototipe.

Bangun Alur Kerja Uji Supermemory yang Andal

Mulai uji Supermemory langsung sebelum membuat wrapper, chat UI, atau orchestrator sendiri.

Langkah 1: Tentukan Strategi Cakupan

containerTag/containerTags adalah keputusan desain utama. Disarankan:

  • Satu tag untuk user, misal: user_123
  • Satu tag untuk proyek, misal: project_alpha
  • Pisahkan nilai staging vs produksi

Jika salah, hasil pencarian & profil bisa tercampur.

Langkah 2: Serap Fakta yang Diketahui

Mulai dari payload kecil dan jelas. Jangan upload PDF besar dulu.

Contoh request:

curl https://api.supermemory.ai/v3/documents \
 --request POST \
 --header "Authorization: Bearer $SUPERMEMORY_API_KEY" \
 --header "Content-Type: application/json" \
 --data '{
   "content": "User prefers TypeScript, ships API backends, and is debugging rate limits this week.",
   "containerTags": ["user_123", "project_alpha"],
   "customId": "session-001",
   "metadata": {
     "source": "support_chat",
     "team": "platform"
   }
 }'
Enter fullscreen mode Exit fullscreen mode

Pastikan semua field sengaja diisi—fakta, scope, metadata.

Langkah 3: Query Profil Setelah Penyerapan

Endpoint profil mengembalikan ringkasan user, bukan sekadar pencarian mentah.

curl https://api.supermemory.ai/v4/profile \
 --request POST \
 --header "Authorization: Bearer $SUPERMEMORY_API_KEY" \
 --header "Content-Type: application/json" \
 --data '{
   "containerTag": "user_123",
   "q": "What stack does this user prefer?"
 }'
Enter fullscreen mode Exit fullscreen mode

Respons umumnya berisi:

  • profile.static
  • profile.dynamic
  • searchResults

Pastikan tim Anda memeriksa bentuk respons ini sebelum menganggap memori bekerja.

Langkah 4: Uji Pencarian Secara Terpisah

Pencarian ≠ profil. Jika aplikasi Anda mengandalkan retrieval untuk grounding/jawaban, uji secara independen.

curl https://api.supermemory.ai/v3/search \
 --request POST \
 --header "Authorization: Bearer $SUPERMEMORY_API_KEY" \
 --header "Content-Type: application/json" \
 --data '{
   "q": "What is the user working on?",
   "containerTag": "user_123",
   "searchMode": "hybrid",
   "limit": 5
 }'
Enter fullscreen mode Exit fullscreen mode

Gunakan searchMode: "hybrid" untuk menggabungkan memori & dokumen. Default yang baik untuk produk asisten AI.

Langkah 5: Periksa Asumsi Asinkron

Penyerapan dokumen/file di Supermemory asinkron. Permintaan kedua bisa terlalu cepat walau yang pertama sukses.

Contoh bug umum:

  1. Serap konten
  2. Query profil segera
  3. Hasil tipis/tidak lengkap
  4. Salah menuduh engine memori

Solusi: tambahkan delay/polling pada step workflow yang asinkron.

Ubah Supermemory Menjadi Alur Kerja Uji yang Dapat Diulang

Alat API workflow bersama seperti Apidog memberikan benefit pengulangan, assertion, dan dokumentasi—lebih dari sekadar cURL.

Langkah 1: Buat Environment Supermemory

Definisikan variabel environment:

base_url = https://api.supermemory.ai
supermemory_api_key = sm_your_api_key
user_tag = user_123
project_tag = project_alpha
custom_id = session-001
Enter fullscreen mode Exit fullscreen mode

Memudahkan switching user/proyek tanpa edit manual request.

Langkah 2: Buat Permintaan Penyerapan

Request:

  • Method: POST
  • URL: {{base_url}}/v3/documents
  • Header: Authorization: Bearer {{supermemory_api_key}}
  • Header: Content-Type: application/json

Body:

{
  "content": "User prefers TypeScript, ships API backends, and is debugging rate limits this week.",
  "containerTags": ["{{user_tag}}", "{{project_tag}}"],
  "customId": "{{custom_id}}",
  "metadata": {
    "source": "api_workflow_test"
  }
}
Enter fullscreen mode Exit fullscreen mode

Tambahkan assertion:

pm.test("Status is success", function () {
  pm.expect(pm.response.code).to.be.oneOf([200, 201, 202]);
});

pm.test("Response contains memory id", function () {
  const json = pm.response.json();
  pm.expect(json.id).to.exist;
});
Enter fullscreen mode Exit fullscreen mode

Jika respons queued, artinya proses asinkron—atur workflow agar aware akan itu.

Langkah 3: Buat Permintaan Profil

Request:

  • Method: POST
  • URL: {{base_url}}/v4/profile

Body:

{
  "containerTag": "{{user_tag}}",
  "q": "What stack does this user prefer?"
}
Enter fullscreen mode Exit fullscreen mode

Assertion:

pm.test("Profile payload exists", function () {
  const json = pm.response.json();
  pm.expect(json.profile).to.exist;
});

pm.test("Static or dynamic profile content returned", function () {
  const json = pm.response.json();
  const staticItems = json.profile?.static || [];
  const dynamicItems = json.profile?.dynamic || [];
  pm.expect(staticItems.length + dynamicItems.length).to.be.above(0);
});
Enter fullscreen mode Exit fullscreen mode

Ini membantu memisahkan: penyerapan gagal, proses belum selesai, atau query/scope salah.

Langkah 4: Buat Permintaan Pencarian

Body:

{
  "q": "What is the user debugging?",
  "containerTag": "{{user_tag}}",
  "searchMode": "hybrid",
  "limit": 5
}
Enter fullscreen mode Exit fullscreen mode

Cek:

  • Waktu respons sesuai target
  • Ada hasil yang dikembalikan
  • Topik hasil sesuai harapan
  • Scope benar (tidak bocor ke user lain)

Bandingkan permintaan dengan searchMode berbeda, containerTag berbeda, threshold, dan tipe query untuk validasi penuh.

Langkah 5: Ubah Permintaan Menjadi Skenario

Buat skenario uji:

  1. Tambah konten
  2. Tunggu jika asinkron
  3. Query profil
  4. Query pencarian
  5. Pastikan profil & hasil pencarian mencerminkan fakta baru

Ini jadi regression test reusable untuk perilaku memori, bukan sekadar endpoint up.

Langkah 6: Dokumentasikan Workflow ke Tim

Bug memori sering menyeberang tim. Publikasikan workflow di Apidog agar semua pihak bisa cek:

  • Permintaan penyerapan
  • Batas scope (user/proyek)
  • Bentuk respons profil
  • Bentuk hasil pencarian
  • Assertion yang harus lolos

Di Mana MCP Cocok dalam Lingkaran Debugging

Supermemory menyediakan MCP server untuk integrasi cepat (Claude, Cursor, Windsurf, VS Code), tapi bukan tempat awal debugging.

Jika asisten mengingat salah:

  1. Cek API request langsung di API workspace
  2. Verifikasi containerTag/project boundary
  3. Konfirmasi konten sudah diserap/diproses
  4. Verifikasi profil & hasil pencarian
  5. Baru cek konfigurasi klien MCP

MCP menambah lapisan abstraksi. Hasil jelek bisa karena: API key/auth salah, scope salah, penyerapan usang, pemanggilan alat, prompt misconfiguration.

Contoh konfigurasi MCP:

{
  "mcpServers": {
    "supermemory": {
      "url": "https://mcp.supermemory.ai/mcp"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Jika klien aneh, isolasi bug dengan mereproduksi via HTTP API.

Teknik Lanjutan dan Kesalahan Umum

1. Mencampur scope

containerTag sama untuk user berbeda = hasil bising walau engine benar.

2. Hanya uji happy path

Jangan lupa uji:

  • Query profil sebelum penyerapan
  • Query profil langsung setelah penyerapan
  • Pencarian dengan weak query
  • Pencarian dengan tag proyek salah
  • Upload yang masih diproses

3. Perlakukan profil & pencarian sama

Profil = konteks user padat. Pencarian = retrieval. Aplikasi perlu salah satu, atau dua-duanya.

4. Abaikan versi API

README fokus SDK, dokumen pakai endpoint versi (/v3, /v4). Pastikan workflow Anda match versi yang dipakai.

5. Lewati uji update & kontradiksi

Sistem memori harus handle perubahan. Uji apakah fakta baru override yang lama.

Alternatif dan Perbandingan

Ada tiga pendekatan utama pakai Supermemory saat dev:

Pendekatan Baik Untuk Titik Lemah
Hanya SDK Prototyping lokal cepat Sulit cek perilaku HTTP yang presisi
cURL dan skrip Endpoint check cepat Sulit direuse/dishare/dibandingkan
Workflow API bersama Debugging tim, assertion, dokumentasi, skenario Perlu setup awal sedikit

Alat seperti Apidog cocok melengkapi Supermemory: mesin memori + workflow pengujian yang dapat diulang sebelum masuk ke produk AI.

Kasus Penggunaan Dunia Nyata

  • Kopilot support perlu ingat preferensi stack user, insiden aktif, dan konteks akun. Supermemory menyimpan memori; workflow API memvalidasi bahwa profil & hasil pencarian benar untuk user tersebut.
  • Tim produk (mis. Cursor/Claude Code + MCP) ingin memori asisten lintas proyek. Sebelum percaya output chat, verifikasi penyerapan, scope, dan kualitas retrieval via API.
  • Tim platform sinkronisasi dokumen (GitHub, Notion) wajib cek perilaku pencarian hibrida sebelum enable untuk agent internal. Workflow pengujian terstruktur membantu membandingkan hasil retrieval.

Kesimpulan

Supermemory membangun memori sebagai infrastruktur, bukan sekadar demo vektor search. Fitur lengkap: penyerapan, profil, pencarian, konektor, file, integrasi framework, dukungan MCP. Tapi perilaku memori mudah salah paham jika hanya uji dari chat layer.

Uji API sebelum rilis agent/flow MCP untuk menangkap bug sulit. Ingin workflow lebih cepat, assertion, dan share workflow memori ke tim? Apidog adalah solusi workflow yang tepat—tanpa menggantikan Supermemory itu sendiri.

FAQ

Untuk apa Supermemory digunakan?

Supermemory menambah memori, profil, pencarian, konektor, dan pengambilan konteks ke aplikasi/agen AI. Repo & dokumen memposisikannya sebagai lapisan memori dan konteks, bukan hanya pencarian vektor.

Apakah Supermemory memiliki REST API?

Ya. API HTTP versi untuk dokumen, pencarian, profil, dan upload file tersedia, plus method SDK yang memetakan fitur tersebut.

Mengapa API memori AI lebih sulit di-debug daripada API normal?

Respons sukses tidak menjamin perilaku benar. Anda harus validasi scope, timing, ekstraksi profil, kualitas retrieval, dan cara output dikonsumsi oleh agen.

Apa yang harus saya uji pertama di Supermemory?

Mulai dari satu penyerapan, satu query profil, satu pencarian, untuk satu scope user/proyek. Dasar ini penting sebelum tambahkan konektor/file/MCP.

Dapatkah alat alur kerja API membantu jika aplikasi saya menggunakan MCP?

Ya. Ini membantu validasi perilaku HTTP API sebelum debugging klien asisten. Mudah membedakan masalah di memory retrieval atau MCP.

Apa parameter Supermemory terpenting yang harus benar?

containerTag/containerTags adalah yang paling krusial—mengontrol grouping & retrieval memori. Tagging yang lemah membuat hasil bising meski penyerapan & pencarian sukses.

Top comments (0)