La recherche d’outils d’OpenClaw
Un chemin compact dans un grand catalogue d’outils, les trois modes, le pont chercher-décrire-appeler, et pourquoi elle échoue de façon fermée
La recherche d’outils est la réponse d’OpenClaw à un catalogue devenu trop grand pour ce qu’un prompt devrait porter : une fonction expérimentale de l’environnement d’agent qui donne au modèle une seule façon compacte de découvrir et d’appeler un grand ensemble d’outils, utile quand une exécution dispose de nombreux outils mais n’en aura besoin que de quelques-uns. La documentation la distingue des surfaces natives de Codex et de Code Mode, qui expose à la place une paire exec et wait en JavaScript. Voici ce que voit le modèle, comment un tour se déroule, les trois modes, l’API, la frontière d’exécution, et la configuration.
Ce que voit le modèle
- Un annuaire borné de noms et de descriptions d’outils de confiance, trié par nom, plafonné à 18 000 caractères, placé au-dessus de la frontière de cache du prompt système pour que les tours répétés restent éligibles au cache ; quand la place manque, les descriptions raccourcissent avant que les noms soient omis, et chaque entrée autorisée reste cherchable et appelable.
- Avec la fonction mise à true, un seul outil de code qui exécute un court corps JavaScript dans un sous-processus Node isolé avec un pont offrant chercher, décrire et appeler, plus les outils directs seulement dont les résultats structurés ne peuvent pas franchir le pont compact.
- Le catalogue peut contenir les outils du cœur, des extensions, MCP et fournis par le client ; les noms et descriptions non fiables des outils MCP et clients ne sont jamais copiés dans le prompt système, le modèle cherche des descripteurs compacts à la place et décrit un outil quand il a besoin du schéma exact.
- Les routes d’inférence locale, Ollama, LM Studio et les services locaux gérés, utilisent automatiquement la recherche d’outils structurée quand le réglage est absent, avec une limite de recherche par défaut de cinq et un maximum de dix, et les routes Ollama hébergées sont exclues de cette valeur par défaut.
Les grands catalogues sont utiles mais coûteux.
Comment un tour se déroule
Au moment de la planification, l’exécuteur embarqué résout la politique d’outils active pour l’agent, le profil, le bac à sable et la session, liste les outils éligibles du cœur et des extensions, les outils MCP éligibles par l’environnement MCP de la session, et les outils clients de l’exécution, garde visibles les primitives de codage et les outils directs seulement, indexe des descripteurs compacts pour le reste, ajoute un annuaire de capacités déterministe et filtré par la politique au préfixe stable du prompt, et expose le pont ou les outils structurés de repli à côté des outils directement appelables. À l’exécution, chaque vrai appel d’outil revient à OpenClaw : l’environnement Node isolé ne détient ni implémentations d’extensions, ni objets clients MCP, ni secrets, et un appel traverse le pont vers la passerelle où s’appliquent la politique, les approbations, les hooks, la journalisation et le traitement des résultats normaux. La raison d’être de la fonction est la citation ci-dessus : envoyer chaque schéma agrandit la requête, ralentit la planification et augmente les sélections d’outils accidentelles.
Les modes et l’API
- Le mode code, par défaut, expose l’outil de code ; le mode outils expose chercher, décrire et appeler comme outils structurés ordinaires pour les fournisseurs qui ne devraient pas recevoir de code ; le mode annuaire expose ces trois-là plus l’annuaire borné du prompt, en gardant visibles les primitives du cœur, les outils directs seulement et les outils de la politique de livraison tandis que les autres schémas restent différés. Si le processus enfant isolé ne peut pas se lancer, le mode code retombe sur le mode outils.
- La recherche est lexicale, BM25 sur les noms, les descriptions et le texte des paramètres de première partie avec une légère racinisation anglaise et une petite expansion d’intention, donc les requêtes doivent être en anglais ; les schémas de paramètres non fiables ne sont jamais indexés, chaque résultat porte une signature d’entrée bornée de style TypeScript, les outils de confiance du cœur et des extensions peuvent ajouter une indication de sortie compacte, et les entrées MCP et clients restent différées comme inconnues tant qu’elles ne sont pas décrites. Une forme par lot prend jusqu’à seize requêtes, cinquante candidats au total, dans un budget de réponse de 4 000 caractères qui marque la troncature.
- L’appel valide le schéma d’entrée déclaré d’un outil de confiance avant l’exécution, en renvoyant des erreurs exploitables pour les arguments manquants ou mal typés avec un paramètre suggéré pour les fautes de frappe, et valide un schéma de sortie déclaré après les hooks normaux ; en mode structuré, il répare aussi les arguments de cible aplatis des modèles locaux et rejette les sélecteurs ambigus.
Code Mode dans OpenClaw est la fonction jumelle pour les modèles qui écrivent des programmes plutôt que de chercher, et OpenClaw et MCP explique les serveurs dont les outils peuvent entrer dans ce catalogue.
Frontière d’exécution et configuration
Le pont de code tourne dans un sous-processus Node de courte durée lancé avec le mode de permission activé, un environnement vide, aucun droit de système de fichiers, de réseau, de processus enfant ou de worker, et un délai mural imposé par le parent ; il n’expose que les méthodes de console et les trois fonctions du pont, et les appels finaux obéissent toujours aux politiques d’autorisation et de refus, aux restrictions par agent et par bac à sable, à la politique des canaux, aux hooks d’approbation et aux hooks d’extensions. La configuration tient en une clé : true pour le pont de code, un mode outils ou annuaire, un délai de code de dix secondes par défaut entre une et soixante, une limite de recherche par défaut de huit et un maximum de vingt entre un et cinquante, ou false pour désactiver ; une valeur explicite l’emporte sur la valeur par défaut des modèles locaux. L’échec est fermé par conception : un outil hors de la politique effective n’est jamais renvoyé par la recherche, un outil devenu indisponible échoue à l’appel, et une exécution bloquée rapporte le blocage plutôt que de le contourner. Les modèles locaux d’OpenClaw est là où la valeur par défaut automatique compte le plus, et Les compétences d’OpenClaw expliquées explique l’autre chose qu’une recherche de catalogue peut confondre avec un outil, un nom de compétence.
Sur Diali
Sur Diali, le catalogue qu’un assistant voit est celui que vous avez assemblé à partir des compétences, des serveurs MCP et des connecteurs, et la recherche d’outils reste à la valeur amont par défaut pour le modèle utilisé, si bien qu’un assistant sur modèle local reçoit la surface compacte sans réglage. OpenClaw hébergé sur Diali est l’assistant.
- Un annuaire borné au lieu de chaque schéma.
- Chercher en anglais, décrire quand il faut le schéma, appeler par la passerelle.
- Échec fermé : la politique filtre la recherche, pas seulement l’appel.
Arrêtez de lire, construisez le vôtre
Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.
