DeepSeek Harness : portées, restrictions et masquage d'outils
Updated August 16, 2026 · first published August 16, 2026
Les catalogues d'outils grossissent. Quelqu'un ajoute un outil de navigateur, quelqu'un un outil de base de données, quelqu'un cinq opérations de terminal, et un an plus tard chaque agent du système se voit proposer quarante outils, qu'il en ait besoin ou non. On en parle d'habitude comme d'un problème de sécurité. C'est aussi une ligne de dépense. DeepSeek Harness propose un modèle de portée par agent qui traite les deux d'un coup.
Pourquoi le catalogue est un coût récurrent
Les définitions d'outils font partie de la requête. Le harness enregistre un événement d'en-tête de requête portant la configuration, le prompt système et l'ensemble d'outils tels qu'envoyés, ce qui rend la chose concrète : le catalogue est retransmis à chaque requête modèle de la session, donc c'est une taxe fixe par étape et non un coût unique.
Il y a un second effet, plus large. Un catalogue étendu élargit l'espace de choix du modèle. Plus de sélections plausibles mais fausses veut dire plus d'étapes qui ne produisent rien d'utile, et l'étape est l'unité de facturation. Rogner la surface abaisse ensemble le plancher de tokens et le taux d'erreur.
Le vocabulaire
| Terme | Sens |
|---|---|
| Portée | L'unité d'enregistrement par agent pour outils, prompts, variables, restrictions et écouteurs |
| Clé de portée | L'identité opaque qui indexe une portée, comparée par identité d'objet — en général l'agent vivant lui-même |
| Contexte d'agent | Le contexte propre à l'agent, où les enregistrements sont liés à sa durée de vie et visibles dans la portée |
| Restriction | Un filtre sur l'ensemble global d'outils pour une portée, appliqué par intersection |
| Masquage | Un élément de portée qui remplace son homonyme global, à l'intérieur de cette portée seulement |
| Fenêtre de setup | Le créneau de création où le créateur compose le monde de l'agent, avant publication ou premier assemblage de prompt |
Comment la composition se résout
Les restrictions filtrent d'abord l'ensemble global, puis les enregistrements locaux à la portée s'y ajoutent. Cet ordre est ce qui rend le moindre privilège praticable : on part d'une intersection avec le catalogue global — jamais plus que global — puis on ajoute exactement les outils spécifiques dont cet agent a besoin.
Le masquage offre le cas de substitution sans fork. Un agent peut recevoir une autre implémentation derrière un nom d'outil familier — variante en lecture seule, variante mesurée, backend moins cher — tandis que tous les autres continuent de voir la version globale.
La liaison à la durée de vie compte pour la même raison que le dispose. Les enregistrements de portée s'achèvent avec le contexte de l'agent, donc un enfant éphémère ne peut pas faire fuiter ses contributions dans le monde du parent.
Toute la composition se joue dans la fenêtre de setup, avant que l'agent soit publié ou assemble son premier prompt. Les décisions de privilège prises après le premier prompt ne sont plus des décisions de privilège : c'est du nettoyage.
Dispatch par portée et lignage
Les événements concernant un agent sont dispatchés avec le porteur de cet agent, si bien qu'un écouteur sait de qui il observe l'activité ; les événements de niveau registre restent non filtrés. À part cela, le lignage — session parente, profondeur de délégation, profondeur de sous-agent — est décrit explicitement comme une donnée qui n'affecte pas en soi la visibilité.
Cette séparation vaut d'être reprise. Un enfant n'hérite pas d'un accès parce qu'il est enfant ; l'accès se compose délibérément dans sa fenêtre de setup. Le privilège hérité par défaut, c'est exactement comme un sous-agent de résumé bon marché finit par détenir le même jeu d'outils coûteux que son parent.
Quatre choses à en faire
- Comptez vos définitions d'outils et multipliez par le nombre d'étapes par session. C'est votre taxe fixe d'outils par session, en tokens.
- Définissez un jeu d'outils minimal viable par rôle d'agent, et appliquez-le comme restriction plutôt que comme convention.
- Masquez les outils coûteux par des variantes bon marché ou en lecture seule dans les contextes à faible valeur, plutôt que de les retirer entièrement.
- N'héritez jamais par défaut du jeu d'outils du parent dans les sous-agents. Composez-le.
Related
- DeepSeek Harness : le guide complet
- Garde-fous de dépense dans le harness (EN)
- Sous-agents et profondeur de délégation (EN)
- Ce que « tout est un plugin » apporte (EN)
Want this applied to your own LLM spend? FinOps LLM runs a free audit of your AI costs and shows where the savings are. Book free audit →