00:00:00[MUSIQUE]
00:00:02Bonjour, je m'appelle Mario.
00:00:04Je viens du pays d'Arnold Schwarzenegger,
00:00:06ce que vous n'avez probablement pas remarqué
00:00:09vu mon très bon anglais.
00:00:12Je tiens à préciser que
00:00:13nous avons couru après notre enfant de quatre ans
00:00:16toute la journée dans Londres.
00:00:17On a vu des dinosaures, des momies, Nando's, évidemment,
00:00:24et d'autres choses que j'ai déjà oubliées.
00:00:26Je suis très, très fatigué.
00:00:28Et si vous ne comprenez pas ce que je dis,
00:00:31levez la main et dites : « Papi, réveille-toi ».
00:00:36La raison de ma présence ici est une autre personne,
00:00:39qui est ici à Cockneyville aujourd'hui.
00:00:40Appelons-le Shteter Pineburger.
00:00:44En 2025, je crois que c'était vers avril,
00:00:53il nous a dit, à moi et à Armin Ronacher, que vous connaissez
00:00:58pour Flask et Sentry : « Mec, ces agents de code,
00:01:02ils fonctionnent vraiment maintenant ».
00:01:04Et je me suis dit : « Oh, la ferme ».
00:01:06Désolé, j'utilise aussi des gros mots.
00:01:09Pas du tout.
00:01:10Un mois plus tard, on s'est réunis dans cet appart 24 heures
00:01:13pendant la nuit et on s'est laissé porter par les outils,
00:01:19par le code jetable et tout ce flux.
00:01:21Et depuis, aucun d'entre nous n'a vraiment—
00:01:23en gros, on ne dort plus.
00:01:27On a construit des trucs, plein de trucs, dont la plupart
00:01:32n'ont jamais servi, car c'est la nouveauté en 2025,
00:01:36'26.
00:01:37On construit beaucoup de choses, mais pas forcément
00:01:39ce qu'on utilise réellement.
00:01:40On a écrit énormément de choses.
00:01:42Et finalement, ça m'a poussé à me dire :
00:01:46« Je déteste tous les agents ou environnements de code actuels ».
00:01:50« Est-ce si dur d'en écrire un moi-même ? »
00:01:53Et Peter se disait : « Je veux juste faire un truc ».
00:01:56« Personne n'en entendra probablement parler ».
00:01:58« Et ce sera un assistant personnel, »
00:02:01« car c'est ce que j'ai toujours voulu avoir ».
00:02:03La plupart d'entre vous connaissent la suite de son histoire.
00:02:05Aujourd'hui, je vais vous raconter la mienne, bien moins impressionnante.
00:02:08Mais j'espère transmettre quelques enseignements,
00:02:11comme on dit dans le milieu, que j'ai pu accumuler
00:02:16ces derniers mois.
00:02:17Alors, Pi.
00:02:19Au début, il y avait Cloud Code.
00:02:21En fait, on faisait du copier-coller depuis ChatGPT.
00:02:25On l'a tous fait au début, en 2023.
00:02:27Puis il y a eu— qui se souvient du GitHub Copilot original ?
00:02:32En fait, combien d'entre vous sont ingénieurs ?
00:02:35Combien utilisent des agents de code,
00:02:37comme Cursor ou Cloud Code ?
00:02:39D'accord.
00:02:40Concours de popularité : Cloud Code ?
00:02:43Codex CLI ?
00:02:45Cursor ?
00:02:48Open—
00:02:48[INAUDIBLE]
00:02:49Oui.
00:02:50Open code ?
00:02:50Anti-gravity.
00:02:51Oh, ce n'est pas beaucoup.
00:02:52Quelqu'un utilise ça ?
00:02:55Je vous apprécie.
00:02:56On prendra une bière plus tard.
00:02:58Bref, c'est ce qui s'est passé en 2025
00:03:03et avant.
00:03:04Ça a commencé par du copier-coller depuis ChatGPT.
00:03:06C'était souvent bancal.
00:03:07Surtout des fonctions isolées qu'on n'avait pas envie d'écrire.
00:03:10Ensuite, il y a eu GitHub Copilot dans Visual Studio
00:03:13Code, où on cliquait pour atteindre le bonheur,
00:03:15ce qui marchait parfois, mais souvent pas.
00:03:17Parfois, ça récitait juste du code GPL,
00:03:22comme l'inverse de la racine carrée de John Carmack
00:03:25ou des trucs du genre, c'était assez drôle.
00:03:29Et puis il y a eu Adir.
00:03:30Quelqu'un se souvient d'Adir ?
00:03:31Oui.
00:03:32Les anciens.
00:03:33Bonjour.
00:03:33Oui.
00:03:37Vous avez des cheveux gris.
00:03:37Vous connaissez forcément Adir.
00:03:41Il y avait aussi AutoGPT.
00:03:43Sûrement pas beaucoup.
00:03:44Oui, d'accord.
00:03:45Lui, il connaît tout.
00:03:48Et finalement, il y a eu Cloud Code.
00:03:51Je crois qu'ils l'ont sorti en novembre,
00:03:52en version bêta en 2024.
00:03:55Mais il n'a vraiment commencé à être utilisé, pardon ?
00:03:59Seulement en février.
00:04:01Oui, février, mars, un truc comme ça, en 2025.
00:04:03Et j'étais en mode : j'adore ça.
00:04:05C'est génial.
00:04:06L'équipe de Cloud est aussi géniale.
00:04:07Ils sont sur les réseaux sociaux.
00:04:08Ce sont de très bonnes personnes, très talentueuses.
00:04:13Ils ont quasiment créé le genre.
00:04:15Je sais qu'il y avait Adir et AutoGPT avant,
00:04:18mais rien ne faisait ça.
00:04:20Et c'était la base de la recherche agentique.
00:04:22Au lieu de laisser Cursor fouiller dans votre code,
00:04:25indexer, construire des AST, et indexer tout ça.
00:04:29Et ça ne marchait pas vraiment.
00:04:31Ils ont juste dit : bof.
00:04:33On a entraîné nos modèles par renforcement
00:04:35pour utiliser des outils de fichiers, des outils bash,
00:04:37afin d'explorer votre code ad hoc et trouver les endroits
00:04:41nécessaires pour comprendre et modifier le code.
00:04:44Et ça a si bien marché que, oui, on a
00:04:46arrêté de dormir car on pouvait soudainement
00:04:48produire bien plus de code qu'à la main.
00:04:52À l'époque, c'était simple, prévisible
00:04:54et ça s'intégrait parfaitement à mon flux de travail.
00:04:57Parfait.
00:04:58Mais ils sont tombés dans le piège où la plupart
00:05:05d'entre nous tombent probablement.
00:05:06Ces outils peuvent écrire tellement de code.
00:05:08Pourquoi ne pas leur faire écrire toutes les fonctions
00:05:11imaginables, pas vrai ?
00:05:11N'est-ce pas génial ?
00:05:12Ajoutons cette fonction, et celle-là,
00:05:14et encore celle-là, et ainsi de suite.
00:05:15Et on finit par avoir le truc d'Homer Simpson—
00:05:18je ne sais même plus comment ça s'appelle.
00:05:20J'appelle ça un vaisseau spatial.
00:05:21Et Cloud Code est maintenant un vaisseau spatial.
00:05:23Il fait tellement de choses que vous n'utilisez
00:05:26probablement que 5 % de ce qu'il propose.
00:05:28Vous n'en connaissez qu'environ 10 % au total.
00:05:30Et le reste, les 90 % restants,
00:05:33c'est un peu comme la matière noire de l'IA et des agents.
00:05:36Personne ne sait ce que ça fait réellement.
00:05:37Et personnellement, je trouve que ce n'est pas très utile
00:05:40car je pense qu'on a toujours besoin
00:05:43de savoir ce que fait l'agent.
00:05:45Ce gars-là pourrait ne pas être tout à fait d'accord.
00:05:49Et nous sommes ici à TESOL, et ils aiment aussi
00:05:51la gestion de contexte ou l'ingénierie de contexte,
00:05:54comme nous l'avons appelée.
00:05:55Et j'ai fini par trouver que Cloud Code n'était pas
00:05:58un bon outil pour ce qui est de l'observabilité
00:06:01et de la gestion réelle du contexte.
00:06:04Ensuite, il y a eu ça aussi.
00:06:06Qui aime ça dans Cloud Code, cet énorme
00:06:09clignotement inexplicable ?
00:06:10Bon, en fait, je sais pourquoi ça arrive,
00:06:13mais ils ne l'ont toujours pas corrigé.
00:06:15Voici Tarik.
00:06:16Il est vraiment super.
00:06:16Je l'adore.
00:06:17C'est leur responsable DevRel, surtout sur Twitter, il est top.
00:06:21Mais parfois il dit des trucs un peu bizarres
00:06:24comme : « notre interface terminal est maintenant un moteur de jeu ».
00:06:27Il faut savoir que je viens du développement de jeux.
00:06:30C'est de là que je viens.
00:06:31Et quand je lis un truc pareil,
00:06:32ça me fait un peu mal,
00:06:34parce que c'est une fichue interface de terminal, mec.
00:06:37Ce n'est pas un moteur de jeu.
00:06:38Crois-moi.
00:06:39La seule raison pour laquelle tu penses ça,
00:06:41c'est parce que tu utilises React dans ton terminal,
00:06:44et qu'il faut environ 12 millisecondes
00:06:45pour recalculer toute la structure de ton interface.
00:06:49Ne fais pas ça, mec.
00:06:51Ce n'est pas un moteur de jeu, d'accord ?
00:06:54Et puis Mitchell, qui écrit Ghosty,
00:06:56a dit : « Mec, c'est offensant, là ».
00:06:59« Ne rejette pas la faute sur Ghosty ou un autre terminal ».
00:07:02« Ton code est naze ».
00:07:04« Les terminaux peuvent afficher des centaines »
00:07:05« d'images par seconde, en moins d'une milliseconde ».
00:07:09Donc ne fais pas ça, ok ?
00:07:12Ils ont fini par corriger le clignotement.
00:07:15Mais d'autres problèmes sont apparus.
00:07:16C'est comme s'ils s'étaient totalement livrés au "vibe coding".
00:07:20Et on le ressent chaque jour en utilisant Cloud Code.
00:07:23Encore une fois, je ne veux pas dénigrer leurs efforts
00:07:27ni leurs résultats.
00:07:28Cloud Code reste le leader de la catégorie pour une bonne raison.
00:07:30Ils ont inventé ce truc et font un excellent travail.
00:07:32C'est juste que je suis une vieille personne
00:07:34qui aime les outils simples et prévisibles.
00:07:37Et ça ne correspondait plus à mes besoins et flux de travail.
00:07:41Alors voilà.
00:07:42Ils font aussi beaucoup de choses en arrière-plan,
00:07:44en manipulant votre contexte.
00:07:46J'ai créé des outils à l'été 2025
00:07:50qui me permettaient d'intercepter les requêtes envoyées
00:07:52à leur serveur depuis Cloud Code pour découvrir
00:07:55quel genre de petits textes supplémentaires
00:07:58sont injectés dans votre contexte à votre insu.
00:08:00Et tout cela était très nuisible
00:08:01et changeait aussi tout le temps.
00:08:04Genre tous les jours ou deux jours, il y avait
00:08:06y aurait une nouvelle version qui changerait ce
00:08:08qui est injecté à quel moment, ce qui gâcherait
00:08:11vos flux de travail existants.
00:08:13Ce n'était tout simplement pas un outil stable.
00:08:14Et maintenant, je comprends leur point de vue.
00:08:16Ils ont besoin d'expérimenter.
00:08:17Et ils ont une énorme base d'utilisateurs.
00:08:18Et c'est vraiment dur d'expérimenter
00:08:19quand on a une énorme base d'utilisateurs.
00:08:21Mais ils s'en fichaient.
00:08:23Alors nous avons tous dû en pâtir.
00:08:25Vous travaillez avec ce nouvel outil.
00:08:27Vous essayez de créer des flux prévisibles.
00:08:31Et puis l'éditeur change un tout petit truc
00:08:35sous le capot qui fait que le LLM
00:08:36devient fou avec vos flux existants.
00:08:38Ce n'est juste pas viable.
00:08:39J'ai besoin de contrôler cela.
00:08:40Je ne peux pas compter sur eux pour la stabilité.
00:08:46Je pense donc qu'en raison du design de l'interface,
00:08:52ils doivent réduire votre visibilité.
00:08:54Personnellement, je n'aime pas trop ça.
00:08:56Mais c'est juste une préférence personnelle.
00:08:57Je comprends que la plupart des gens
00:08:58seront satisfaits de la quantité d'infos
00:09:00que Cloud Code vous présentera.
00:09:03Il n'y a aucun choix de modèle, évidemment,
00:09:06car c'est un outil natif Anthropic, pour ainsi dire.
00:09:09Ce n'est pas un inconvénient, car les modèles Claude—
00:09:12je les aime bien.
00:09:13Ils sont vraiment bons.
00:09:15Et il n'y a quasiment aucune extensibilité.
00:09:17Vous trouverez peut-être ça drôle, car ils
00:09:19ont tout ce système de "hooks" et tout ça.
00:09:21Mais si on compare à ce que Pi permet de faire,
00:09:25ce n'est pas aussi profondément intégré.
00:09:28C'est aussi basé sur le lancement d'un processus quand
00:09:32l'événement hook démarre, ce qui coûte cher si vous
00:09:36devez relancer ce processus encore et encore.
00:09:40Finalement, je me suis lassé de Cloud Code,
00:09:42pas parce que c'était terrible.
00:09:44C'est juste qu'il ne me correspondait plus.
00:09:47Il a correspondu à bien plus de gens sur cette période.
00:09:50Ils font donc bien les choses, mais pas pour moi,
00:09:54parce que je suis vieux.
00:09:56J'ai donc cherché d'autres options.
00:09:59Il y a Codex CLI, que je n'ai vraiment pas aimé.
00:10:01Au début, tant l'interface que le modèle,
00:10:05mais ça a changé, au moins pour le modèle.
00:10:08Codex est vraiment pas mal maintenant.
00:10:10Ensuite, il y a AMP.
00:10:12L'équipe derrière travaillait chez Sourcegraph.
00:10:15Ils se sont séparés de Sourcegraph.
00:10:20Et ce sont de super ingénieurs.
00:10:21Ils ont réussi à bâtir un environnement commercial
00:10:25où ils retirent des fonctions au lieu d'en ajouter.
00:10:28Et la plupart de leurs choix me semblent logiques.
00:10:33Donc, si vous cherchez un environnement commercial,
00:10:36je vous recommanderais AMP, car c'est très bon.
00:10:39Factory Troye, un peu le même genre, très bon aussi,
00:10:44bien qu'ils soient moins expérimentaux qu'AMP.
00:10:47Et puis il y a OpenCode, qui est l'environnement
00:10:50open source que beaucoup de gens utilisent.
00:10:53J'ai un historique dans l'open source.
00:10:55J'y suis depuis, eh bien, 17 ans.
00:11:00J'ai géré de grands et petits projets open source.
00:11:04C'est donc quelque chose qui me tient à cœur.
00:11:05Alors j'ai pensé donner sa chance à OpenCode,
00:11:08car c'est proche de mes valeurs.
00:11:12Et après AMP, ils ont l'une des équipes les plus
00:11:15ancrées ou pragmatiques du secteur.
00:11:16Ils ne vous survendent pas des fonctionnalités
00:11:18que vous n'utiliserez probablement jamais.
00:11:20Ils essaient de préserver un parcours utilisateur
00:11:23qui soit très stable.
00:11:26Ils ont aussi de bonnes réflexions
00:11:27sur ce que les agents de code signifient pour nous
00:11:29en tant que profession, ce qui me parle.
00:11:32Le problème d'OpenCode, c'est qu'il n'est pas très bon
00:11:37pour gérer votre contexte.
00:11:38Par exemple, à chaque tour, il appelle sessionCompaction.prune,
00:11:44qui fait la chose suivante.
00:11:46Il supprime tous les résultats avant les 40 000 derniers tokens.
00:11:52Maintenant, qui ici sait ce qu'est le cache de prompt ?
00:11:56Qu'est-ce que cela fait à votre cache de prompt ?
00:11:58OpenCode et Anthropic ont eu une histoire intéressante.
00:12:05Et finalement, Anthropic, à mon avis à juste titre,
00:12:11a dit : les gars, ça ne va pas le faire.
00:12:14Il n'y a jamais eu de communication publique là-dessus.
00:12:17Mais Tarek l'explique ici.
00:12:19Si vous allez dans une salle de sport, que vous agissez mal
00:12:22et abusez de l'infrastructure, vous allez vous faire bannir.
00:12:25Et je pense—
00:12:27je n'en ai pas la preuve formelle,
00:12:28mais je pense que c'est la raison pour laquelle
00:12:30il y a cette animosité entre Anthropic et OpenCode.
00:12:33Et je suis tout à fait d'accord, ou du moins je
00:12:36pense qu'Anthropic a clairement raison ici.
00:12:39Ne jouez pas avec l'infrastructure.
00:12:42Il y a aussi d'autres choses, comme le fait qu'OpenCode
00:12:44supporte le LSP (Language Server Protocol)
00:12:46par défaut.
00:12:48Pour en revenir à l'ingénierie de contexte,
00:12:51disons que vous donnez à votre agent la tâche
00:12:53de modifier un certain nombre de fichiers.
00:12:55Qu'est-ce que cela signifie en pratique ?
00:12:57Il va faire une série de modifications, l'une après l'autre,
00:13:02sur plusieurs fichiers.
00:13:03Quelle est la probabilité qu'après la première modif sur 10,
00:13:09pour ainsi dire, le code compile ?
00:13:12Que se passe-t-il si vous modifiez votre code ligne par ligne ?
00:13:15Combien de temps faut-il pour qu'il se stabilise à nouveau
00:13:17et qu'il compile proprement ?
00:13:19Il ne le fait pas.
00:13:20Ça ne compilera pas après la première modif, ni sans doute
00:13:22après la deuxième, et ainsi de suite.
00:13:24Si vous vous tournez vers le serveur LSP en disant :
00:13:28"Cher serveur, je viens de modifier une ligne."
00:13:30"Est-ce que c'est cassé ?"
00:13:31Le serveur LSP dira : "Oui, c'est vraiment cassé."
00:13:34Et ce que fait cette fonction, c'est qu'elle
00:13:36injecte cette erreur directement après l'appel
00:13:39de l'outil comme un retour au modèle.
00:13:43"Oh, ce que tu viens de faire est faux."
00:13:45Et le modèle se dit : "C'est quoi ce délire ?"
00:13:47"Je n'ai pas fini mes modifications."
00:13:49"Pourquoi tu me dis ça ?"
00:13:50Évidemment que ce n'est pas faux.
00:13:51Mais si vous faites ça trop souvent, le modèle va abandonner.
00:13:54Et cela mène à de très mauvais résultats.
00:13:58Je ne suis donc pas fan du LSP.
00:13:59C'est une très mauvaise idée de l'activer.
00:14:02Il y a des points de synchronisation naturels
00:14:03où l'on veut du linting et de la vérification de type.
00:14:06Et tout ça.
00:14:07C'est quand l'agent pense avoir terminé, seulement là.
00:14:10Cela a changé récemment.
00:14:14C'est une seule session d'OpenCode, où chaque message
00:14:20devient son propre fichier JSON.
00:14:22Chaque message devient un fichier JSON sur le disque.
00:14:26Cela m'indique qu'il n'y a pas eu beaucoup de réflexion
00:14:29sur l'architecture globale du truc.
00:14:31Et si je perds confiance là-dedans, je ne
00:14:33veux plus utiliser cet outil.
00:14:35Encore une fois, je pense que l'équipe est très bonne.
00:14:37Ils ont itéré super vite
00:14:39et ont bâti quelque chose d'utile pour beaucoup, évidemment.
00:14:42C'est juste...
00:14:43Encore des décisions que je n'aurais pas prises et qui
00:14:46m'ont décidé à construire le mien.
00:14:50Ensuite, il y avait aussi ceci.
00:14:51OpenCode vient avec un serveur par défaut.
00:14:54L'architecture centrale est basée sur un serveur.
00:14:56Et les clients s'y connectent.
00:14:57L'interface terminal (TUI) est l'un des clients.
00:15:00Il y a aussi une interface de bureau.
00:15:01Et je ne sais pas.
00:15:03Cela s'est avéré être une vulnérabilité de sécurité
00:15:05avec exécution de code à distance par défaut.
00:15:09Et c'est aussi— si vous êtes si fiers de votre
00:15:12infrastructure ou architecture serveur,
00:15:15je supposerais que vous êtes des ingénieurs matures
00:15:18qui ont aussi pensé à la sécurité.
00:15:20Et apparemment, ça n'a pas été le cas.
00:15:21Et c'est resté ouvert pendant longtemps.
00:15:23Encore une fois, je n'accuse personne.
00:15:25C'est le genre de choses qui arrivent si vous
00:15:27travaillez dans une industrie qui avance à une vitesse
00:15:31folle, du jamais vu auparavant.
00:15:33C'est juste que je ne veux pas utiliser l'outil si c'est le cas.
00:15:36C'étaient mes observations sur les références de codage
00:15:42existantes.
00:15:42AMP et Droid auraient pu être des options.
00:15:45Mais là encore, pas de contrôle.
00:15:47Pour AMP, ils décident même des modèles utilisables.
00:15:50Et c'est un seul modèle pour un seul type de tâche.
00:15:53Et ce n'est pas pour moi.
00:15:55Concernant Droid, je pense que c'est un peu plus ouvert.
00:15:58Mais au moment où je l'ai testé,
00:16:00ça n'a juste pas—
00:16:02je n'y ai pas vu de gros avantage sur Cloud Code.
00:16:07Puis j'ai regardé des benchmarks pour d'autres raisons
00:16:10et j'ai trouvé Terminal Bench.
00:16:12Qui sait ce qu'est Terminal Bench ?
00:16:15OK, en gros, c'est un environnement d'évaluation
00:16:20de codage ou d'agent, avec beaucoup d'utilisation ordi
00:16:24et lié à la programmation—
00:16:24désolé, je suis vieux et fatigué à cause de mon fils de 4 ans.
00:16:31Il y a un tas de tâches d'utilisation ordi et de code
00:16:35qu'un agent ou le LLM à l'intérieur de l'agent
00:16:39doit accomplir.
00:16:40Je pense qu'il y en a environ 82.
00:16:43Et elles sont très diverses.
00:16:44Ça va de "répare ma config Windows" à "code-moi
00:16:48une simulation de Monte Carlo" ou quelque chose comme ça.
00:16:51Et ils ont un classement.
00:16:52Sur ce classement, on voit la combinaison
00:16:54de l'environnement de l'agent et du modèle.
00:16:57Et ils ont leur propre agent de codage appelé Terminus.
00:17:03C'est brillant car c'est l'un des environnements
00:17:06l'un des meilleurs environnements de test du benchmark.
00:17:09Nous le verrons plus tard.
00:17:11Que fait-il exactement ?
00:17:12Eh bien, tout ce que le modèle reçoit, c'est une session TMUX.
00:17:17Et tout ce qu'il peut faire, c'est y envoyer des frappes de touches
00:17:19et lire les séquences de codes VT qui sont émises.
00:17:23C'est donc l'interface la plus petite et la plus minimale
00:17:27qu'un modèle puisse avoir avec votre ordinateur.
00:17:31Et cela affiche des performances de pointe sur tout le classement.
00:17:36Alors, qu'est-ce que cela nous dit sur les environnements d'agents de codage existants ?
00:17:39Avons-nous besoin de toutes ces fonctionnalités pour que les modèles
00:17:41soient réellement performants ?
00:17:43Pour moi, personnellement, il ne s'agit pas seulement du fait que le modèle
00:17:48soit réellement bon.
00:17:49Il s'agit aussi pour moi, en tant qu'utilisateur, l'humain,
00:17:51d'avoir un moyen d'interagir avec mon agent, avec le modèle.
00:17:54Et Terminus n'est évidemment pas l'expérience utilisateur ou développeur
00:17:58que je recherche.
00:18:00Mais cela nous indique que toutes ces fonctionnalités que ces environnements
00:18:03de codage possèdent ne sont peut-être pas nécessaires pour obtenir
00:18:08de bons résultats avec des agents.
00:18:10Donc pas d'outils de fichiers, pas de sous-agents, pas de recherche web, rien du tout.
00:18:13Deux thèses basées sur toutes ces découvertes.
00:18:16Nous sommes dans la phase d'expérimentation pure.
00:18:18Et personne n'a d'idée de ce à quoi l'agent de codage parfait devrait
00:18:21ressembler ou à quoi l'environnement de codage parfait devrait ressembler.
00:18:23On essaie à la fois le minimalisme et le déploiement massif d'essaims
00:18:27et d'équipes d'agents, sans contrôle et en pleine autonomie,
00:18:30peu importe.
00:18:31Je pense que ce n'est pas encore fini.
00:18:33Nous n'avons pas encore répondu à la question de savoir à quoi cela
00:18:35devrait idéalement ressembler et ce qui deviendra la norme industrielle.
00:18:37Et la deuxième chose est que nous avons besoin de meilleurs moyens
00:18:38d'expérimenter avec les agents de codage.
00:18:40C'est-à-dire que nous avons besoin qu'ils puissent s'auto-modifier
00:18:42et devenir malléables.
00:18:47Ainsi, nous pouvons rapidement expérimenter des idées
00:18:48et voir si c'est quelque chose que nous pouvons transformer en standard
00:18:50industriel, un nouveau flux de travail que nous allons probablement tous adopter.
00:18:53L'idée de base était donc —
00:18:58et c'est très simple, rien de sorcier —
00:18:59enlever tout le superflu et construire un noyau minimal extensible.
00:19:01Il y a un certain confort d'utilisation.
00:19:05Ce n'est pas une page blanche.
00:19:06C'est donc Pi.
00:19:09Et la devise générale est : adaptez votre agent de codage
00:19:10à vos besoins plutôt que l'inverse.
00:19:13Il est livré avec quatre paquets, un paquet IA, qui est essentiellement
00:19:16juste une simple abstraction sur plusieurs fournisseurs, qui
00:19:21utilisent tous des protocoles de transport différents.
00:19:24Il est donc très facile de parler à tous les fournisseurs
00:19:27et de basculer entre eux dans le même contexte ou la même session.
00:19:29Le noyau de l'agent, qui est juste une boucle d'agent généralisée
00:19:34avec des emplacements d'outils, de la vérification,
00:19:36et ainsi de suite.
00:19:38Et du streaming, une interface utilisateur terminal
00:19:39qui fait environ 600 lignes de code et fonctionne vraiment bien,
00:19:42étonnamment, parce qu'elle n'a pas été écrite par un robot.
00:19:47Et l'agent de codage lui-même, qui est à la fois un SDK
00:19:51que vous pouvez utiliser en mode sans interface
00:19:54ou un agent de codage avec interface terminal complète.
00:19:57C'est l'intégralité de l'instruction système.
00:20:02Il n'y a rien de plus par rapport aux autres
00:20:05instructions système de codage.
00:20:08C'est en jetons.
00:20:10Il s'avère que les modèles de pointe sont massivement entraînés par RL pour savoir
00:20:13ce qu'est un agent de codage.
00:20:16Alors pourquoi continuer à leur dire qu'ils sont un agent de codage
00:20:18et comment ils doivent effectuer des tâches de codage, n'est-ce pas ?
00:20:21YOLO par défaut, pourquoi cela ?
00:20:27La plupart des environnements d'agents de codage ont actuellement deux modes.
00:20:30Soit l'agent peut faire ce qu'il veut,
00:20:33soit l'agent doit vous demander : "voulez-vous vraiment
00:20:36supprimer ce fichier ?"
00:20:40"Voulez-vous vraiment lister les fichiers de ce répertoire ?",
00:20:41et ainsi de suite.
00:20:44Et il y a différentes nuances de gris ici.
00:20:44Mais au bout du compte, cela revient au fait que l'utilisateur
00:20:47doit approuver une action de l'agent.
00:20:49Et alors nous sommes en sécurité.
00:20:52Et je pense que c'est une erreur parce que cela mène à la fatigue.
00:20:53Et les gens finiront soit par le désactiver entièrement, mode YOLO,
00:20:55soit par rester là et appuyer sur Entrée sans rien lire.
00:20:58Donc je ne pense pas que ce soit une solution.
00:21:01La conteneurisation n'est pas non plus une solution
00:21:02si vous vous inquiétez de l'exfiltration de données
00:21:04et des injections de commandes.
00:21:06Mais je pense que c'est la seule chose que vous —
00:21:07Je pense que c'est la meilleure base comparée aux garde-fous
00:21:10comme l'approbation ou les dialogues.
00:21:14Il n'a que quatre outils : lire un fichier, écrire un fichier,
00:21:17modifier un fichier et Bash.
00:21:19Bash est tout ce dont vous avez besoin.
00:21:21Qu'est-ce qui n'y est pas ?
00:21:22Pas de MCP, pas de sous-agents, pas de plan, pas d'arrière-plan,
00:21:23Bash, pas de listes de tâches intégrées.
00:21:25Voici ce que vous pouvez faire à la place.
00:21:26Pour MCP, utilisez des outils CLI plus des compétences,
00:21:28ou construisez une extension, ce que nous verrons dans un instant.
00:21:30Pas de sous-agents, pourquoi ?
00:21:34Parce qu'ils ne sont pas observables.
00:21:35Au lieu de cela, utilisez tmux et relancez l'agent.
00:21:36Vous avez un contrôle total sur les sorties et entrées de l'agent
00:21:41et pouvez voir tout ce qui se passe dans le sous-agent.
00:21:44Assez intéressant, code spawn —
00:21:48le mode équipe fait maintenant exactement cela aussi, fondamentalement.
00:21:50Pas de mode plan, écrivez un fichier plan.md.
00:21:55Vous avez un artefact persistant au lieu
00:21:57d'une interface bancale qui ne tient pas vraiment
00:21:59dans la fenêtre de votre terminal.
00:22:02Et vous pouvez le réutiliser sur plusieurs sessions.
00:22:04Pas de Bash en arrière-plan, pas besoin, nous avons tmux.
00:22:07C'est la même chose.
00:22:09Et pas de tâches intégrées, écrivez un todo.md.
00:22:11Même chose.
00:22:13Ou construisez tout cela vous-même comme vous l'aimez.
00:22:14Et c'est ce que Py vous permet de faire, en étant hyper extensible.
00:22:17Vous pouvez donc étendre les outils, sur mesure.
00:22:21Vous pouvez donner au LLM des outils que vous définissez.
00:22:22Je pense qu'aucun autre environnement d'agent de codage
00:22:26ne propose cela actuellement, à moins de modifier le code source.
00:22:28Vous n'avez pas besoin de le faire ici.
00:22:31Vous écrivez simplement un fichier TypeScript simple,
00:22:32et il est chargé automatiquement.
00:22:34Vous pouvez aussi écrire une interface utilisateur personnalisée.
00:22:37Les compétences sont évidemment dans leurs modèles de prompt, thèmes.
00:22:39Et vous pouvez regrouper tout cela, le mettre sur NPM ou Git,
00:22:43et l'installer avec une seule commande, ce qui est très pratique.
00:22:46Et tout se recharge à chaud.
00:22:49J'ai donc développé mes propres extensions qui
00:22:51sont spécifiques à un projet ou une tâche dans Py à l'intérieur du projet.
00:22:53Et à mesure que l'agent modifie l'extension, je recharge simplement.
00:22:59Et cela met immédiatement à jour tout le code en cours d'exécution,
00:23:05ce qui est très agréable.
00:23:10Et en pratique, cela signifie que vous pouvez faire de la compaction personnalisée.
00:23:11Je pense que c'est l'une des choses que les gens devraient expérimenter
00:23:14davantage, car toutes les implémentations de compaction
00:23:16actuelles ne sont pas bonnes.
00:23:19Des barrières de permission, vous pouvez facilement les implémenter
00:23:21en 50 lignes de code, et couvrir en quelque sorte
00:23:23ce que font tous les autres environnements d'agents si vous le souhaitez.
00:23:24Fournisseurs personnalisés, enregistrer des proxys de modèles auto-hébergés.
00:23:27Peu importe.
00:23:31Vous n'avez pas besoin que je le fasse pour vous.
00:23:32Vous pouvez le faire, et en fait, votre robot peut le faire pour vous.
00:23:33Ou écraser n'importe quel outil intégré.
00:23:37Modifier le fonctionnement de read, write, edit et bash.
00:23:38Peu importe.
00:23:41J'ai une version de read, write, edit et bash
00:23:42qui fonctionne via SSH sur une machine distante.
00:23:43Pour moi, cela a pris cinq minutes à implémenter, mais ça marche.
00:23:47Et vous avez un accès complet à la TUI, donc vous pouvez réellement
00:23:51écrire une interface utilisateur entièrement personnalisée dans l'agent de codage.
00:23:54Cloud Code Shipped/D'ailleurs, il a fallu cinq minutes à quelqu'un
00:23:58pour reproduire cela dans Py avec plus de fonctionnalités.
00:24:02PyMessenger, je n'ai aucune idée de ce qu'il fait,
00:24:05mais apparemment, c'est comme une salle de chat pour plusieurs agents Py
00:24:07qui communiquent ensuite, avec une interface personnalisée.
00:24:10On peut regarder ce qu'ils font, et ouais, ça marche tout simplement.
00:24:13Ou PyMess, si vous vous ennuyez, jouez simplement à un jeu
00:24:18pendant que l'agent travaille, n'est-ce pas ?
00:24:23Vous pouvez faire cela.
00:24:24Ou PyAnnotate, ouvrez le site web
00:24:25sur lequel vous travaillez actuellement, et annotez des trucs en front-end,
00:24:28et donnez des retours à l'agent directement en ligne.
00:24:31Réinjectez-les dans le contexte, faites-lui modifier la chose.
00:24:35Ou quelque chose que j'utilise, File Switch It.
00:24:39Je ne veux pas basculer vers un IDE ou un éditeur.
00:24:42Je veux juste regarder rapidement le fichier qui a été modifié.
00:24:43Tout cela, ce sont des extensions.
00:24:46Rien de tout cela n'est intégré, et cela prend généralement aux gens
00:24:48quelques minutes à un après-midi
00:24:50pour construire tout cela comme ils le souhaitent.
00:24:52PyWavic dit, aussi, je ne sais pas ce qu'il fait.
00:24:56Py vient aussi avec une structure en arbre.
00:25:00Je ne vais pas expliquer ça.
00:25:01Regardez juste sur py.dev.
00:25:03Votre session est un arbre, pas une liste linéaire de chats.
00:25:04Vous pouvez donc essentiellement créer des agents
00:25:07en lisant tous les fichiers du répertoire,
00:25:09résumer cela, revenir à la racine de la conversation,
00:25:11emporter le résumé avec moi, et faire le travail réel.
00:25:14Rien n'est injecté dans votre dos.
00:25:19Agents, compétences, suivi complet des coûts.
00:25:22Beaucoup d'environnements ne font pas cela ici.
00:25:24Open code ne le fait pas bien.
00:25:26Export HTML, format JSON, flux JSON sans interface, etc.
00:25:29Est-ce que ça marche vraiment ?
00:25:33Eh bien, terminal bench.
00:25:34Laissez-moi zoomer ici.
00:25:35Je ne peux pas.
00:25:36C'est incroyable.
00:25:37Voici Py juste derrière Terminus 2 utilisant Claude Opus 4.5.
00:25:38C'était en octobre, quand Py n'avait même pas de compaction.
00:25:45C'est l'heure de la démo, je saute ça, contre les robots
00:25:49parce qu'ils cassent l'open source.
00:25:51Si vous êtes associé au projet de ce gars,
00:25:54alors vous aurez des centaines de personnes venant d'OpenClaw
00:25:56sur votre dépôt pour vous inonder de messages automatiques.
00:26:02J'ai donc dû inventer quelques mesures.
00:26:06J'ai inventé l'OSS-vacation.
00:26:09J'ai simplement fermé les tickets et les PR pendant quelques semaines
00:26:11pour travailler sur mes propres trucs.
00:26:14Tout ce qui est important sera de toute façon signalé plus tard
00:26:16ou sur le Discord.
00:26:20Et puis j'ai aussi implémenté un système d'accès personnalisé
00:26:21où j'ai un fichier markdown dans le dépôt.
00:26:26Si quelqu'un ouvre une PR sans que son nom de compte
00:26:28soit dans ce fichier markdown, la PR est automatiquement fermée.
00:26:32Peu importe.
00:26:34D'abord, présentez-vous avec une voix humaine via un ticket.
00:26:35Écrivez un ticket qui ne dépasse pas une certaine longueur
00:26:39parce que tout le reste est probablement généré par un robot.
00:26:42Et une fois que c'est fait, je suis ravi de valider.
00:26:45Vous entrez donc dans ce fichier et pouvez maintenant soumettre des PR
00:26:47au dépôt.
00:26:50Tout ce que je demande, c'est une vérification humaine.
00:26:51Et Mitchell de Ghosty a ensuite pris cela et a construit
00:26:53un projet appelé Vouch, qui est plus facilement applicable
00:26:57à vos propres dépôts open source.
00:27:00Et voilà, c'est Pi.
00:27:02Allez-y et essayez-le.
00:27:03C'est tout pour moi.
00:27:05[APPLAUDISSEMENTS]
00:27:06[MUSIQUE]
00:27:07[MUSIQUE]