En Bref / Réponse Rapide
Supermemory fournit une couche de mémoire et de contexte pour les applications d'IA, mais déboguer ces systèmes est plus complexe que pour les API CRUD classiques. Pour garantir un workflow fiable, testez directement les chemins d'ingestion, de profilage et de recherche, isolez les valeurs containerTag par utilisateur ou projet, et vérifiez le comportement asynchrone avant de faire confiance aux retours d'un client ou agent MCP dans le chat.
Essayez Apidog dès aujourd’hui
Introduction
Les bugs de mémoire d’IA sont difficiles à diagnostiquer : la requête réussit, mais l’agent rappelle le mauvais fait ou affiche un profil incohérent. En production, ces problèmes se cachent souvent derrière un SDK, un client MCP et un prompt.
C’est pourquoi il est essentiel d’auditer précisément votre intégration de supermemory. Supermemory apporte une couche de mémoire/context pour l’IA, avec extraction, profils, recherche hybride, connecteurs, gestion de fichiers et serveur MCP pour des clients comme Cursor, Claude Code, VS Code, Windsurf, Claude Desktop. Le dépôt expose des méthodes comme client.add(), client.profile(), client.search.memories(), et la documentation API détaille les endpoints POST /v3/documents, POST /v3/search, POST /v4/profile.
Votre équipe ne doit pas seulement “avoir de la mémoire” : il faut pouvoir inspecter ce qui a été ingéré, comment c’est organisé, ce que renvoie un call de profil, et si la recherche hybride extrait le bon contexte (document et personnel).
💡 Un outil de workflow API partagé simplifie ce travail : stockez authentification et containerTag dans des environnements, sauvegardez vos requêtes, ajoutez des assertions et rendez le workflow reproductible pour toute l’équipe. Apidog permet de faire cela sans devoir coder un harnais de test maison.
Pourquoi les API de mémoire IA sont plus difficiles à déboguer que les API standards
Un bug d’API classique est évident : mauvaise réponse, mauvais code d’état, ou requête échouée.
Les systèmes de mémoire sont différents : un retour 200 ne garantit pas le bon comportement. Les vraies questions :
- Le bon contenu a-t-il été ingéré ?
- Est-il attaché au bon utilisateur/projet ?
- L’extraction/profil est-elle terminée avant la requête suivante ?
- La recherche utilise-t-elle le bon mode et seuil ?
- Un fait récent écrase-t-il un ancien ?
- Le client MCP transmet-il les bons paramètres de contexte ?
Supermemory adresse ces points : extraction depuis conversations/documents, profils utilisateur statiques/dynamiques, recherche hybride, connecteurs (Google Drive, Gmail, Notion, etc.), gestion de fichiers (PDF, images, vidéos, code), serveur MCP.
Vous déboguez donc état, synchronisation ET qualité de récupération en simultané.
Exemple de flow :
Application ou client MCP -> ingestion Supermemory -> mise à jour d'extraction/profil -> appel de recherche/profil -> prompt d'agent -> réponse visible par l'utilisateur
Tester uniquement via le chat ne permet pas d’identifier l’étape fautive. Testez chaque étape via un espace de travail API partagé pour isoler précisément les problèmes.
Ce que Supermemory vous offre clé en main
Le dépôt Supermemory présente :
-
client.add()pour stocker du contenu -
client.profile()pour récupérer un profil utilisateur (+ résultats de recherche) -
client.search.memories()pour la recherche hybride - Upload de documents
- Intégrations (Vercel AI SDK, LangChain, LangGraph, OpenAI Agents SDK, Mastra, Agno, n8n)
- Endpoint MCP pour assistants (Claude, Cursor, VS Code)
La documentation expose des endpoints versionnés :
-
POST /v3/documents(ingestion) -
POST /v3/search(recherche) -
POST /v4/profile(profil) -
POST /v3/documents/file(upload fichiers)
Votre priorité côté debug : verrouillez le flow exact de votre application.
Le workflow général pour l’équipe :
- Envoyer du contenu à Supermemory
- Interroger le profil ou la recherche avec une portée (utilisateur/projet) stable
- Confirmer ce que l’application/agent doit observer ensuite
Si ces trois étapes ne sont pas strictement reproductibles, votre produit IA reste au stade prototype.
Construire un workflow de test Supermemory fiable
Commencez par tester Supermemory directement, sans wrappers ni UI chat.
Étape 1 : Définir votre stratégie de portée
Supermemory met l’accent sur containerTag ou containerTags. Décidez de vos tags dès le départ.
Structure recommandée :
- Un tag par utilisateur (ex :
user_123) - Un tag par projet actif (ex :
project_alpha) - Des valeurs séparées pour staging et production
Ignorer cette structuration rendra vos résultats de recherche/profil confus.
Étape 2 : Ingérer un ensemble de faits connus
Commencez simple : une petite payload claire, pas un dump PDF géant.
Exemple :
curl https://api.supermemory.ai/v3/documents \
--request POST \
--header "Authorization: Bearer $SUPERMEMORY_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"content": "L\'utilisateur préfère TypeScript, développe des backends API et débogue des limitations de débit cette semaine.",
"containerTags": ["user_123", "project_alpha"],
"customId": "session-001",
"metadata": {
"source": "support_chat",
"team": "platform"
}
}'
Le point clé : chaque champ doit être contrôlé et connu.
Étape 3 : Interroger le profil après ingestion
Utilisez le profil pour obtenir une vue condensée de l’utilisateur.
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": "Quel stack cet utilisateur préfère-t-il ?"
}'
La réponse inclut :
profile.staticprofile.dynamicsearchResults
Votre équipe doit valider cette réponse avant de considérer la mémoire comme fiable.
Étape 4 : Tester la recherche séparément
La recherche et le profil servent des objectifs différents.
curl https://api.supermemory.ai/v3/search \
--request POST \
--header "Authorization: Bearer $SUPERMEMORY_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"q": "Sur quoi travaille l'utilisateur ?",
"containerTag": "user_123",
"searchMode": "hybrid",
"limit": 5
}'
Utilisez searchMode: "hybrid" pour mixer mémoire personnelle et contexte documentaire, ce qui reflète un usage assistant IA réaliste.
Étape 5 : Vérifier les hypothèses asynchrones
L’ingestion de documents/fichiers est asynchrone. Un polling ou une attente est parfois nécessaire avant d’interroger le profil ou la recherche.
Cas classique de bug :
- Ingérer du contenu
- Interroger le profil immédiatement
- Obtenir une réponse incomplète
- Blâmer l’outil plutôt que le timing
Intégrez une attente ou un polling là où l’API est asynchrone.
Transformer Supermemory en un workflow de test reproductible
Un workflow API partagé va plus loin que cURL : il garantit la reproductibilité.
Étape 1 : Créer un environnement Supermemory
Définissez vos variables d’environnement :
base_url = https://api.supermemory.ai
supermemory_api_key = sm_votre_cle_api
user_tag = user_123
project_tag = project_alpha
custom_id = session-001
Cela simplifie le passage d’un utilisateur/projet à l’autre sans modifier chaque requête à la main.
Étape 2 : Construire la requête d’ingestion
Structurez la requête :
- Méthode :
POST - URL :
{{base_url}}/v3/documents - Headers :
Authorization: Bearer {{supermemory_api_key}},Content-Type: application/json - Body :
{
"content": "L'utilisateur préfère TypeScript, développe des backends API et débogue des limitations de débit cette semaine.",
"containerTags": ["{{user_tag}}", "{{project_tag}}"],
"customId": "{{custom_id}}",
"metadata": {
"source": "api_workflow_test"
}
}
Assertions exemples :
pm.test("Le statut est un succès", function () {
pm.expect(pm.response.code).to.be.oneOf([200, 201, 202]);
});
pm.test("La réponse contient l'id de la mémoire", function () {
const json = pm.response.json();
pm.expect(json.id).to.exist;
});
Si la réponse indique queued, ce n’est pas une erreur mais une info : tenez-en compte pour la prochaine requête.
Étape 3 : Construire la requête de profil
Nouvelle requête :
- Méthode :
POST - URL :
{{base_url}}/v4/profile - Body :
{
"containerTag": "{{user_tag}}",
"q": "Quel stack cet utilisateur préfère-t-il ?"
}
Assertions :
pm.test("Le contenu du profil existe", function () {
const json = pm.response.json();
pm.expect(json.profile).to.exist;
});
pm.test("Contenu de profil statique ou dynamique renvoyé", 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);
});
Vous pourrez ainsi diagnostiquer :
- ingestion non réalisée
- ingestion réalisée mais traitement incomplet
- profil existant mais requête/portée incorrecte
Étape 4 : Construire la requête de recherche
Pour évaluer la récupération :
{
"q": "Que débogue l'utilisateur ?",
"containerTag": "{{user_tag}}",
"searchMode": "hybrid",
"limit": 5
}
Vérifiez :
- délai de réponse conforme
- au moins un résultat
- présence du sujet attendu
- bonne portée (pas de fuite de contexte)
L’API workflow vous permet de comparer facilement différents modes (hybrid, tags différents, seuils, requêtes courtes vs bruitées).
Étape 5 : Transformer les requêtes en scénario
Créez un scénario de test :
- Ajouter du contenu
- Attendre si besoin (async)
- Interroger le profil
- Interroger la recherche
- Vérifier que les deux reflètent l’état attendu
Ce scénario devient un test de régression pour votre logique mémoire.
Étape 6 : Documenter le workflow pour l’équipe
Les bugs de mémoire traversent les équipes (backend, QA, produit). Publiez le workflow dans Apidog pour que chacun puisse :
- Inspecter la requête d’ingestion
- Voir la stratégie de portée
- Examiner la réponse profil/recherche
- Valider les assertions attendues
Où MCP s’inscrit dans la boucle de débogage
Le dépôt Supermemory propose une installation MCP rapide (pour Claude, Cursor, Windsurf, VS Code). Mais le debug commence toujours côté API.
Si la mémoire de l’assistant est incorrecte, procédez ainsi :
- Vérifiez les requêtes API directes dans votre workspace
- Vérifiez le
containerTag/projet - Confirmez l’ingestion/traitement
- Examinez directement profil/recherche
- Passez ensuite à la config MCP
MCP ajoute une abstraction : un problème peut venir d’une clé API, d’une portée, d’une ingestion, d’un comportement client ou du prompt.
Exemple de config MCP :
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}
Si un client MCP agit bizarrement, reproduisez d’abord la logique mémoire via l’API HTTP.
Techniques avancées et erreurs courantes
Principales erreurs en production :
1. Mélanger les portées
Réutiliser un containerTag entre utilisateurs non liés rend le système bruyant, même si le moteur fonctionne.
2. Tester uniquement le chemin heureux
Testez aussi :
- Profil avant ingestion
- Profil immédiatement après ingestion
- Recherche avec requête faible
- Recherche avec mauvais tag projet
- Uploads encore en traitement
3. Considérer profil et recherche comme équivalents
Profil = contexte utilisateur condensé ; Recherche = récupération d’éléments. Votre application peut nécessiter l’un, l’autre ou les deux.
4. Ignorer les différences de version
Le README présente le SDK ; la doc expose les endpoints HTTP versionnés (/v3, /v4). Verrouillez la version dans votre workflow test.
5. Oublier les tests de mise à jour et contradiction
La mémoire doit gérer les changements dans le temps. Vérifiez que les faits les plus récents prévalent.
Alternatives et comparaison
Trois approches courantes :
| Approche | Idéal pour | Point faible |
|---|---|---|
| SDK uniquement | Prototypage local rapide | Inspection HTTP difficile |
| cURL et scripts | Tests de endpoints rapides | Peu réutilisable, difficile à partager/comparer |
| Workflow API partagé | Debug d’équipe, assertions, docs | Nécessite une config initiale |
Un outil comme Apidog complète Supermemory : moteur mémoire + workflow reproductible pour valider l’API avant intégration produit.
Cas d’utilisation réels
- Un copilote support doit mémoriser stack, incidents, contexte récent d’un utilisateur. Supermemory stocke, le workflow API valide que profil/recherche remontent les bons faits.
- Une équipe produit sur Cursor ou Claude Code avec MCP veut une mémoire d’assistant sur la durée. Avant de valider l’expérience chat, vérifiez ingestion, portée et qualité de récupération via l’API.
- Une plateforme synchronisant des docs GitHub/Notion doit valider la recherche hybride avant activation. Un workflow de test structuré permet de comparer mémoire et documents dans la même suite.
Conclusion
Supermemory traite la mémoire comme une vraie infrastructure, pas une simple démo vectorielle. Dépôt et documentation exposent une plateforme complète : ingestion, profils, recherche, connecteurs, fichiers, intégrations, support MCP. Mais le comportement mémoire se trompe facilement si vous ne testez qu’en chat. Testez en profondeur via API avant de livrer un agent ou workflow MCP pour capturer les bugs difficiles.
Pour enregistrer vos requêtes, ajouter des assertions et partager l’ensemble du workflow mémoire avec l’équipe, Apidog est un excellent choix pour cette couche.
FAQ
À quoi sert Supermemory ?
Supermemory ajoute mémoire, profils, recherche, connecteurs et récupération de contexte aux applications et agents IA. Le dépôt et la documentation le positionnent comme une couche mémoire/context, plus qu’un simple outil vectoriel.
Supermemory dispose-t-il d’une API REST ?
Oui. La documentation expose des endpoints HTTP versionnés pour documents, recherche, profils, upload fichiers. Le README présente aussi les méthodes SDK associées.
Pourquoi une API de mémoire IA est-elle plus difficile à déboguer qu’une API normale ?
Parce qu’une réponse “succès” ne garantit pas le bon comportement utilisateur. Il faut valider portée, timing, extraction de profil, qualité de récupération, et l’utilisation de ces sorties par l’agent.
Que dois-je tester en premier dans Supermemory ?
Commencez par une ingestion connue, une requête de profil et une de recherche pour une portée utilisateur/projet unique. Basez-vous là-dessus avant d’ajouter connecteurs, fichiers, ou clients MCP.
Un outil de workflow API peut-il aider si mon application utilise MCP ?
Oui. Il valide d’abord le comportement API HTTP sous-jacent. Vous pourrez plus facilement isoler si le problème vient de la récupération mémoire ou de la couche MCP.
Quel est le paramètre Supermemory le plus important à configurer correctement ?
containerTag ou containerTags : ils définissent le regroupement/récupération des mémoires. Une stratégie de tagging faible crée du bruit, même si ingestion/recherche fonctionnent.

Top comments (0)