Agent IA 19 août 2026 ~14 min DeepSeek Harness max-tokens

Comment poursuivre après une troncature de DeepSeek Harness par max-tokens en 2026 ?

Ce guide aide les développeurs et les équipes d’exploitation à décider s’il faut poursuivre une session DeepSeek Harness interrompue par max-tokens ou reconstruire la tâche. Nous séparons les symptômes d’affichage, les erreurs de modèle et les états persistants endommagés, puis proposons une procédure d’isolement et une liste de validation avant reprise.

Comment poursuivre après une troncature de DeepSeek Harness par max-tokens en 2026 ?

Ce guide aide les développeurs et les équipes d’exploitation à décider s’il faut poursuivre une session DeepSeek Harness interrompue par max-tokens ou reconstruire la tâche. Nous séparons les symptômes d’affichage, les erreurs de modèle et les états persistants endommagés, puis proposons une procédure d’isolement et une liste de validation avant reprise.

Symptôme → solution la plus rapide : si seule la réponse est coupée mais que l’interface, le modèle et la session fonctionnent encore, envoyez une demande courte et sans effet de bord après avoir vérifié le journal.

Symptôme → solution de sécurité : si la reprise échoue au même endroit, si l’ancienne session ne se recharge plus ou si l’état du dépôt ne correspond plus au récit, copiez les preuves, testez v0.1.0-rc.7 dans un environnement isolé, puis reconstruisez la tâche au lieu d’insister.

Cette procédure s’applique aux sessions DeepSeek Harness utilisées pour l’analyse de code, les tâches d’Agent prolongées, les workflows audio ou vidéo et les opérations distantes dont l’historique ne doit pas être altéré.

À lire en priorité si :

  • une longue session s’est arrêtée et refuse de poursuivre ;
  • vous préparez la validation de v0.1.0-rc.7 sur un environnement distant ;
  • vous devez choisir entre la récupération d’une ancienne session et la reconstruction contrôlée d’un Agent.

Dernière mise à jour : 19 août 2026. Les informations de version et de comportement publiées ont été vérifiées à partir de la version officielle v0.1.0-rc.7, du dépôt officiel et de la documentation d’architecture des sessions.

01

Le diagnostic commence par trois états différents

Une sortie coupée par max-tokens ne signifie pas automatiquement que la session est corrompue. Dans une interface d’Agent, plusieurs couches peuvent donner une impression similaire : le texte visible peut s’arrêter alors que le tour est correctement enregistré, la requête peut échouer côté modèle, ou bien l’historique persistant peut ne plus permettre de reconstruire une requête valide.

Nous séparons donc trois états.

1. Sortie interrompue, session encore exploitable

Le premier cas est le moins grave. L’interface accepte encore la saisie, le modèle sélectionné reste affiché, les contrôles de la session répondent et aucun message d’erreur durable n’apparaît. La dernière réponse est simplement incomplète.

