Ilustración editorial para DeepSeek V4.1 Flash: cómo comprobar si su caché comprimida reduce el coste real de un agente
Imagen generada con gpt-image-2.5-sunburst para InferamaSource ↗
01

Ce que DeepSeek affirme et ce qu’il reste à démontrer

Pour une équipe qui évalue un agent, la question utile n’est pas seulement de savoir quelle quantité de mémoire le modèle doit consacrer à la conservation de son contexte. Il faut déterminer si une tâche donnée, dans des conditions reproductibles, aboutit à moindre coût, plus rapidement et avec une qualité acceptable. DeepSeek présente V4.1 Flash comme un modèle doté d’une architecture qui réduit l’empreinte du cache clé-valeur, ou cache KV. Sa fiche technique indique que, par rapport à V4 Flash, le cache KV persistant représente environ un huitième de sa taille pour une séquence de même longueur. Elle indique également huit milliards de paramètres actifs pendant le préremplissage du contexte et seize milliards pendant la génération.

Ces chiffres sont des déclarations du fabricant qui décrivent des caractéristiques techniques du modèle. À eux seuls, ils ne démontrent pas qu’un agent accomplira une tâche à moindre coût ou avec une latence plus faible. La dépense finale dépend notamment de la facturation des entrées et des sorties, de la part du contexte réutilisée, des appels aux outils et du nombre de tentatives nécessaires pour obtenir un résultat valide. Le temps total inclut par ailleurs des opérations qui ne diminuent pas nécessairement en même temps que le cache.

Cette distinction évite de transformer un avantage d’infrastructure en conclusion sur le produit. Un cache plus petit peut faciliter la gestion de longs contextes ou réduire les ressources persistantes nécessaires à un déploiement. Pour savoir si une application en tire effectivement parti, il faut mesurer le parcours complet : de la requête initiale jusqu’à la validation de la tâche selon des critères définis à l’avance.

02

Architecture asymétrique et cache KV : ce que mesure chaque donnée

Le cache KV conserve des états calculés à partir des jetons précédents. Le modèle peut ainsi poursuivre le traitement d’une séquence sans reconstruire depuis le début tout ce qu’il a déjà lu. Dans une conversation ou un agent doté d’un historique étendu, cet état peut croître à mesure que s’ajoutent des instructions, des résultats d’outils et des documents. En réduire l’empreinte peut compter pour la mémoire persistante et la gestion de longues séquences. Cela ne supprime toutefois ni les poids du modèle ni le traitement des nouvelles entrées.

DeepSeek décrit une architecture asymétrique : le nombre de paramètres actifs par jeton varie entre le préremplissage de l’entrée et la phase de génération. Son document technique mentionne huit milliards de paramètres actifs en prefill et seize milliards en decode. Il s’agit d’une description de la répartition du calcul entre ces phases, non d’une mesure directe du temps économisé ou d’un tarif. Pour connaître l’effet sur une charge donnée, il faut disposer de mesures d’exécution portant sur cette charge.

Le rapport décrit également SWA Bounded Replay : le système reconstruit certains états du cache SWA en rejouant les jetons les plus récents, au lieu de conserver tous ces états durablement sur SSD. Ce choix implique un compromis entre stockage persistant et travail de reconstruction. Ainsi, même lorsque l’empreinte stockée diminue, il ne suffit pas de compter les octets : il est utile d’observer si la reconstruction influe sur le temps, la mémoire en cours d’exécution ou la capacité à traiter des requêtes simultanées. Les sources décrivent le mécanisme, mais ne garantissent pas une amélioration identique dans tous les déploiements.

La documentation disponible ne permet pas de considérer la réduction du cache comme un multiplicateur universel d’économies. Le chiffre compare le cache persistant à celui de la génération précédente pour une longueur de séquence équivalente. Il ne précise pas quelle part du coût total ce cache représente dans une application donnée et ne fournit pas de mesure du coût par tâche pour toutes les combinaisons de contexte, d’outils et d’entrées visuelles.

Propriété technique et résultat opérationnel

Distinguer la variable décrite par le fabricant de celle que l’équipe doit mesurer.

