Show HN : Lathe – apprendre un nouveau domaine avec un LLM sans en sauter les étapes
(github.com/devenjarvis)- Lathe est une expérimentation qui consiste à utiliser un LLM pour enseigner plutôt que pour penser à votre place, en générant depuis un prompt des tutoriels techniques pratiques que l’utilisateur suit manuellement dans une UI locale pour apprendre
- Prend en charge la génération de tutoriels en une seule partie ou en plusieurs parties, et fournit des LLM skills pour poser des questions, vérifier les tutoriels, ajouter de nouvelles parties et ajouter des tags de recherche
- Les tutoriels peuvent être générés dans des sessions LLM conversationnelles de Claude Code, Cursor et Codex, et la CLI
lathe, écrite en Go, s’occupe du stockage, de la gestion, du rendu et de l’état persistant des tutoriels - La CLI n’appelle pas elle-même le LLM ; les boutons web et les commandes
lathe verifyetlathe extendfournissent plutôt des skill command à coller dans une session LLM - L’UI web locale se lance avec
lathe serveet utilise par défaut le port4242; dans la liste des tutoriels, elle prend en charge la recherche par titre, sujet, tag, dépôt et version d’outil, ainsi que le tri par plus récent, plus ancien et titre, et des filtres par état, type, tag et version - L’UI de lecture propose la navigation dans la table des matières via la barre latérale de droite, des notes latérales au milieu du contenu et des exercices pour le lecteur à la fin du tutoriel
- Tous les tutoriels enregistrent les sources utilisées, le modèle et le prompt qui a guidé le style du tutoriel ; l’historique des sources peut être consulté dans le champ
sourcesdemetadata.jsonet dans le panneau des sources de l’UI - Les tutoriels sont stockés dans le chemin global
~/.lathe/tutorials/dans des répertoires par slug, et sont composés demetadata.jsonet de fichiers de parties commepart-01.md, ou deindex.md - L’installation consiste à placer le binaire autonome unique
lathedans le$PATH; sont pris en charge un cask Homebrew pour macOS, un script d’installationcurl | sh,go installavec Go 1.25+ et la compilation depuis les sources - Les skills sont inclus dans le binaire et peuvent être installés à l’emplacement prévu pour Claude Code, Cursor et Codex avec
lathe skills install - Le style du tutoriel est contrôlé par la voice ;
plainspokenetcompanionsont fournis par défaut, et il est possible de créer une voice personnalisée avec/lathe-voice - La voice ne change que le style, pas l’exactitude, la recherche, les citations, la vérification ni la structure ; les voices personnalisées sont configurées pour refuser l’usurpation de personnes réelles, la falsification de qualifications et la négation de la paternité LLM
- La vérification est optionnelle et s’exécute dans une session LLM conversationnelle avec
/lathe-verify <slug>; elle crée des fichiers dans un nouveau répertoire scratchmktemp -d, exécute les commandes et les blocs## Checkpoint, puis enregistre les résultats - L’état de vérification est l’un de
unverified,verifying,verified,failed,skippedouextending; si les outils requis manquent, cela est enregistré commeskippedet non comme un échec - La vérification s’exécute sous le modèle d’autorisations habituel du LLM, ce qui permet d’inspecter et d’approuver les appels d’outils ; le répertoire scratch n’est qu’une convention pour garder les artefacts de build hors du dépôt, pas une frontière de sécurité
- Lathe étant un LLM, il peut échouer de la même manière qu’un LLM ; pour générer des tutoriels, il est recommandé d’utiliser le plus grand modèle “thinking” accessible
- Le cas d’usage actuellement testé en interne est Claude Code sur macOS ; il est précisé que d’autres configurations peuvent fonctionner, mais n’ont pas été vérifiées
- Il n’est pas destiné à la création de contenu en dehors d’un usage personnel pour l’apprentissage individuel
1 commentaires
Commentaires sur Hacker News
Une approche similaire qui consiste à faire en sorte qu’un LLM continue à poser des quiz en dialogue socratique sur un sujet d’intérêt est aussi très bonne
Il continue à poser des questions de plus en plus profondes pour vous amener à trouver vous-même la réponse, et ce processus aide à vraiment réfléchir au problème, ce qui favorise la compréhension, l’apprentissage et la mémorisation
J’ai donc créé une compétence de quiz socratique utilisable avec n’importe quel agent de code ou outil similaire : https://pchalasani.github.io/claude-code-tools/plugins-detai...
Je l’ai par exemple utilisée pour mieux comprendre des sujets contre-intuitifs comme le diabète/l’insuline, la dopamine et la motivation, ou encore l’implémentation de Claude, et cela aide aussi à réduire ce qu’on pourrait appeler la dette cognitive
Les LLM puissants sont étonnamment doués pour ce type de quiz et donnent parfois l’impression d’une sorte de théorie de l’esprit
Les questions les plus difficiles n’arriveront sans doute qu’au moment où le contexte sera presque plein
J’ai parlé un peu légèrement du diabète/de l’insuline, de la dopamine et de la motivation en disant que je les “comprenais”, mais pour les comprendre pleinement il faut en réalité beaucoup étudier
C’est très bien comme apprentissage guidé par la curiosité, mais pour apprendre des choses réellement importantes ou sérieuses, je ne suis pas sûr
La méthode traditionnelle consistant à chercher des ressources et à suivre un cours structuré est plus organisée et plus rapide que cette approche
Je pense qu’il y aura toujours le même segment très précis de personnes
Certaines sont curieuses, veulent comprendre ce qu’elles font ou en ont besoin, et d’autres non, elles veulent simplement exécuter
Ce désir en lui-même est un trait de caractère fondamental qui fait les experts
Les LLM sont un outil de rêve pour ces personnes curieuses, et vont au contraire les accélérer encore davantage
Il n’y a pas vraiment de “perte” réelle, seulement des gens peu concernés qui pourront faire leur travail plus facilement
C’est bon pour eux et bon pour les gens curieux, donc au total c’est positif
Parfois, creuser profondément pendant longtemps est amusant et intéressant
À l’inverse, il arrive qu’on ne soit pas très curieux de savoir pourquoi quelque chose ne marche pas et qu’on veuille juste le faire fonctionner pour revenir à ce qu’on voulait faire au départ
Au final, j’ai l’impression que les LLM sont utiles dans les deux cas
Un bouton « donne-moi juste la réponse tout de suite » toujours à portée de main peut devenir une force puissante qui les attire vers l’indifférence
Je trouve que c’est une idée assez originale
La grande force des LLM, c’est d’être un excellent outil d’apprentissage
Beaucoup de gens veulent les utiliser pour générer quelque chose, mais les connaissances qu’on peut en tirer semblent sous-estimées
C’est peut-être le meilleur tuteur qu’on ait jamais pu avoir
Et à part ça, je n’aime pas trop l’ambiance qui pousse à exiger qu’on dise publiquement si un projet vise ou non à gagner de l’argent
Le fait de gagner de l’argent ne devrait pas être diabolisé ni susciter des regards de travers
J’utilise beaucoup ce schéma général récemment dans mon travail
L’idée est de mettre les tâches déterministes dans une application CLI personnalisée, d’ajouter des compétences au harnais de l’agent, puis de faire exécuter ces compétences à l’intérieur de l’agent afin que la CLI et le raisonnement de type agent produisent ensemble le résultat
Par exemple, si je demande « fais-moi un résumé exécutif de l’activité du backlog de ces équipes sur le dernier mois », j’obtiens en 5 à 10 minutes un document de plusieurs pages, avec des citations des tickets analysés
Pas besoin de déranger les gens ni de leur demander encore une autre tâche, il suffit de garder le backlog à jour et détaillé comme d’habitude
Cela occupe une position très utile entre l’usage d’agents purs, où il est difficile d’obtenir des résultats cohérents sur des tâches répétitives, et les situations où il faudrait créer ou acheter une application complète pour chaque petite chose
Cela dit, je me surprends sans cesse à vouloir inverser la structure
La forme que j’aimerais le plus est un programme CLI traditionnel dans lequel l’essentiel des connaissances de workflow et des décisions est codé en dur, et où l’on n’appelle un agent de code qu’« un tout petit peu » à certaines étapes précises du workflow
Je ne vois pas très bien comment l’implémenter
Je me demande s’il existe déjà une bibliothèque de ce type et, si oui, comment elle fonctionne
Pour bien faire, il faudrait sans doute un service en arrière-plan avec lequel le logiciel CLI pourrait interagir via une socket IPC locale bien connue
Un peu comme le démon docker, par exemple
Mais je ne connais aucun logiciel ou framework d’agent de code qui expose ce type de fonctionnalité IPC
Je crois avoir vu ce schéma pour la première fois dans certains travaux de Simon Willison, probablement Rodney et Showboat
Pour certains workflows, la combinaison Skills + CLI offre un bon équilibre entre la flexibilité des LLM et la cohérence de la CLI
Dans ton exemple, la tâche déterministe était-elle « récupérer le backlog de cette équipe », et la partie LLM consistait-elle à « traiter chaque backlog » puis « fusionner les résumés » ?
J’ai justement mis à jour la populaire compétence /grill-me pour cet usage précis
Hier, j’ai eu une session de questions très poussées et extrêmement éclairantes, jusque dans les moindres détails, sur ce qui se passe exactement quand on essaie de charger un jeu de données extrêmement volumineux avec pandas
Excellente approche
J’ai récemment dit à un ami qu’on apprend la programmation en tapant soi-même le code à la main
Je lui ai donc proposé d’utiliser un LLM pour générer des exemples pédagogiques minimaux adaptés à ses centres d’intérêt et à ses besoins
J’ai essayé une méthode d’apprentissage de la programmation à la Zed Shaw, c’est-à-dire retaper mot pour mot des exemples de code, comme des études en musique ou en arts plastiques
Je l’ai testée sur un langage de programmation que j’apprenais depuis un moment mais avec lequel j’avais du mal, et après seulement quelques heures à taper, ma fluidité a énormément progressé
Je me suis rendu compte qu’en quelques heures de frappe, j’avais écrit plus de code qu’en plusieurs semaines d’étude
Quand on ne connaît pas encore bien le langage, produire du code soi-même est très lent et source de nombreuses erreurs, alors que taper du code correct est relativement simple
Donc en passant à une approche de « simple recopie quasi aveugle », j’ai pu, au moins du point de vue de la lecture et de la mémoire musculaire, pratiquer davantage en quelques heures qu’au cours des semaines précédentes
Bien sûr, la compréhension est importante elle aussi, mais d’après mon expérience, c’est un axe distinct qui suit généralement la mémoire et la fluidité
Il y a une grande différence entre comprendre quelque chose en théorie et être capable de l’utiliser réellement
Le principe général sous-jacent ici, c’est l’hypothèse de l’input de Stephen Krashen : https://en.wikipedia.org/wiki/Input_hypothesis
L’idée est qu’un enfant apprend une langue simplement en l’entendant et en étant exposé à des entrées linguistiques, et que les adultes peuvent aussi apprendre de la même manière
J’ai aussi découvert cela sur l’excellent site All Japanese All The Time, qui a peut-être disparu depuis
L’auteur dit y avoir testé lui-même cette hypothèse en écoutant énormément de japonais, et avoir atteint la fluidité en un an
https://web.archive.org/web/20080705194055/http://www.alljap...
C’est une très belle idée, et dans cette période confuse, ça ressemble à une manière saine d’esprit d’utiliser les LLM
Quand on démarre un nouveau projet et que tout semble être une source de friction, ça peut être un excellent moyen de lancer la dynamique
Ça abaisse la barrière d’entrée dans un nouveau projet et, une fois qu’on est familiarisé, ça pose les bases pour aller plus loin par soi-même
Je pense que ça touche à un domaine intéressant
J’avais imaginé quelque chose de similaire pour se préparer aux entretiens de conception de systèmes
J’ai fait quelques essais avec une série d’articles de blog sur la conception de Twitter et de WhatsApp : https://prepcommons.com/
Malgré tout, cela demandait bien plus d’efforts que de simplement traiter la requête initiale
L’IA permet à tout le monde de produire des résultats moyens, mais pour produire de bons résultats, il faut toujours du goût et du discernement
J’imagine que cela s’applique aussi exactement de la même manière aux cours
C’est un super projet, j’ai l’intention de l’essayer
Quand j’étudie un nouveau sujet, j’aime bien mettre tout le matériel dont je dispose dans un « projet » LLM, puis lui demander de m’enseigner à partir du contenu réel afin d’accélérer le processus
En même temps, je crains que si tout est parfaitement réorganisé exactement comme je le souhaite, cela affaiblisse la compréhension qu’on construit en consultant directement les sources originales et en les assimilant avec difficulté
Du coup, une approche comme celle-ci, qui apaise quand même un peu la paresse intellectuelle induite par les LLM tout en mettant davantage l’accent sur le fait de faire les choses soi-même, correspond bien à mes préférences
Ce qui m’intrigue encore plus, c’est l’expérience concrète d’usage de l’outil de vibe coding que tu as construit toi-même
Avec la seule présentation, je ne sais pas vraiment si tu l’utilises réellement ni si tu l’apprécies
Tu dis que tu l’utilises et que tu le contredis parfois, ce qui pourrait en soi constituer une stratégie d’apprentissage
Et puis « tester si le tutoriel compile avec d’autres modèles », ce n’est pas vraiment ce qu’on appellerait clairement une fonctionnalité
Bien sûr, je ne m’attends pas à obtenir un tutoriel parfait en une seule requête
Je ne vois pas très bien non plus pourquoi il faudrait utiliser ceci plutôt qu’un prompt rédigé à la main, et je suis curieux de savoir pourquoi le mode Study de ChatGPT a échoué
C’est parce que cela avait l’air intéressant
Bien sûr, on peut aussi écrire ses propres prompts
À mes yeux, la valeur réside dans le fait que les compétences/prompts réutilisables structurent le tutoriel de façon à m’aider à réfléchir à de nouveaux concepts et à les apprendre, au lieu que Claude me donne simplement du code à copier-coller
Et grâce à l’interface locale, il est bien plus facile de suivre le tutoriel que de faire défiler la sortie Markdown de Claude
Les séries de tutoriels restent disponibles dans le temps, ce qui permet plus tard de reprendre facilement un sujet intéressant ou d’étendre un tutoriel avec
/lathe-extendCela dit, c’est simplement un outil qui m’a été utile personnellement, pas forcément à tout le monde
Je n’ai jamais essayé ChatGPT Study, donc je vais regarder ça de plus près. Merci de l’avoir signalé.