Un deuxième spam a traversé mon captcha, mon honeypot et mon rate-limiting sans effort. Pourquoi ces couches ne protègent que contre les bots paresseux, et le filtre par contenu qui referme la vraie faille.
Toutes les 24 h, un script demande à un modèle de balayer l'actualité et de rendre du JSON. Un matin il publie une annonce de quatorze jours en fait vérifié, et la cause tient dans un mot de JavaScript.
Page blanche pour les humains, spam pour Googlebot, et un antivirus muet sur 373 fichiers. Remonter à la faille en dix-huit secondes de logs, puis rendre l'intrusion impossible à rejouer.
Un LLM invente des citations plausibles puis confirme qu'elles sont vraies. La seule parade : résoudre chaque source contre une API externe. Pipeline en trois filtres.
Wrapper une erreur à chaque couche ou une seule fois à la frontière ? Même Dave Cheney a changé d'avis. Le vrai critère : le contrat d'API que %w crée avec l'appelant.
Un LLM qui relit son propre code se surnote : c'est un biais mesuré. Relecteur aveugle, finding avec reçu, panel adverse : l'architecture d'une revue IA qui tient.
Un test généré par IA qui passe au vert ne prouve rien tant qu'il ne peut pas rougir. Le mutation testing débusque les tests fantômes, exemple Go à l'appui.
Ma config Claude Code globale en quatre couches, réinstallable en une commande, et une règle qui traverse tout : la seule rigueur qui compte est celle qu'un modèle ne peut pas s'accorder lui-même.
Comment j'ai optimisé la reconnaissance de titres de torrents avec 39 000 noms réels, et le bug silencieux que mon benchmark vert n'avait jamais détecté.
Un time.Sleep dans les tests concurrents, c'est un pari. testing/synctest remplace l'horloge réelle par une horloge virtuelle : les tests deviennent déterministes et instantanés.