DonnéeCe qu’elle décritCe qu’elle ne démontre pas à elle seule
Empreinte du cache KV persistantEspace persistant associé à l’état KV, selon la comparaison indiquée par DeepSeek.Le coût facturé par tâche, le temps total ou la qualité du résultat.
Paramètres actifs en prefill et en decodeL’architecture que DeepSeek déclare pour les deux phases de traitement.Une réduction donnée de la latence dans un agent réel.
Succès et échecs du cache d’entréeLe nombre de jetons d’entrée que l’API a enregistrés comme succès ou échecs du cache.La réussite de la tâche ou la baisse de son coût global.
03

L’unité d’analyse doit être la tâche acceptée

Comparer le coût d’un appel isolé peut induire en erreur lorsque le système fonctionne comme un agent. Une tâche peut nécessiter plusieurs requêtes au modèle, l’exécution d’outils, la correction d’une réponse et de nouvelles tentatives. Si une configuration produit des réponses plus rapidement, mais exige davantage de tentatives, la latence et la dépense par résultat utile peuvent augmenter. À l’inverse, un appel isolé un peu plus coûteux peut éviter des étapes ultérieures. L’indicateur principal doit englober tout le travail nécessaire à l’obtention d’un résultat acceptable.

Avant le test, l’équipe doit définir ce que signifie « acceptable » pour chaque tâche. Il peut s’agir, par exemple, d’une modification proposée qui passe les tests, d’une extraction contenant les champs obligatoires ou d’une réponse qui cite les éléments de preuve corrects. La validation doit rester identique entre les conditions et, si possible, ne pas dépendre de l’impression subjective d’une personne qui sait quelle variante est testée.

Le coût doit être calculé à partir des données d’utilisation disponibles et du tarif applicable au canal d’accès au moment du test. La latence jusqu’au premier jeton et la durée totale de la tâche exigent des horodatages externes : les données d’utilisation d’une réponse ne remplacent pas nécessairement un chronométrage de bout en bout. Il faut également inclure les erreurs, les nouvelles tentatives, les réponses rejetées par le validateur et le travail supplémentaire des outils.

Préparer une comparaison qui répond à une question précise

  1. 01Choisir des tâches réelles ou représentatives et définir à l’avance le critère qui détermine si chaque résultat est valide.
  2. 02Consigner l’identifiant exact du modèle, la date, la configuration de l’agent, les prompts, les outils et leurs versions.
  3. 03Conserver les mêmes instructions, limites de jetons, règles de nouvelle tentative et critères de validation entre les conditions comparées.
  4. 04Effectuer suffisamment de répétitions pour observer la variabilité, sans écarter silencieusement les erreurs ou les exécutions incomplètes.
  5. 05Calculer le coût et la durée par tâche acceptée, et communiquer aussi les résultats par appel et par tentative.
  6. 06Conserver les données d’utilisation de l’API et les horodatages externes avec les critères d’acceptation.
04

Concevoir les conditions : contexte, préfixes, outils et images

Il vaut mieux ne pas modifier toutes les variables en même temps. Pour étudier la longueur du contexte, on peut répartir les tâches en groupes à historique court, moyen et long, en veillant à ce qu’elles restent comparables. Si la longueur augmente, il faut enregistrer à la fois le nombre de jetons d’entrée et celui des étapes ultérieures. On peut ainsi distinguer le coût initial de lecture du contexte du coût cumulé de sa conservation et de sa réutilisation.

La réutilisation des préfixes mérite un test distinct. Le guide de DeepSeek sur le cache de contexte décrit une correspondance fondée sur les préfixes et qualifie la persistance de best-effort : un préfixe répété ne garantit pas un succès du cache. Pour obtenir un résultat interprétable, il faut conserver à l’identique la partie que l’on souhaite réutiliser et faire varier de manière contrôlée le contenu ajouté à la fin. Consigner les jetons du cache enregistrés comme succès et comme échecs permet de vérifier ce qui s’est passé à chaque appel, plutôt que de supposer que le contexte a été réutilisé.

