Analyse des compétences Zilliz : comment les agents d’IA maîtrisent les bases de données vectorielles

Apr 24, 202612 min read

À l’origine par ShugeX, praticien indépendant en AI-ops et contributeur actif de la communauté Milvus. Traduit et republié avec autorisation.

Imaginez que vous utilisez Claude Code pour créer une application RAG avec Milvus. Chaque étape — créer une collection, définir un schéma, insérer des vecteurs, exécuter une recherche hybride — vous oblige à feuilleter la documentation pymilvus pour trouver la bonne API, puis à revenir dans l’éditeur pour l’intégrer. Et si vous êtes sur Zilliz Cloud, vous passez aussi au navigateur pour vous connecter à la console afin de gérer les clusters, la surveillance et la configuration des sauvegardes. L’environnement de développement et l’environnement d’exploitation sont deux mondes différents.

Les deux Claude Code Skills récents de Zilliz ciblent précisément ce point de rupture. Milvus Skill apprend à l’agent à exploiter la base de données vectorielle via le SDK Python. Zilliz Cloud Skill apprend à l’agent à gérer tout ce qui relève du cloud via zilliz-cli. Chaque Skill prend en charge un domaine ; ensemble, ils transforment le développement et l’exploitation en une seule session Claude Code continue.

Après avoir lu le code source des deux Skills de bout en bout, j’ai trouvé beaucoup d’éléments qui méritent d’être analysés — conception modulaire, modèles de sécurité, et la place de Skill aux côtés de MCP. Cet article les passe en revue un par un.

Ce que font respectivement Milvus Skill et Zilliz Cloud Skill

Les deux Skills ne sont pas deux versions d’une même chose. Ils ciblent deux échecs de justesse différents.

Milvus Skill (zilliztech/milvus-skill) apprend à l’agent pymilvus, le SDK Python permettant de se connecter, de créer des collections, d’insérer des vecteurs et d’exécuter des recherches. C’est un assistant de codage, et il fonctionne avec n’importe quel déploiement Milvus : Milvus Lite, Standalone/Cluster auto-hébergé ou Zilliz Cloud. L’échec qu’il corrige : du code pymilvus qui compile mais ne fait pas ce que vous avez demandé, parce que l’agent a utilisé une forme d’API obsolète.

Zilliz Cloud Skill (zilliztech/zilliz-skill) apprend à l’agent zilliz-cli, l’outil en ligne de commande qui couvre les clusters, les sauvegardes, la surveillance et la facturation. C’est un assistant DBA, et il ne fonctionne qu’avec Zilliz Cloud (Milvus auto-hébergé n’a pas de plan de contrôle). L’échec qu’il corrige : des commandes hallucinées contre un système de production en direct, où un mauvais zilliz cluster delete coûte plus cher qu’une erreur de compilation.

En une phrase :

  • Milvus Skill → l’agent écrit du code qui exploite les données
  • Zilliz Cloud Skill → l’agent exécute des commandes qui gèrent les services
DimensionMilvus SkillZilliz Cloud Skill
InterfacePython (pymilvus)CLI (zilliz-cli)
RôleAssistant de codageAssistant DBA
Fonctionne avecTous les déploiements Milvus + Zilliz CloudZilliz Cloud uniquement
Fichiers7 modules de référence14 sous-skills
Cible de justesseAPI SDK obsolètesCommandes ops insuffisamment documentées
Tâche typiqueCréer une collection, insérer, rechercherProvisionner un cluster, configurer une sauvegarde, vérifier la facturation

Milvus Skill : apprendre à l’agent à écrire du pymilvus fiable

Le dossier references/ de Milvus Skill contient sept fichiers, chacun correspondant à un domaine de capacité pymilvus indépendant. Lorsque l’agent traite une tâche spécifique, il charge uniquement le fichier pertinent plutôt que de déverser toute la documentation dans le contexte :

FichierCouvre
collection.mdTypes de données, définitions de champs, opérations sur les collections
vector.mdCRUD vectoriel, recherche hybride, recherche plein texte, itérateurs
index.mdTypes d’index, types de métriques, gestion des index
partition.mdGestion des partitions
database.mdGestion des bases de données
user-role.mdRBAC
patterns.mdModèles courants (RAG, recherche hybride, etc.)

