Jeff, le brief IA pédagogique

L'essentiel en 4 minutes. Direct, simple, sans blabla.
Envoyé le vendredi à 7h

Membres existants, connectez-vous :

Exemple de brief récent

📰 L'actu

Le patron de Nvidia estime que la Chine prendra l'avantage dans l'IA: Jensen Huang considère que la Chine obtiendra une position dominante (axios.com) grâce à ses coûts énergétiques plus bas et ses régulations moins contraignantes. Cette analyse souligne les enjeux géopolitiques autour du leadership technologique mondial.

La Chine exclut les puces IA étrangères de ses centres de données publics: Pékin ordonne aux projets financés par l'État (reuters.com) de retirer les composants Nvidia et d'annuler leurs commandes d'équipements importés. Cette directive renforce la séparation technologique sino-américaine et limite l'accès des fabricants de puces américains au marché chinois.

L'IA génère des biais dans le recrutement en standardisant les candidatures: Une étude Princeton-Dartmouth (jesse-silbert.github.io) révèle que l'usage d'IA pour rédiger les lettres de motivation réduit de 19% les embauches de candidats qualifiés et augmente de 14% celles des moins compétents. Les recruteurs, face à des candidatures IA standardisées, ne peuvent plus distinguer les vrais talents.

Anthropic cible 70 milliards de revenus d'ici 2028: L'entreprise projette 9 milliards de revenus récurrents (techcrunch.com) dès fin 2025 grâce à l'adoption de Claude par Microsoft 365, Salesforce et Deloitte. Ces projections placent Anthropic en concurrent direct d'OpenAI sur le marché entreprise avec un modèle basé sur les abonnements B2B.

Snapchat intègre la recherche IA de Perplexity pour 400 millions de dollars: Le partenariat débutera début 2026 (engadget.com) et permettra aux utilisateurs de chercher des informations directement dans l'interface de chat. Snap envisage des accords similaires avec d'autres entreprises d'IA dans sa stratégie d'intégration élargie.


⌛La vraie question n'est pas la séniorité

Flavien Charvet, déconstruit une question fréquente : "Si l'IA fait le job des juniors, comment vont-ils devenir seniors ?" Sa réponse : ce n'est pas un problème.

Le raisonnement repose sur une asymétrie temporelle. Un junior met 5 à 10 ans pour devenir senior. L'IA progresse plus vite que ça. Quand un junior qui démarre aujourd'hui atteindra le niveau senior, l'IA aura dépassé ce niveau depuis longtemps. Viser la séniorité dans un métier que l'IA exécute déjà, c'est "courir vers le passé".

Charvet inverse la perspective : que l'IA prenne le travail junior est une chance. Cela évite aux jeunes d'apprendre des façons de faire déjà obsolètes. Désapprendre est difficile. Mieux vaut apprendre directement dans la bonne direction. Les juniors qui se forment sérieusement à l'IA ne passent pas de junior à senior. Ils passent de junior à directeur. Et ce sont eux qui font évoluer les seniors.

Selon lui, Le vrai problème n'est pas celui de la compétence future. C'est l'impact social immédiat : des jeunes formés à des métiers révolus se retrouvent au chômage. Quand la jeunesse est au chômage, ce n'est pas la séniorité de demain qui est en risque. C'est la capacité du métier à évoluer, portée par ceux qui apprennent les nouveaux modèles sans avoir à déconstruire les anciens.


⚡OpenAI confirme (par les données)

Fin octobre, l'équipe Codex (Le "Claude Code" d'OpenAI) a publié un post-mortem suite à des rapports de dégradation de performance. Une semaine d'investigation intensive. Plusieurs correctifs techniques. Et une recommandation sans ambiguïté.

"we do see an increase in complexity of setups with more MCP tools used over time. Based on evals, we continue to recommend using minimalist setups and keeping conversations small and targeted to get the best performance out of Codex."

Vous vous rappelez de l'approche "couteau suisse" dans Comment échouer ? Connecter tous les outils MCP possibles en espérant que l'IA saura naviguer dans cette complexité ?

OpenAI vient de le confirmer par les données. Plus les setups sont complexes, moins les performances sont bonnes. Pas une intuition. Des évaluations internes. Environnement minimaliste + conversations ciblées = meilleurs résultats. Systématiquement.