Pour les agents utilisant des outils, il faut fixer l’ensemble des outils disponibles, leurs descriptions, leurs paramètres et leurs conditions d’exécution. L’API peut signaler les appels aux outils dans l’échange et l’utilisation qui leur est associée, mais les durées de l’outil et de l’agent doivent être mesurées de manière à pouvoir les distinguer. Une recherche externe ou l’exécution de code peut dominer le temps total, même si le modèle réduit sa propre charge de traitement.

Les entrées visuelles doivent être traitées comme une condition distincte, et non comme un détail ajouté sans contrôle. Si elles font partie de la charge prévue, il faut comparer des tâches équivalentes avec des images représentatives et enregistrer leur effet sur le coût, la durée et la réussite de la tâche. Les sources fournies n’établissent pas que la réduction du cache entraîne une amélioration particulière pour les charges visuelles. Il faut mesurer cette relation, et non la présumer.

05

Ce qu’il faut observer dans l’API et mesurer en dehors

La réponse de chat de DeepSeek expose des champs d’utilisation qui comprennent les jetons d’entrée et de sortie, ainsi que des informations sur les jetons d’entrée associés aux succès et aux échecs du cache. La spécification prévoit aussi des informations d’utilisation liées aux appels aux outils. Ces données décrivent ce que l’API a enregistré pour chaque requête et constituent une base utile pour rapprocher la consommation. Elles ne prouvent pas à elles seules le temps nécessaire à l’agent pour aller du début à la fin ni le respect de l’objectif.

Pour mesurer la latence jusqu’au premier jeton, le chronomètre doit démarrer à un point défini — par exemple, à l’envoi de la requête — et s’arrêter à la réception du premier jeton de réponse. Il faut un second intervalle pour la durée de la tâche : du début du travail jusqu’au moment où le validateur déclare le résultat acceptable, ou jusqu’à ce que l’exécution soit classée comme un échec. Si le temps d’attente en file, celui des outils ou celui de la validation est inclus, il faut préciser comment il est mesuré. Sinon, les chiffres de deux tests risquent de ne pas être comparables.

L’équipe devrait communiquer les distributions, et pas seulement une moyenne : la médiane et les plages ou percentiles permettent de voir si quelques exécutions lentes faussent l’expérience. Il convient aussi de consigner le taux de réussite et le nombre de nouvelles tentatives. Un coût moyen inférieur associé à davantage d’échecs ne démontre pas une efficacité utile si l’objectif opérationnel est de mener les tâches à terme.

Si l’API ne fournit pas une mesure donnée — par exemple, une ventilation du temps par phase pour l’exécution complète — il ne faut pas la reconstituer comme s’il s’agissait d’une donnée observée par le fournisseur. On peut la chronométrer en externe, en l’identifiant comme une mesure de l’équipe. Distinguer ainsi les observations du fournisseur et les mesures propres rend les résultats auditables et évite d’attribuer au modèle ce qui dépend du service, du réseau ou des outils.

Enregistrement minimal pour chaque exécution

La conservation de ces champs facilite l’interprétation des différences sans confondre utilisation de l’API et résultat de l’application.

GroupeChamps recommandés
IdentificationModèle et identifiant demandé, date, version du banc de test, tâche et condition expérimentale.
Utilisation de l’APIJetons d’entrée et de sortie, jetons du cache signalés comme succès ou échecs et appels aux outils.
DuréeLatence jusqu’au premier jeton et durée jusqu’à l’achèvement ou à la déclaration d’échec, mesurées en externe.
RésultatCritère d’acceptation, réussite ou échec, nouvelles tentatives et motif de l’échec.
CoûtCoût calculé à partir de l’utilisation observée et du tarif applicable, ventilé par appel et par tâche acceptée.
06

Éviter une fausse référence avec les alias et les versions

Toute comparaison historique exige de vérifier quel modèle a réellement traité chaque requête. La documentation de DeepSeek indique que `deepseek-flash` est l’identifiant d’accès actuel à V4.1 Flash et que d’anciens identifiants de V4 Flash peuvent être routés vers le nouveau modèle. Si un test est effectué aujourd’hui avec un ancien alias et présenté comme une mesure de l’ancien modèle, le résultat peut être trompeur : le nom envoyé ne garantit pas que l’exécution ait utilisé une version historique.

