2026.08.12 (Mer)
2026.08.14 (Ven) mis Ă  jour

✹ RĂ©sumĂ© de GPT-5.6 Sol

J’ai ouvert une nouvelle conversation et prĂšs de 30 % du contexte de 258k avait dĂ©jĂ  disparu. J’ai refusĂ© une rĂ©ponse qui ne supprimait que quelques lignes et réécrit les rĂšgles partagĂ©es et les Skills en anglais condensĂ© sans affaiblir leurs limites de sĂ©curitĂ©.

PrĂšs de 30 % avait disparu avant mĂȘme que je commence

J’ai ouvert une nouvelle conversation avec Codex et constatĂ© qu’une part importante du contexte Ă©tait dĂ©jĂ  occupĂ©e. La limite Ă©tait de 258k, mais les rĂšgles partagĂ©es et la liste des Skills prenaient dĂ©jĂ  leur place avant le dĂ©but du vrai travail.

J’ai d’abord demandĂ© quelle quantitĂ© de contexte Ă©tait chargĂ©e au lancement d’une conversation. Codex m’a rĂ©pondu avec un chiffre absurdement supĂ©rieur, et je l’ai corrigĂ© tout de suite.

« Non, 258k est le maximum. Les rĂšgles globales doivent ĂȘtre trop grosses
 »

À bien y penser, ce n’était pas Ă©tonnant. Chaque fois que l’IA faisait une erreur, j’ajoutais une rĂšgle partagĂ©e pour lui interdire de la reproduire. AutoritĂ©, Git, credentials, dĂ©ploiement, navigateur, UI/UX, documentation, Goals, travail parallĂšle, sĂ©paration entre projets professionnels et personnels : tout s’était accumulĂ©. Je transformais les tĂąches rĂ©pĂ©tĂ©es en Skills et, lorsqu’une Skill Ă©chouait Ă  son tour, j’y ajoutais une exception ou une procĂ©dure de vĂ©rification.

Je voulais empĂȘcher l’IA de perdre son contexte Ă  chaque fois. J’avais mĂȘme Ă©tĂ© heureux d’avoir reliĂ© le fil de mon travail et mon intuition grĂące aux Codex Skills. Mais lorsque les dispositifs conçus pour prĂ©server le contexte deviennent trop longs, ils commencent par manger l’espace rĂ©servĂ© au nouveau travail. Les repĂšres qui prolongeaient le fil Ă©taient peu Ă  peu devenus un bagage.

Supprimer quelques lignes était loin de suffire

Au dĂ©part, j’ai demandĂ© un audit limitĂ© aux Ă©lĂ©ments dont la suppression ne pouvait certainement pas dĂ©grader les performances. Codex est restĂ© prudent et n’a nettoyĂ© que quelques rĂ©pĂ©titions et passages manifestement trop longs.

Le rĂ©sultat m’a immĂ©diatement frustrĂ©.

« C’est tout
? Et compresser les descriptions inutilement longues, par exemple
? Tu as vraiment appliquĂ© toutes les mĂ©thodes que tu juges les meilleures ? »

Je ne demandais pas de supprimer quelques phrases. Je voulais corriger la structure elle-mĂȘme : une mĂȘme condition de sĂ©curitĂ© rĂ©pĂ©tĂ©e dans plusieurs paragraphes, une dĂ©cision qui tournait autour de longues formulations, et des dĂ©tails dĂ©jĂ  prĂ©sents dans une reference ou un script recopiĂ©s dans le corps de la Skill.

Mais viser uniquement la briĂšvetĂ© aurait Ă©tĂ© encore plus dangereux. Si approbation explicite devenait simplement approbation, ou si la cible et le pĂ©rimĂštre exacts se diluaient en vĂ©rifier si nĂ©cessaire, le nombre de tokens baisserait, mais le comportement de l’IA changerait aussi. Dans les rĂšgles sur les credentials, les modifications destructrices, la propriĂ©tĂ© Git, le dĂ©ploiement ou l’UI destinĂ©e aux clients, une diffĂ©rence apparemment mineure peut dĂ©placer la vĂ©ritable frontiĂšre d’autoritĂ©.

J’ai donc rĂ©tabli le critĂšre : rĂ©duire les exemples et les explications rĂ©pĂ©tĂ©es, mais conserver toutes les conditions, interdictions, exceptions, vĂ©rifications et rĂšgles d’arrĂȘt qui dĂ©terminent le comportement.

En cours de route, j’ai envisagĂ© de traduire toutes les Skills en corĂ©en. Le corĂ©en est plus facile Ă  lire et Ă  modifier pour moi, mais le but n’était pas le confort de mes yeux. Il s’agissait de rĂ©duire les tokens consommĂ©s par Codex.

J’ai prĂ©parĂ© des exemples condensĂ©s en corĂ©en et en anglais avec le mĂȘme sens, puis je les ai passĂ©s dans le vrai tokenizer. Pour plusieurs descriptions de Skills que j’avais Ă©crites, l’anglais condensĂ© Ă©tait nettement plus court. Cela ne voulait pas dire que le corĂ©en Ă©tait toujours dĂ©savantagĂ©. NĂ©anmoins, beaucoup de mes rĂšgles partagĂ©es accumulĂ©es conservaient leur sens avec moins de tokens une fois condensĂ©es en anglais.

La direction est alors devenue évidente.

« Alors il vaut mieux réécrire toutes les rĂšgles partagĂ©es et les Skills en anglais condensĂ©, non ? Ça rĂ©duit les tokens. »