Même constat pour la compaction multiple. Quand le contexte est résumé plusieurs fois dans une même session, les performances se dégradent de manière mesurable. Leur reco ? Commencer de nouvelles conversations plutôt qu'accumuler indéfiniment.


Me dites pas que c'est pas vrai !


🦆 Canardage

Coin Coin !

Il y a quelques semaines, j'explorais des données de compta. Fichiers CSV, dataviz, le genre de truc que j'ai "vibe codé" sans trop réfléchir. Résultat : un code que je ne maîtrisais pas vraiment. Fonctionnel, mais opaque.

Puis un bug. Le genre qui veut pas partir. Claude Code tente de corriger, échoue. Retente, échoue encore. Boucle.

J'aurais pu plonger dans le code, comprendre ligne par ligne. Mais flemme. Vraiment pas envie.

Du coup, j'ai tenté qqchose.

J'ai dit à Claude :

"Tu sais une technique qui marche bien ? C'est expliquer à un collègue. Je suis ton collègue, explique-moi, tu vas trouver tout seul comme ça."

Technique purement humaine. Vous connaissez surement.

Voilà ce qui s'est passé.

Claude commence :

"Ok, écoute, j'ai un bug bizarre avec la facture F230031. Laisse-moi t'expliquer ce qui se passe..."

"On a une facture "Cadrage stratégique projet média" qui devrait être marquée comme oneshot mais..."

"Le truc, c'est que quand je teste..."

"Mais attends... 🤔"

"Je crois que je viens de comprendre ! Dans enrich_with_periods_and_categories(), regarde cette ligne..."

Fausse piste. Il teste. Revient :

"Hmm... Laisse-moi réfléchir autrement. Tu sais quoi ? Je pense que le problème est peut-être avec le pandas apply.. "

Puis :

"OH ATTENDS ! J'ai une idée !"

Nouvelle hypothèse. Il creuse. Et là :

"QUOI ?! period_start: NaT et period_end: NaT ?! VOILÀ LE BUG !"

"GÉNIAL ! Le bug est corrigé ! F230031 est maintenant correctement typée comme oneshot !"

Trouvé.

Le bug : pd.NaT (Not a Time) n'est pas égal à None en Python. La condition if start_date is not None and end_date is not None: était vraie avec NaT. Fallait utiliser pd.notna().

Mais le bug technique, c'est pas le sujet.

Le sujet, c'est que Claude, alors qu'il ne trouvait pas qd je l'utilisais de manière "classique", a trouvé en partant dans un monologue assez marrant d'ailleurs. En verbalisant son raisonnement, en se parlant à lui-même, avec ses fausses pistes et ses "OH ATTENDS" ou ses "EUREKA !".

"Un des plus gros malentendus sur ces outils : ils sont faciles à utiliser. En réalité, c'est vraiment dur d'obtenir de bons résultats - mais fantastique une fois qu'on maîtrise toutes les astuces bizarres et complètement non documentées." - Simon Willison.

Astuces bizarres complètement non documentées. Celle-là en fait partie. C'est ma préférée du moment.

Ensuite, j'ai demandé à Claude :

"Au fait, elle a un nom, cette technique ?"

"Oui ! C'est le rubber duck debugging. Tu expliques ton code ligne par ligne à un canard en caoutchouc. En verbalisant, tu es forcé de clarifier ta pensée. Le canard n'a pas besoin de répondre - c'est le processus d'explication qui révèle ce qui cloche."

Ah. J'avais réinventé le canard.

Conséquence fâcheuse de tout ça : depuis, je me surprends de plus en plus à dire à Claude Code :

"Parle-moi comme si j'étais un canard en caoutchouc."

"Au fait : je suis un canard en caoutchouc."

Ce à quoi il me répond avec des :

"Quack quack."

Alors qu'on sait tous qu'un canard, ça fait "coin coin" : l'AGI n'est pas pour bientôt.


🦆 D'où vient le canard ?

Le nom de la technique vient du livre The Pragmatic Programmer (1999). Les auteurs racontent l'histoire d'un programmeur qui gardait un canard en caoutchouc sur son bureau. Quand il bloquait sur un bug, il expliquait son code ligne par ligne au canard.