Avant de lancer un test, il faut consulter le journal des modifications et la documentation de l’API, noter l’identifiant employé et conserver la date de consultation. Si un alias est redirigé, l’exécution doit être étiquetée avec le modèle de destination indiqué dans la documentation, et non comme une répétition de l’ancien modèle. Une comparaison historique exige des données recueillies lorsque l’ancienne version était disponible ou un accès qui identifie sans ambiguïté les deux versions.

L’état des noms et des redirections peut évoluer. Le protocole doit donc traiter l’identifiant comme une composante de la configuration expérimentale, et non comme une information accessoire. Si l’incertitude relative aux alias ou aux changements du service ne peut être levée, elle doit figurer dans le compte rendu.

07

Interpréter les résultats sans extrapoler à l’excès

Un test peut étayer une conclusion circonscrite : par exemple, pour un ensemble de tâches, un modèle de préfixes, une configuration d’outils et un tarif donnés, une condition a enregistré tel coût et telle durée par résultat accepté. Il ne démontre pas que tous les agents en bénéficieront de la même manière, que la réduction du cache est la cause de chaque différence observée, ni que le résultat se maintiendra avec un autre canal d’accès.

Pour étayer une attribution plus forte, il est préférable de ne faire varier qu’une condition à la fois et de répéter le test. Si la longueur du contexte, le prompt et les outils changent simultanément, il est impossible d’isoler la variable qui explique l’écart. De même, une hausse des jetons du cache enregistrés comme succès ne démontre pas une amélioration de la qualité : la réussite doit être mesurée selon le critère défini pour la tâche.

La documentation disponible suffit à formuler des hypothèses techniques sur l’architecture, les champs d’utilisation et le comportement du cache de contexte. Elle ne suffit pas à déduire une économie universelle par tâche, une latence garantie ou un avantage indépendant de la charge. Les sources primaires décrivent les chiffres et les mécanismes publiés par DeepSeek ; l’équipe doit présenter les résultats de son application comme ses propres mesures, en précisant les conditions de test.

Une conclusion opérationnelle solide distingue quatre niveaux : ce que déclare le fabricant, ce qu’expose l’API, ce que mesure l’équipe et ce qui reste inconnu. La compression du cache est une propriété pertinente pour évaluer l’infrastructure. En revanche, une décision de déploiement devrait reposer sur le coût et la durée par tâche acceptée, ainsi que sur la qualité, la variabilité, les nouvelles tentatives et les limites d’observabilité.

Critères pratiques pour décider d’élargir le test

  1. 01Ne poursuivre que si les tâches évaluées reflètent le contexte réel et l’usage des outils prévus.
  2. 02Exiger une amélioration du coût ou de la durée par tâche acceptée, sans masquer les changements de qualité, de taux de réussite ou de nombre de nouvelles tentatives.
  3. 03Répéter les mesures avec des identifiants et des conditions documentés afin de vérifier la stabilité du résultat.
  4. 04Distinguer les données rapportées par l’API des durées, validations et coûts calculés par l’équipe.
  5. 05Limiter la conclusion au canal, à la période, aux tâches et à la configuration mesurés ; ne pas l’étendre à d’autres déploiements sans nouveaux tests.

Questions ouvertes

  • Les sources fournies ne présentent pas de comparaison indépendante démontrant une économie universelle de coût ou de latence par tâche pour les agents.
  • Le chiffre du cache persistant décrit une comparaison technique du fournisseur et ne précise pas la part de mémoire, de coût total ou de durée qu’il représente dans chaque déploiement.
  • La documentation d’utilisation de l’API ne remplace pas une mesure externe de la latence jusqu’au premier jeton et de la durée totale de la tâche.
  • La persistance du cache fondée sur les préfixes est présentée comme best-effort ; les succès observés peuvent varier d’une requête à l’autre.
  • Les alias et le routage des modèles peuvent évoluer ; il faut consulter le journal des modifications à la date de chaque test.
  • Les sources disponibles ne permettent pas d’affirmer que les améliorations du cache procurent un avantage particulier pour les tâches comportant des images.
08

Poursuivre l’exploration

08

Sources consultées

03

Corrections et transparence

Si vous repérez une information incorrecte ou obsolète, envoyez-nous la page et la source à vérifier.

Proposer une correction