Je n’ai pas supprimĂ© le corĂ©en sans distinction. J’ai gardĂ© les formulations de dĂ©clenchement en corĂ©en que j’utilise vraiment, les noms d’état et les exemples de sortie visibles par l’utilisateur, ainsi que les termes Ă©tablis de l’entreprise dont la traduction aurait affaibli la reconnaissance. Le reste des explications et des procĂ©dures est devenu de courtes phrases en anglais.

Codex place le nom, la description et le chemin de chaque Skill dans le contexte initial, puis ne lit le SKILL.md complet que lorsque cette Skill est dĂ©clenchĂ©e.1 J’ai donc commencĂ© par rĂ©duire les rĂšgles globales et les descriptions de Skill discovery toujours prĂ©sentes, avant de condenser sĂ©parĂ©ment le gros inventaire rĂ©seau et la Skill d’écriture chargĂ©s en blocs lourds lors de leur invocation.

Si les rÚgles courtes changeaient le comportement, la réécriture avait échoué

Cette fois, je n’ai pas pris « traduit en anglais » comme critĂšre de fin. J’ai commencĂ© par réécrire un Ă©chantillon reprĂ©sentatif : une partie des rĂšgles de sĂ©curitĂ© partagĂ©es, une Skill d’audit et une Skill de suivi du temps. Un reviewer indĂ©pendant a comparĂ© les originaux aux versions condensĂ©es et a d’abord repĂ©rĂ© une condition affaiblie dans la Skill d’audit : les comportements sans rapport avec l’architecture existante devaient eux aussi ĂȘtre prĂ©servĂ©s.

J’ai rĂ©tabli cette condition et demandĂ© une nouvelle vĂ©rification au mĂȘme reviewer. J’ai ensuite appliquĂ© ce modĂšle au reste des rĂšgles partagĂ©es et aux treize Skills créées par l’utilisateur. Enfin, une autre session que celle du premier reviewer a comparĂ© les vingt-neuf fichiers complets Ă  leurs sources. Elle a vĂ©rifiĂ© que le texte raccourci produisait toujours les mĂȘmes frontiĂšres d’approbation, conditions d’arrĂȘt, procĂ©dures de vĂ©rification et contrats de sortie. Plus aucune omission importante n’a Ă©tĂ© trouvĂ©e.

Les chiffres rendaient Ă©galement la diffĂ©rence visible. Avec le tokenizer o200k, les rĂšgles globales toujours lues sont passĂ©es de 14 933 tokens Ă  10 644, soit environ 28,7 % de moins. Les descriptions de Skills exposĂ©es au dĂ©marrage d’une conversation ont diminuĂ© d’environ 31,1 %. Deux grandes references lues Ă  l’invocation ont baissĂ© d’environ 50,5 %. Sur l’ensemble du pĂ©rimĂštre comparĂ©, le total est passĂ© de 81 347 tokens Ă  62 765, soit une rĂ©duction d’environ 22,8 %.

Comme le corps complet de toutes les Skills n’est pas chargĂ© au dĂ©marrage, je ne peux pas appeler directement ces 22,8 % le « coĂ»t de lancement d’une conversation ». La partie toujours prĂ©sente a tout de mĂȘme diminuĂ© immĂ©diatement, tout comme la charge supplĂ©mentaire lors de l’appel d’une Skill lourde.

Avant, lorsqu’une IA faisait une erreur, je ne pensais qu’à Ă©crire davantage de rĂšgles. Je croyais qu’une formulation plus prĂ©cise Ă©viterait les erreurs et que conserver les exemples aiderait la fois suivante. Ce n’était pas entiĂšrement faux. Ces rĂšgles avaient rĂ©ellement Ă©vitĂ© de nombreux incidents.

Le problĂšme Ă©tait que je ne faisais qu’ajouter des rĂšgles et ne revenais presque jamais les condenser. Des phrases empĂȘchant la mĂȘme erreur apparaissaient Ă  plusieurs endroits, les explications d’incidents rĂ©cents restaient comme des rĂšgles permanentes, et un long passage Ă©crit pour faire comprendre une seule fois quelque chose devenait le coĂ»t de base de chaque tĂąche.

Cette fois, je n’ai pas supprimĂ© les garde-fous. J’ai supprimĂ© les rĂ©pĂ©titions et les longueurs accumulĂ©es autour de leur explication. J’ai gardĂ© ce qu’il faut protĂ©ger, quand il faut s’arrĂȘter, qui doit approuver et comment vĂ©rifier, tout en retirant les phrases qui rĂ©pĂ©taient pourquoi la rĂšgle existait.

DĂ©sormais, l’entretien d’une rĂšgle partagĂ©e ou d’une Skill ne s’arrĂȘtera pas Ă  l’ajout d’une nouvelle phrase. Je devrai aussi vĂ©rifier si le mĂȘme sens existe dĂ©jĂ , si un incident peut devenir un invariant et combien de mots restent sans changer le comportement rĂ©el. Le contexte n’est pas un entrepĂŽt infini.

PlutĂŽt qu’accumuler davantage de mĂ©moire, je veux reproduire le mĂȘme jugement avec moins de tokens. Cette fois, j’ai avancĂ© d’un pas dans cette direction.

Références

  1. OpenAI, Codex Skills. Explique le chargement progressif des mĂ©tadonnĂ©es de Skill discovery et des instructions complĂštes. ↩

Catégories : ,

Mis Ă  jour :

Laisser un commentaire