Vous construisez un schéma ? L’agent récupère collection.md. Vous lancez une recherche ? Il récupère vector.md. Le reste reste à l’écart. Les fenêtres de contexte sont finies ; le chargement à la demande est préférable au déversement de tout le contenu.

Types de données pris en charge : plus riches que vous ne l’imaginez

En parcourant rapidement collection.md, Milvus prend en charge plus de types de vecteurs que la plupart des développeurs ne le pensent :

  • Scalaires : BOOL, INT8/16/32/64, FLOAT, DOUBLE, VARCHAR, JSON, ARRAY
  • Vecteurs :
  • FLOAT_VECTOR — flottant 32 bits, la valeur par défaut
  • FLOAT16_VECTOR — demi-précision, économise de la mémoire
  • BFLOAT16_VECTOR — BF16, courant dans les pipelines de deep learning
  • BINARY_VECTOR — binaire
  • SPARSE_FLOAT_VECTOR — creux, pour la recherche en texte intégral
  • INT8_VECTOR — quantifié, compression supplémentaire

Recherche hybride : la fonctionnalité la plus remarquable couverte par ces Skills

patterns.md documente quatre modèles courants. La recherche hybride est celle qui comporte le plus d’éléments. La recherche par vecteur dense (sémantique) et la recherche par vecteur creux (mot-clé) s’exécutent en parallèle, puis RRF (Reciprocal Rank Fusion) ou un classement pondéré fusionne les deux listes.

Trois briques de base :

  1. AnnSearchRequest — une par branche de recherche
  2. RRFRanker / WeightedRanker — stratégie de fusion
  3. SPARSE_FLOAT_VECTOR — le champ de vecteur creux

RRF est simple : pour chaque résultat, score = 1/rang, additionné entre les branches. Les éléments les mieux classés l’emportent. WeightedRanker est une somme pondérée par branche. Le Skill explicite tout cela, de sorte que l’agent génère du code de recherche hybride utilisable sans que le développeur lise l’article sur RRF.

Recherche en texte intégral BM25 intégrée de Milvus

Milvus Skill encode également : la recherche en texte intégral Sparse-BM25 intégrée de Milvus 2.5. Combiné à Function et FunctionType.BM25, Milvus convertit le texte brut en vecteurs creux en interne, évitant les modèles d’embedding externes et les pipelines TF-IDF manuels.

Avant la 2.5, la recherche en texte intégral signifiait qu’il fallait gérer un tokenizer, calculer TF-IDF à la main et générer soi-même le vecteur creux. Désormais, vous dites à l’agent ce que vous voulez, et le Skill le guide pour générer la collection avec Function BM25 correctement câblée.

Itérateurs de recherche : pagination pour les collections de millions de lignes

vector.md couvre également search_iterator et query_iterator, une pagination de type curseur pour les collections de millions ou de milliards de lignes. Un simple search renvoie un ensemble de résultats de taille fixe. Les itérateurs parcourent les pages sans pertes ni doublons, ce dont l’énumération complète a besoin.

Zilliz Cloud Skill : apprendre à l’agent à être votre DBA Cloud

Le rôle de Zilliz Cloud Skill est différent de celui de Milvus Skill. Au lieu d’écrire du Python, l’agent compose des invocations CLI contre un plan de contrôle en direct — et comme une mauvaise commande peut effacer la production, le Skill encapsule ces invocations dans des règles de sécurité.

Mode commande : comment l’agent compose les invocations CLI

Le Skill encode une forme de commande cohérente :

zilliz <resource> <action> --flag <value>

Exemples :

  • zilliz cluster list — répertorier tous les clusters
  • zilliz collection create --name my_collection — créer une collection
  • zilliz backup create --name daily-backup — créer une sauvegarde

Trois formats de sortie : json (lisible par machine), table (convivial pour l’humain), text (brut). L’agent choisit celui qui convient.

14 sous-skills couvrant tout le cycle de vie Cloud

Le repo zilliz-plugin fournit 14 sous-skills, chacun sous skills/<name>/SKILL.md :