Le signal important n’est pas la longueur visible du texte, mais la présence d’une fin de tour cohérente dans le journal. L’architecture officielle décrit les événements turn/*, step/*, assistant/* et tool/* comme des événements persistants ; le journal sert ensuite à reconstruire l’historique présenté au modèle. La documentation d’architecture décrit le flux de tour et les événements persistants.

Dans ce cas, une demande courte et sans effet de bord permet de vérifier si la session peut réellement repartir. Il ne faut pas immédiatement relancer une commande de modification, une migration ou un script de déploiement. Une demande de lecture, de résumé de l’état courant ou de confirmation du dernier événement offre un test plus propre.

Arrêt immédiat si :

  • la demande de test déclenche une nouvelle erreur au même point ;
  • l’Agent prétend avoir exécuté une action dont aucune trace n’existe ;
  • le dernier outil laisse un résultat incomplet ou contradictoire ;
  • l’interface répond, mais le modèle reçoit une histoire différente de celle affichée.

2. Échec reproduit au même emplacement

Lorsque la reprise échoue toujours après le même message, le même résultat d’outil ou le même changement de modèle, il faut arrêter les tentatives successives. Répéter une requête dans cet état peut multiplier les appels, produire de nouveaux événements ambigus et compliquer la comparaison entre l’état initial et l’état après incident.

Conservez d’abord une copie des journaux, des paramètres de lancement, de la version installée et du répertoire de travail. Ensuite, comparez trois facteurs :

  • l’emplacement exact de l’échec dans l’historique ;
  • le modèle et les options utilisés lors de la requête ;
  • le dernier outil ou contenu injecté avant l’interruption.

Un échec lié à une réponse tronquée n’a pas la même signature qu’une limitation du fournisseur ou qu’une erreur du modèle. Dans le premier cas, l’ancienne session peut parfois redevenir exécutable après correction du traitement de fin de réponse. Dans le deuxième, une nouvelle session avec le même historique peut échouer de manière identique. Dans le troisième, le comportement peut changer avec un autre modèle ou une requête minimale.

Ne supprimez pas les journaux pour « repartir proprement ». Une suppression détruit précisément les éléments qui permettent de savoir si l’échec se produit pendant la relecture, la reconstruction du contexte ou l’appel au modèle.

3. Session visible mais impossible à exécuter

Une page qui s’ouvre ne prouve pas que l’ancienne session est récupérable. L’interface peut charger le titre, certains messages ou des métadonnées tout en échouant au moment de construire la prochaine requête.

La comparaison la plus utile consiste à créer une session neuve dans le même environnement, avec le même modèle et une demande sans effet de bord. Si la nouvelle session fonctionne mais que l’ancienne échoue, le problème doit être limité en priorité à l’état persistant ou à la compatibilité de l’historique.

La documentation officielle indique que le journal de session est la source du contexte présenté au modèle et que deriveMessages() projette l’historique à partir de ce flux. Elle précise également qu’un contenu visible par le modèle doit pouvoir être reconstruit depuis le journal. Le fonctionnement du journal et de la reconstruction de l’historique est détaillé dans la documentation officielle.

Cette distinction est essentielle pour répondre à la question souvent posée après une coupure : peut-on encore interroger DeepSeek Harness ? Oui, si la prochaine requête peut être assemblée à partir d’un historique cohérent. Non, si l’interface ne fait qu’afficher une session dont les événements nécessaires à la reprise sont manquants ou incompatibles.

02

max-tokens et contexte trop long : deux causes à ne pas confondre

Une troncature max-tokens concerne la sortie autorisée pour une réponse. Le modèle peut avoir reçu une requête valide, commencé à produire une réponse ou un appel d’outil, puis atteindre la limite de sortie configurée. Cela ne prouve pas que l’historique d’entrée est trop long.

Un contexte trop long concerne la quantité de données que le système doit fournir au modèle avant la génération : messages précédents, résultats d’outils, consignes, schémas d’outils et contenus injectés. Dans ce cas, la requête peut être refusée, réduite ou transformée avant que le modèle ne produise une réponse complète. Les limites exactes dépendent du modèle, du fournisseur et de la configuration ; nous ne leur attribuons donc aucun seuil universel.

Observation Hypothèse prioritaire Vérification Décision
Le texte s’arrête, mais la saisie et la session restent normales Sortie limitée par max-tokens Vérifier la fin du tour et lancer une demande de lecture Poursuivre uniquement si le nouvel appel est cohérent
L’échec apparaît après le même résultat d’outil Historique ou événement difficile à rejouer Comparer le dernier tool/result avec la copie du journal Isoler la session et suspendre les répétitions
Une session neuve fonctionne avec le même modèle État persistant ancien ou historique incompatible Tester une copie de l’ancienne session Valider une migration sur copie, jamais sur l’original
Les sessions neuves et anciennes échouent pareillement Modèle, fournisseur ou configuration Tester une demande minimale et un modèle de comparaison Documenter l’incident avant toute reconstruction
Le modèle poursuit mais le dépôt ne correspond pas à son récit État de travail non fiable Comparer fichiers, processus, validations et résultats d’outils Arrêter la tâche et reconstruire le contexte

Le terme SessionEvent doit être utilisé comme un point de contrôle, non comme une preuve suffisante de réussite. Un événement durable indique qu’un fait a été enregistré dans le flux de session ; il ne garantit pas que l’action correspondante a produit le résultat attendu dans le système de fichiers ou dans un processus distant. L’architecture officielle distingue les faits persistants des événements en direct utilisés pour observer le travail en cours. La séparation entre événements durables et événements d’exécution est documentée ici.

Pour une analyse de code, cela signifie qu’un SessionEvent relatant une modification ne remplace pas la vérification du diff. Pour un montage vidéo, il ne remplace pas la présence du fichier exporté ni la validation de sa durée. Pour une tâche distante, il ne remplace pas la vérification du processus, du dépôt et des permissions sur le Mac utilisé.

03

La vérification de v0.1.0-rc.7 doit rester isolée

La version v0.1.0-rc.7 annonce officiellement une correction du problème où la troncature par max-tokens empêchait une session de continuer. La même note mentionne aussi une correction concernant la pagination des historiques volumineux. Cela confirme que le code de correction a été publié ; cela ne constitue pas une garantie que toutes les sessions déjà endommagées seront automatiquement réparées. La note de version officielle mentionne explicitement la conservation des sessions après troncature.

La procédure de validation doit donc répondre à une question limitée : « cette copie de session, dans cet environnement, peut-elle charger l’historique et exécuter une nouvelle étape ? » Elle ne doit pas chercher à prouver que toutes les anciennes sessions seront récupérables.

Procédure en six étapes

  1. Figer l’état avant changement.
    Notez la version actuelle, la commande de lancement, le profil utilisé, le modèle, les options de sortie et l’heure de l’incident. Copiez les journaux et le répertoire de travail dans un emplacement séparé.

  2. Copier la session, sans toucher à l’original.
    Travaillez sur une copie identifiable. L’original doit rester disponible pour comparaison, rapport d’incident ou retour arrière. Cette règle est particulièrement importante lorsque la session contient des décisions d’approbation ou des appels d’outils.

  3. Créer une session neuve de référence.
    Dans le même environnement, envoyez une demande de lecture sans modification. Vérifiez que l’interface, l’authentification, le modèle et la chaîne d’outils sont fonctionnels.

  4. Installer ou lancer rc.7 en environnement séparé.
    Ne remplacez pas immédiatement l’exécution qui contient la tâche importante. Utilisez un profil, un répertoire de données ou une machine distante distincte afin que l’essai de migration ne réécrive pas les preuves.

  5. Charger la copie et comparer les événements.
    Recherchez le dernier tour complet, le dernier assistant/message, les résultats d’outils, les erreurs et les événements liés à la fin de génération. Une session est prometteuse si elle se charge sans réécriture destructive et si la prochaine requête est admise.

  6. Effectuer une reprise sans effet de bord.
    Demandez à l’Agent de restituer le dernier état connu, sans modifier de fichier ni lancer de processus. Comparez sa réponse au journal, au dépôt et à l’environnement réel. Ce n’est qu’après cette vérification qu’une action contrôlée peut être envisagée.

L’exécution depuis npm et l’exécution depuis les sources sont toutes deux prévues par le dépôt officiel, mais elles ne doivent pas être mélangées pendant un diagnostic sans noter précisément la provenance du binaire et des dépendances. Le README officiel décrit les deux modes d’exécution.

04

La liste de reprise ou de reconstruction

Utilisez la liste suivante avant de laisser un Agent modifier à nouveau le projet :

  • La copie des journaux originaux est conservée dans un emplacement séparé.
  • La version avant incident et la version rc.7 testée sont consignées.
  • La session ancienne a été testée sur une copie, jamais sur le répertoire original.
  • Une session neuve fonctionne dans le même environnement de référence.
  • L’historique ancien est lisible jusqu’au dernier événement pertinent.
  • Une demande sans effet de bord peut commencer un nouveau tour.
  • Le dernier fichier modifié correspond à ce que raconte la session.
  • Les résultats d’outils sont présents et vérifiables.
  • Les décisions d’approbation et les commandes réellement exécutées sont connues.
  • Le dépôt, les processus et les fichiers distants correspondent au contexte conversationnel.
  • Aucun appel supplémentaire n’a été lancé uniquement pour « voir si cela passe ».
  • Un retour arrière reste possible si la validation rc.7 échoue.

La reprise est acceptable seulement si toutes les cases critiques sont validées : historique lisible, nouveau tour exécutable, espace de travail cohérent et preuves complètes. Une session qui répond mais décrit un état de code inexistant n’est pas récupérée ; elle est seulement lisible.

Si une seule de ces conditions échoue, conservez l’original et créez une nouvelle session. Injectez alors un résumé rédigé manuellement, limité aux éléments vérifiés : objectif, étapes terminées, fichiers modifiés, commandes exécutées, validations réussies, incident observé et état actuel du dépôt. Il vaut mieux perdre la continuité conversationnelle que laisser un Agent poursuivre une tâche à partir d’un faux état.

05

Les limites opérationnelles à prendre en compte

La récupération dépend aussi de l’environnement d’exécution. Une session persistante qui tourne sur un Mac distant peut rester ouverte alors que le navigateur local a été fermé, mais cette continuité n’est utile que si les données de session, le répertoire de travail et les processus sont sauvegardés selon une procédure indépendante.

Trois coûts cachés apparaissent souvent :

  • Le coût de preuve : sans copie du journal avant l’upgrade, il devient difficile de distinguer une correction réelle d’une simple nouvelle tentative.
  • Le coût de dérive : un fichier modifié, une branche changée ou un processus relancé peut rendre l’ancien historique trompeur.
  • Le coût de permission : une session restaurée peut lire son historique mais ne plus disposer des mêmes accès au dépôt, au terminal, au réseau ou aux fichiers multimédias.

Pour les tâches créatives, cette dernière limite est concrète. Un Agent peut reprendre l’analyse d’un projet audio ou vidéo, mais si le volume distant, le cache de rendu ou le fichier source n’est plus monté au même emplacement, la continuité textuelle ne garantit pas la continuité de production.

Une restauration réussie ne se mesure pas à l’affichage de l’ancienne conversation. Elle se mesure à la concordance entre le dernier événement, le prochain tour et l’état vérifiable du poste de travail.

Si la tâche doit rester disponible pendant une longue période, prévoyez une machine stable, une copie du projet et une procédure de contrôle indépendante. Notre offre de Mac distant peut servir de support temporaire pour isoler une validation, comparer deux environnements ou maintenir une session longue sans modifier immédiatement le poste principal. Pour choisir une implantation adaptée, consultez aussi les solutions de Mac distant en Amérique du Nord.

06

Quand reconstruire plutôt que poursuivre

La reconstruction est la bonne décision dans quatre situations : le dernier tour complet ne peut pas être identifié, le nouvel appel échoue encore après rc.7, les événements ne correspondent pas aux fichiers réels, ou l’Agent ne peut pas expliquer précisément ce qui a été exécuté.

Dans ce cas, ne supprimez pas l’ancienne session et ne réutilisez pas son historique complet sans sélection. Conservez-la comme pièce de diagnostic, puis démarrez un nouveau contexte avec :

  • l’objectif exact de la tâche ;
  • la liste des actions confirmées ;
  • les actions seulement supposées ;
  • les fichiers réellement modifiés ;
  • le résultat des derniers tests ;
  • les processus encore actifs ;
  • les décisions qui doivent être reprises par un humain.

Cette méthode répond également à la question de savoir s’il faut supprimer les anciens journaux : non, pas avant la fin de l’analyse et de la période de conservation décidée par l’équipe. Un journal inutilisable pour la reprise peut rester indispensable pour comprendre l’incident.

La version rc.7 est donc un candidat de validation, pas une promesse de résurrection universelle. Si la copie passe les quatre contrôles — lecture, nouveau tour, cohérence du poste et preuves — la poursuite peut être tentée avec une action réversible. Sinon, la reconstruction est techniquement plus sûre.

Pour un besoin ponctuel, louer un Mac chez VNCMac peut être plus rationnel que maintenir un poste dédié uniquement pour tester une version candidate : le poste actuel impose souvent une installation intrusive, un état de dépendances difficile à reproduire et un retour arrière incomplet. Une machine distante séparée permet de préserver le Mac de production, de garder une copie de travail intacte et de comparer l’ancienne exécution avec rc.7 dans un cadre contrôlé. En revanche, l’achat d’un Mac reste préférable pour une charge permanente, un accès physique aux périphériques ou une production qui doit rester disponible sans dépendre d’une location.

Avant toute reprise, sauvegardez donc la session et l’espace de travail, testez rc.7 sur une copie, puis choisissez entre continuation contrôlée et nouvelle session. Pour les opérations longues, notre guide consacré à la location de Mac pour les tâches persistantes aide à organiser un environnement séparé sans transformer l’incident en nouvelle source de dérive.