Journal
Ce qu'on a appris, et ce qui a changé pour ça.
Des articles sur la mémoire IA, le RAG et l'ingénierie du contexte au-dessus ; le journal de bord technique daté — y compris les éditions que le moteur a ratées — en dessous.
- Mémoire IA
Qu'est-ce que la mémoire d'un agent IA ?
La mémoire d'un agent IA, c'est tout ce qu'il peut récupérer sur un travail passé et qui ne tient pas dans sa fenêtre de contexte courante. Elle se décline en trois familles, et celle qui manque n'est presque jamais celle qu'on lui donne.
- Agents IA
Comment donner une mémoire à long terme à un agent LLM
On donne une mémoire à long terme à un agent LLM en écrivant les éléments durables de son travail dans un stockage externe, puis en les récupérant par pertinence au début de chaque exécution, au lieu de rejouer la transcription.
- Mémoire IA
Pourquoi l'IA d'entreprise oublie encore votre activité
Les connaissances d'un modèle sont figées à l'entraînement, et son contexte est figé à une conversation. Ni l'un ni l'autre n'est un registre de votre entreprise — et la récupération ne corrige que la part du problème qu'elle peut atteindre.
- RAG
Le RAG récupère. Il ne mémorise pas.
La récupération répond à « qu'est-ce qui ressemble à cette question ». Une large part des vraies questions d'entreprise sont en réalité « qu'est-ce qui dépend de quoi, et est-ce toujours vrai » — une autre question que la similarité ne peut pas résoudre.
- Ingénierie du contexte
Ce que le contexte signifie réellement pour un modèle d'IA
Un modèle n'a aucune notion de « savoir » quelque chose en dehors de ses poids. Le contexte, c'est les tokens présents dans la fenêtre au moment de l'inférence, point final — ce qui fait de leur origine tout le problème d'ingénierie.
- Infrastructure IA
Des fenêtres de contexte plus grandes ne sont pas de la mémoire
Une fenêtre d'un million de tokens et un système de mémoire résolvent des problèmes différents. L'une augmente ce qu'un modèle peut lire en une requête. L'autre décide de ce qu'un modèle sait encore demain.
Journal de bord technique
Nous avons retiré notre propre chiffre d'accroche
Un audit interne a repris chaque chiffre publié sur ce site et lui a posé une seule question : qui peut le démonter, et avec quelle phrase. Le pourcentage de réduction de tokens qui ouvrait la page d'accueil n'y a pas survécu, et il était de nous.
Deux défauts indépendants. La base était un homme de paille : elle comparait une édition gouvernée à la réémission du symbole entier, alors que la comparaison qui compte est celle d'une édition shell ordinaire, non sûre — et sur celle-là, le canal sûr coûte à peu près pareil, environ un pour cent de plus. La garantie est gratuite, ce qui est vrai et défendable ; ce n'est pas une économie de quatre-vingt-seize pour cent. Ensuite, il ne se reproduisait pas : trois exécutions de la même commande ont rendu trois pourcentages différents, parce que le corpus bouge dessous.
Il a donc disparu de la page d'accueil, du tableau de benchmarks, du résumé lisible par machine et du brief imprimé. Nous ne l'avons remplacé par aucun autre chiffre. L'audit a aussi trouvé, ailleurs dans le dépôt, des valeurs — un score de continuité, un score de qualité, un total de tokens économisés — qui étaient des littéraux tapés dans un fichier et jamais mesurés ; ils sont marqués comme tels et n'apparaîtront jamais ici.
Ce que nous maintenons : la mesure de dégât silencieux, étiquetée pour ce qu'elle est — un benchmark interne de technologie sur notre canal d'édition, 207 cas à portée, et seulement quand le canal sûr est imposé plutôt que simplement proposé.
$ python 00_CORE/tools/public_evidence_guard.py
- en cours
Le SME branché sur le harness officiel SWE-bench
Tout ce qui a été mesuré jusqu'ici compare Venkai à une réécriture simulée. C'est une base honnête, mais c'est la nôtre. Le moteur tourne donc maintenant dans mini-SWE-agent — le harness bash-only utilisé par le classement SWE-bench — face au correcteur officiel, qui tranche en exécutant les vrais tests du dépôt.
Deux bras, identiques en tout point sauf un : même modèle, mêmes instances, même limite d'étapes, même correcteur. Un bras édite comme il veut. L'autre dispose du moteur dans son conteneur et d'un prompt qui l'impose pour les symboles existants.
Quatre défauts d'infrastructure se sont dressés entre le plan et la première exécution réelle, aucun ne concernant le moteur : un flag de serving, une exception de comptage de coût sur un modèle servi localement, un format de réponse, et une classe client qui écrasait ce format en silence. Un garde-fou a refusé de noter chacune de ces exécutions — un agent qui ne tourne jamais produit un 0 %, et un 0 % dû à un pipe cassé se lit exactement comme un 0 % dû à un moteur faible.
Pas encore de score. Il sera publié ici dès qu'il existera, avec la commande, quel que soit le résultat.
Le chiffre de la page d'accueil, et l'argument contre
25 symboles réels, édités de deux façons. Réémettre le symbole entier coûte 17 553 tokens de sortie ; émettre un appel d'édition Venkai en coûte 713. Nous citons cette comparaison plutôt que celle du fichier entier (112 023) parce qu'aucun agent sérieux ne réécrit un fichier entier, et utiliser cette base nous flatterait. [Rétracté le 2026-08-08 — voir l'entrée ci-dessus : cette base reste un homme de paille, et le chiffre ne se reproduit pas.]
Le même jour, la mesure qui joue contre nous : 20 éditions réparties sur 12 fichiers. Régénérer un fichier coûte le fichier une fois, quel que soit le nombre de modifications qu'il contient — il existe donc un point où réécrire l'emporte. Nous l'avons mesuré plutôt que de l'éviter — environ 240 éditions sur un seul fichier. Au-delà, ce n'est plus une édition, c'est une réécriture.
$ python benchmarks/see_bench.py --limit 25
Le moteur a supprimé six décorateurs et annoncé un succès
Six règles de notre propre couche d'analyse ont été éditées par le moteur et sont revenues sans leur @décorateur. Les fonctions existaient toujours. Les signatures correspondaient. Le contrôle structurel n'a rien vu d'anormal. Les règles avaient simplement cessé de s'exécuter, et le rapport annonçait que des faux positifs avaient été éliminés.
Un décorateur fait partie du symbole. Le moteur refuse désormais toute édition qui en supprimerait un, plutôt que de l'appliquer et de passer le contrôle. C'est le mode de défaillance qui nous préoccupe le plus : non pas un plantage, mais un message de succès masquant une suppression silencieuse.
Les méthodes passent par l'AST, pas par une fenêtre de texte
Le résolveur associait des définitions ancrées en colonne zéro. Une méthode indentée ne correspondait à rien, tombait dans un repli textuel, et était remplacée avec une fenêtre arbitraire de lignes environnantes — pouvant emporter la fin du fichier avec elle. L'opération annonçait un succès et une large économie.
Pire, la région remplacée ne s'analysait pas seule, donc le seul contrôle qui aurait remarqué la disparition de la classe s'est éteint précisément là où il fallait. La résolution passe désormais par l'AST, le chemin textuel est réservé aux formats texte, et un test échoue si le moteur tronque à nouveau un fichier.
Coût et latence enregistrés par appel
Chaque appel enregistre désormais ses tokens et sa latence à l'endroit où ils se produisent réellement, plutôt que d'être rapportés par le composant qui a intérêt au chiffre. La majorité de ce qui figure sur ce site provient de cette instrumentation.
Il n'y a ni newsletter ni formulaire. Pour recevoir la prochaine entrée dès qu'elle sort, écrivez à contact@venkai.fr et vous l'aurez en réponse, d'une vraie personne.