ModuleCouvre
setupInstallation, auth (OAuth / clé API / variable d'env), configuration du contexte
clusterCréer, lister, modifier, suspendre, reprendre, supprimer
collectionCRUD de collections, chargement/libération, alias
vectorOpérations vectorielles via CLI
indexGestion des index
databaseGestion des bases de données (Dedicated uniquement)
partitionGestion des partitions
user-roleRBAC (Dedicated uniquement)
backupCréer, restaurer, exporter, politiques de sauvegarde
importImport en masse depuis le stockage cloud (Parquet / JSON / CSV)
billingUtilisation, factures, moyens de paiement
monitoringÉtat du cluster, statistiques, états de chargement
project-regionGestion des projets et des régions
jobSuivi des tâches asynchrones

Lancement d’un cluster, configuration de la rétention des sauvegardes, vérification d’une facture : 14 modules couvrent toutes les opérations de la console Zilliz Cloud.

La prise en compte des niveaux est intégrée. database et user-role sont signalés comme Dedicated uniquement. Le Skill sait que les niveaux Free, Serverless et Dedicated ont des capacités différentes, donc l’agent ne tentera pas d’opérations qu’un niveau de cluster ne peut pas prendre en charge.

Trois règles de sécurité, une dans chaque module

La conception de sécurité de Zilliz Cloud Skill va plusieurs couches plus loin que celle de Milvus Skill. Trois règles fondamentales apparaissent dans les fichiers SKILL.md individuels :

  1. Les opérations destructrices exigent une confirmation explicite de l’utilisateur. Les consignes du module cluster indiquent : "Before deleting a cluster, always confirm with the user — this is irreversible." Chaque opération destructrice (collections, sauvegardes, bases de données, utilisateurs) porte la même instruction.
  2. Les commandes sensibles s’exécutent dans le terminal propre à l’utilisateur. Le module setup est explicite : "Login commands (zilliz login, zilliz configure) require an interactive terminal and CANNOT run inside Claude Code. Always instruct the user to run these in their own terminal." Les identifiants ne transitent pas par l’agent.
  3. Les identifiants ne sont jamais exposés. L’authentification passe par le flux navigateur OAuth, une clé API depuis la console, ou une variable d’env ZILLIZ_API_KEY. Le Skill n’affiche jamais de secrets.

Ces règles semblent élémentaires, mais un agent disposant d’identifiants Cloud et sans couche de confirmation pourrait interpréter « nettoyer les clusters de test » et supprimer la production. Le Skill comble cette faille au niveau des instructions, avant qu’une commande destructrice n’atteigne l’API.

Le sas de prérequis : trois vérifications avant l’exécution de toute commande

Chaque sous-skill exécute une vérification en trois étapes, définie dans skills/setup/SKILL.md :

  1. zilliz-cli installé ? Sinon, l’installer.
  2. Utilisateur connecté ? Sinon, le rediriger vers l’authentification.
  3. Contexte de cluster défini ? Sinon, demander une sélection.

Ce sas garantit que l’environnement est prêt avant le lancement de toute commande, ce qui est plus fiable que de lancer à l’aveugle puis de déboguer les erreurs ensuite.

Pourquoi s’agit-il de Zilliz Skills, et pas seulement de MCP ?

Zilliz propose les deux parce qu’ils résolvent des problèmes différents. Un Skill injecte des connaissances que l’agent consulte lorsqu’il écrit du code. Un serveur MCP expose des points de terminaison appelables que l’agent peut invoquer. mcp-server-milvus est le bras MCP ; Milvus Skill est le bras connaissance. Ils se superposent plutôt qu’ils ne se concurrencent.

Skill est un chargeur de prompts

Le Skill minimal est un dossier et un SKILL.md :

my-skill/
├── SKILL.md        # instructions + metadata
├── references/     # reference docs (optional)
├── scripts/        # executable scripts (optional)
└── assets/         # templates, resources (optional)

SKILL.md est un manuel d’instructions. Il indique à l’agent comment traiter une tâche donnée. Pas de code exécutable, pas de processus serveur. Juste des connaissances structurées injectées dans le contexte du modèle à la demande.

Un Skill est un chargeur de prompts. Des connaissances de domaine empaquetées sous forme de prompt structuré, chargées dynamiquement.

MCP est un protocole d’outils

MCP (Model Context Protocol) prend une forme différente. C’est un protocole standardisé qui permet à un agent d’appeler des outils externes via une interface uniforme. mcp-server-milvus est un serveur MCP qui expose des points de terminaison d’outils comme milvus_text_search, milvus_create_collection, et ainsi de suite.

MCP a été décrit comme « le port USB-C pour les agents IA ». Il résout le problème de standardisation de l’interface des outils.

Zilliz Skill vs zilliz MCP

DimensionSkillMCP
EssenceInjection de connaissances (prompt)Invocation d’outil (protocole)
Ce qu’il faitModifie la manière dont l’agent se comporteDonne à l’agent une nouvelle capacité
Coût de déploiementDéposer des fichiers, terminéProcessus serveur requis
Convient àApprendre à l’agent à utiliser des outils qu’il possède déjàDonner à l’agent des outils qu’il n’a pas
DépendanceL’agent prend en charge le chargement des SkillsL’agent prend en charge MCP

La distinction déterminante : Milvus Skill apprend à l’agent à utiliser pymilvus. pymilvus existe déjà. Le Skill n’ajoute pas de capacité. Il corrige l’exactitude pour une capacité que l’agent possède déjà. MCP, en revanche, donne à l’agent des points de terminaison appelables qu’il ne pourrait pas atteindre autrement.

Un Skill est le manuel d’utilisation d’une machine que vous possédez déjà. MCP est une télécommande qui fait bouger une nouvelle machine. Zilliz l’a dit directement dans "Is MCP Dead? MCP vs CLI vs Agent Skills Compared" : les deux modèles persistent.

Cela dit, les Skills gagnent rapidement du terrain. Les annuaires communautaires estiment le nombre à plus de 700 000 packages dans les registres, ClawHub à lui seul répertoriant plus de 5 700 skills. Un projet de packages de skills sur GitHub a obtenu 6 600 étoiles en cinq jours en avril 2026.

Scénarios concrets : comment les développeurs les utilisent réellement

Scénario 1 : créer une application RAG

Vous créez une application RAG. Avec Milvus Skill installé, vous dites :

"Crée une collection de récupération de documents : vecteurs de dimension 768, recherche plein texte BM25, champs pour title, body et embedding."

L’agent extrait collection.md et patterns.md et écrit :

from pymilvus import MilvusClient, DataType, Function, FunctionType

client = MilvusClient(uri="<URI>", token="<TOKEN>")

schema = client.create_schema(auto_id=True)
schema.add_field("id", DataType.INT64, is_primary=True)
schema.add_field("title", DataType.VARCHAR, max_length=512)
schema.add_field("body", DataType.VARCHAR, max_length=4096, enable_analyzer=True)
schema.add_field("embedding", DataType.FLOAT_VECTOR, dim=768)
schema.add_field("body_sparse", DataType.SPARSE_FLOAT_VECTOR)

# Wire BM25 full-text search
schema.add_function(Function(
    name="body_bm25",
    input_field_names=["body"],
    output_field_names=["body_sparse"],
    function_type=FunctionType.BM25,
))

index_params = client.prepare_index_params()
index_params.add_index(field_name="embedding", index_type="AUTOINDEX", metric_type="COSINE")
index_params.add_index(field_name="body_sparse", index_type="AUTOINDEX", metric_type="BM25")

client.create_collection("documents", schema=schema, index_params=index_params)

enable_analyzer=True, le câblage de la Function BM25, la combinaison AUTOINDEX avec la métrique BM25 : aucune de ces choses ne doit être laissée aux suppositions de l’agent. Le Skill les encode.

Scénario 2 : gérer un cluster Zilliz Cloud

"Crée un cluster Serverless dans us-east-1, puis crée une collection avec des vecteurs de dimension 768."

L’agent exécute la vérification des prérequis, puis lance les commandes CLI dans l’ordre. Ou :

"Montre-moi l’état et l’utilisation des ressources de tous mes clusters."

L’agent exécute zilliz cluster list et les commandes zilliz monitoring correspondantes, puis résume. Les identifiants ne quittent jamais votre terminal.

Scénario 3 : sauvegardes et migration de données

"Configure une politique de sauvegarde quotidienne pour la production, conserve 7 jours."

backup.md documente la syntaxe complète de la politique. L’agent configure la politique directement.

"Exporte la collection orders du cluster de test vers S3."

import.md couvre l’importation et l’exportation en masse depuis le stockage cloud, y compris les formats pris en charge (Parquet, JSON, CSV).

Scénario 4 : Passer à la recherche hybride

"Améliore ma recherche en hybride dense + sparse avec RRF."

L’agent récupère les notes de vector.md sur AnnSearchRequest et RRFRanker et écrit le code de recherche hybride. Vous n’avez pas besoin d’étudier les paramètres RRF.

La stack d’agents de Zilliz : où s’inscrivent les deux Skills

Ces deux Skills s’inscrivent dans un effort plus large de Zilliz couvrant chaque modèle d’intégration d’agents :

ProjetTypeCouvre
mcp-server-milvusServeur MCPOpérations de base de données Milvus
claude-contextServeur MCPRecherche sémantique dans le code
milvus-skillSkillSDK pymilvus
zilliz-skillSkillGestion de Zilliz Cloud
DeepSearcherFramework d’agentRAG agentique en plusieurs étapes

claude-context se démarque. Il indexe une base de code dans une base de données vectorielle, récupère le code pertinent à la demande avec une recherche hybride (BM25 + dense), et rapporte une réduction d’environ 40 % des tokens à qualité de récupération équivalente.

De MCP aux Skills, en passant par la recherche de code et les frameworks d’agents, la stratégie de Zilliz est cohérente : quel que soit le modèle d’intégration d’agents qui l’emporte, une base de données vectorielle doit disposer d’un point d’entrée de premier plan. Les deux Skills constituent l’entrée de Zilliz dans cette voie.

Conclusion

Milvus Skill et Zilliz Cloud Skill reposent sur quatre choix de conception communs :

  1. Les deux Skills ont des rôles clairs et non chevauchants. Milvus Skill gère la couche de codage SDK ; Zilliz Cloud Skill gère la couche d’opérations CLI. Ensemble, ils couvrent tout le cycle de vie d’une base de données vectorielle sans se marcher sur les pieds.
  2. Le chargement modulaire des connaissances garde le contexte léger. Répartir les connaissances sur 7 et 14 fichiers de référence permet à l’agent de ne récupérer que le fichier correspondant à la tâche en cours, plutôt que d’inonder la fenêtre de contexte avec toute la documentation.
  3. Zilliz Cloud Skill intègre la sécurité dans la couche d’instructions. La confirmation des opérations destructrices, la protection des identifiants et les vérifications des prérequis montrent que l’équipe a soigneusement réfléchi à ce qu’un agent disposant de clés Cloud peut faire sur une base de données en production.
  4. Zilliz se couvre sur plusieurs paradigmes, sans choisir de gagnant. En publiant à la fois des implémentations MCP et Skill, Zilliz est couvert quelle que soit la direction que prendra l’écosystème d’intégration des agents.

Si vous construisez des agents avec une base de données vectorielle, installez les deux Skills la prochaine fois que vous lancerez une application RAG ou gérerez un cluster.

Démarrer

Installez les deux Skills dans votre prochaine session Claude Code :

  • Milvus Skill — exactitude de pymilvus. Fonctionne avec Milvus Lite, Standalone/Cluster auto-hébergé et Zilliz Cloud.
  • Zilliz Cloud Skill — gestion de cluster en direct via zilliz-cli. Installez le CLI en parallèle.

Si vous n’avez pas encore de cluster, inscrivez-vous à Zilliz Cloud (les nouveaux comptes avec e-mail professionnel reçoivent des crédits gratuits) ou connectez-vous, puis collez le Skill dans Claude Code, et l’agent s’occupe du reste.

Lectures complémentaires

Mis à jour le Jun 15, 2026