BK cloud / systèmes Articles
FR
English ENDeutsch DEEspañol ES中文 ZHFrançais FR
Prenons contact ↗
← Retour aux articles

Une petite ligne de statut pour garder les idées claires

Quand un agent de code travaille, le terminal ne manque pas d’animation. Les commandes défilent, les fichiers changent et les messages arrivent. Pourtant, mes questions sont souvent bien plus simples : quel modèle cette session utilise-t-elle ? Où en est son contexte ? Suis-je dans la bonne session ? Et combien ce travail me coûte-t-il ?

La roue d’attente répond à une autre question

Mon article sur les estimations de délai concernait l’organisation de mon temps : attendre, changer de sujet ou revenir plus tard ? La ligne de statut répond à un autre aspect du même problème. Avant de décider de la suite, je veux voir clairement la session que j’ai sous les yeux.

Une roue qui tourne indique qu’il se passe quelque chose. Une longue conversation raconte ce qui s’est passé. Ni l’une ni l’autre ne me donne forcément les informations essentielles d’un coup d’œil.

Ce que la ligne de statut rend visible

La capture du terminal illustre cette idée. Une ligne réunit le routage sélectionné, le modèle effectivement utilisé, l’occupation du contexte et les estimations de coût. Les identifiants de projet et de compte ont été remplacés par des exemples neutres.

Ligne de statut de terminal avec des identifiants neutres : routage du modèle, utilisation du contexte et estimations de coût.
Capture retouchée : le chemin du projet et la ligne de compte utilisent des exemples neutres (/path/to/project et example-account). Les valeurs visibles sont un instantané de cette configuration, pas des données en direct.

Le libellé de routage et le modèle auquel il aboutit sont deux informations différentes. Ici, la requête passe par OpenRouter pour accéder à un modèle OpenAI. Il s’agit d’une configuration étendue, pas de l’interface par défaut de Claude Code.

Le contexte affiche 186 551 tokens sur 1 000 000, soit 19,0 %. Cela rend une capacité abstraite plus lisible. Mais 19 % de contexte ne signifie pas que la tâche est terminée à 19 %, et ne dit rien, à lui seul, sur le temps restant.

Les coûts affichés sont explicitement des estimations ou des compteurs propres au fournisseur. Chacun doit être défini ; je ne confonds pas un chiffre dans le terminal avec une facture vérifiée. La prévision et le mode automatique sont d’autres signaux de cette configuration, pas des fonctions du rendu minimal décrit ici.

Le suivi des coûts a sa place sur la même ligne

La visibilité des coûts est l’un des meilleurs arguments pour ajouter une ligne de statut. L’agent peut continuer à produire de l’activité pendant que je perds le compte des essais, relances ou sessions parallèles. Je préfère le remarquer avant la facture.

La capture montre « est. $6.61 » et « OR today $9.31 ». Ce sont deux compteurs distincts, pas deux sommes à additionner. Avant de m’y fier, je dois connaître leur périmètre, leur source tarifaire et leur rythme de mise à jour. Les estimations aident à piloter ; les relevés du fournisseur restent la référence pour les frais réels.

Ma routine serait simple :

  • Fixer un point de contrôle budgétaire avant de commencer. Décider à quel moment s’arrêter pour faire le point sur les prochaines exécutions, plutôt que d’attendre une mauvaise surprise.
  • Comparer l’augmentation du coût aux résultats utiles. Si le compteur monte et que le même test échoue toujours, réduire le périmètre ou examiner le blocage avant de relancer une tentative trop large.
  • Choisir délibérément la prochaine étape. Une petite modification ciblée, un modèle adapté ou une vérification manuelle peuvent suffire. Changer de modèle n’exonère pas des mêmes contrôles qualité.

Un compteur visible n’est pas un plafond budgétaire automatique : il n’arrête pas les requêtes. Il faut aussi distinguer les frais d’API, les abonnements et les soldes propres à chaque fournisseur. L’objectif est de faire du coût un critère conscient du travail, au même titre que le temps et la qualité technique.

Un pourcentage doit aider à décider

Quand le contexte se remplit, c’est le moment de penser à la continuité. La suite est-elle claire ? Les décisions importantes ont-elles été consignées durablement ? Un passage de relais concis serait-il utile avant d’entamer la prochaine partie ?

Il n’existe pas de pourcentage universel à partir duquel une session devient mauvaise. Une tâche courte et ciblée n’impose pas les mêmes exigences qu’une enquête tentaculaire. J’utilise le chiffre comme un repère, puis j’examine le travail lui-même.

La jauge de contexte ne dit pas non plus si l’agent attend une autorisation ou une décision. Il faut pour cela un signal d’attention explicite, autre sujet de cette série.

« Inconnu » est une information utile

Le pire affichage est celui qui transforme discrètement une information absente en chiffre rassurant. Si une valeur n’est pas disponible, il faut le dire.

La capture présente des valeurs disponibles. Lorsqu’une valeur manque, je préfère « indisponible » à un zéro vert. Cela me dit ce que je ne sais pas, sans suggérer une précision injustifiée.

Assez petit pour être compris et supprimé

Claude Code permet de configurer une ligne de statut : une commande locale lit le JSON de session et produit l’affichage. La documentation officielle décrit les champs du modèle et du contexte. C’est un point de départ concret, sans ajouter un tableau de bord.

Pour une version minimale, je commencerais par le modèle et le contexte, puis j’ajouterais une estimation de coût lorsque sa source et son périmètre sont clairs. Le rendu doit utiliser les champs fournis : pas d’analyse du dépôt, de recherche réseau ou d’archive des conversations. Ce sont les choix de cet exemple, pas des garanties sur toutes les extensions de ligne de statut.

Avant de l’activer, je l’essaierais avec des entrées connues pour vérifier que les valeurs absentes restent visiblement absentes. Je préfère commencer par des signaux compréhensibles plutôt que d’accumuler les chiffres.

Moins de choses à garder en tête

Une ligne de statut n’améliore pas le raisonnement d’un agent et ne dispense pas de relire ses modifications. Elle offre un endroit simple et stable pour les informations qu’il faut autrement retenir ou aller chercher.

C’est cette direction qui m’intéresse pour les outils d’agents : moins d’interruptions pour retrouver le contexte de base, et plus d’attention pour les décisions qui exigent vraiment une personne.

Et vous, que mettriez-vous sur une ligne discrète sous votre session de code ?

Référence

Documentation officielle des lignes de statut Claude Code, consultée le 27 octobre 2026.

Essayez un petit exemple en local

Le ZIP contient trois fichiers : un script Python lisible, des données de session fictives et un mode d’emploi. Le script affiche une ligne puis se termine.

Télécharger l’exemple ZIP · Voir le code Python

Essayez avec les données d’exemple fournies :

python3 statusline-example.py < sample-session.json

Exemple de sortie (données fictives) :

Example model A | context 19% | est. $0.42

Python 3 est nécessaire. Aucun paquet supplémentaire, droit administrateur, identifiant ou appel réseau. Une fois téléchargé, cet exemple ne contacte jamais ce site lors de son exécution.

Il s’agit d’un exemple pédagogique, pas d’un plugin pour un agent de programmation. Il met en forme des valeurs fournies en JSON ; il ne détecte pas le modèle, ne récupère pas le nombre de tokens et ne calcule pas votre facture. Une véritable intégration nécessite un adaptateur distinct.