2 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • 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 verify et lathe extend fournissent plutôt des skill command à coller dans une session LLM
  • L’UI web locale se lance avec lathe serve et utilise par défaut le port 4242 ; 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 sources de metadata.json et 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 de metadata.json et de fichiers de parties comme part-01.md, ou de index.md
  • L’installation consiste à placer le binaire autonome unique lathe dans le $PATH ; sont pris en charge un cask Homebrew pour macOS, un script d’installation curl | sh, go install avec 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 ; plainspoken et companion sont 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 scratch mktemp -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, skipped ou extending ; si les outils requis manquent, cela est enregistré comme skipped et 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

 
GN⁺ 4 시간 전
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

    • Dans ce cas, je me demande comment est gérée la dégradation de la longueur de contexte
      Les questions les plus difficiles n’arriveront sans doute qu’au moment où le contexte sera presque plein
    • Si la source de votre pouvoir est le LLM, que reste-t-il de vous sans LLM ?
    • Cela peut être utile si c’est un complément à l’étude à partir de vraies ressources
      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

    • Je pense que c’est un peu les deux, et que cela dépend à la fois de l’objet et de ce qu’on est en train de faire
      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
    • Certaines personnes pourront rester curieuses quel que soit l’environnement, mais d’autres peuvent développer ou perdre leur curiosité selon leurs expériences de vie
      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

    • Cette approche marche bien et je suis d’accord
      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
    • D’accord
      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
    • Je serais curieux d’avoir quelques exemples de tâches déterministes
      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

    • Est-ce que cette version est publiée quelque part ?
  • 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

    • En pratique, c’est précisément mon principal cas d’usage
      Ç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

    • Je l’ai beaucoup utilisé et je l’aime énormément
      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-extend
      Cela 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é.