2 Punkte von GN⁺ 4 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • Lathe ist ein Experiment, LLMs zum Lehren statt zum Denken anstelle der Nutzer einzusetzen: Im Prompt werden praxisorientierte technische Tutorials erzeugt, die Nutzer in einer lokalen UI Schritt für Schritt selbst nachvollziehen und dabei lernen
  • Unterstützt die Erstellung einteiliger oder mehrteiliger Tutorials und bietet LLM skills zum Fragenstellen, Validieren von Tutorials, Erweitern um neue Teile und Hinzufügen von Such-Tags
  • Tutorials können in interaktiven LLM-Sitzungen von Claude Code, Cursor und Codex erstellt werden; die in Go geschriebene lathe-CLI übernimmt das Speichern, Verwalten, Rendern und den persistenten Zustand der Tutorials
  • Die CLI selbst ruft kein LLM auf; stattdessen liefern Web-Buttons und die Befehle lathe verify und lathe extend skill commands, die in eine LLM-Sitzung eingefügt werden
  • Die lokale Web-UI wird mit lathe serve gestartet, der Standardport ist 4242; in der Tutorial-Liste werden Suche nach Titel, Thema, Tags, Repository und Tool-Version sowie Sortierung nach Neueste, Älteste und Titel und Filter nach Status, Typ, Tags und Version unterstützt
  • Die Lese-UI bietet Navigation über das Inhaltsverzeichnis in der rechten Seitenleiste, Randnotizen mitten im Text und Übungsaufgaben für Leser am Ende des Tutorials
  • Jedes Tutorial dokumentiert die verwendeten Quellen, das Modell und den Prompt, der den Stil des Tutorials geprägt hat; die Quellen lassen sich über das Feld sources in metadata.json und das Quellen-Panel in der UI einsehen
  • Tutorials werden im globalen Pfad ~/.lathe/tutorials/ in slug-basierten Verzeichnissen gespeichert und bestehen aus metadata.json sowie Part-Dateien wie part-01.md oder aus einer index.md
  • Die Installation erfolgt über eine einzelne eigenständige Binärdatei lathe im $PATH; unterstützt werden ein Homebrew-Cask für macOS, ein Installationsskript per curl | sh, go install auf Basis von Go 1.25+ und das Bauen aus dem Quellcode
  • Die Skills sind in die Binärdatei eingebündelt und können mit lathe skills install an den vorgesehenen Orten für Claude Code, Cursor und Codex installiert werden
  • Der Stil des Tutorials wird über die voice gesteuert; standardmäßig werden plainspoken und companion mitgeliefert, und mit /lathe-voice lassen sich benutzerdefinierte voices erstellen
  • Eine voice ändert nur den Stil, nicht Genauigkeit, Recherche, Zitate, Validierung oder Struktur; benutzerdefinierte voices sind so eingerichtet, dass sie die Nachahmung realer Personen, das Vortäuschen von Qualifikationen und das Leugnen der LLM-Autorschaft ablehnen
  • Die Validierung ist optional und wird in einer interaktiven LLM-Sitzung mit /lathe-verify <slug> ausgeführt; dabei werden in einem neuen mktemp -d-Scratch-Verzeichnis Dateien angelegt, Befehle und ## Checkpoint-Blöcke ausgeführt und die Ergebnisse protokolliert
  • Der Validierungsstatus ist einer von unverified, verifying, verified, failed, skipped oder extending; fehlen benötigte Werkzeuge, wird dies nicht als Fehler, sondern als skipped protokolliert
  • Die Validierung läuft unter dem normalen LLM-Berechtigungsmodell, sodass Tool-Aufrufe eingesehen und genehmigt werden können; das Scratch-Verzeichnis ist nur eine Konvention, um Build-Artefakte außerhalb des Repositorys abzulegen, keine Sicherheitsgrenze
  • Da Lathe ein LLM verwendet, kann es auf dieselbe Weise scheitern wie LLMs scheitern; für die Tutorial-Erstellung wird empfohlen, das größte verfügbare „thinking“-Modell zu verwenden
  • Als derzeitiger selbst getesteter Anwendungsfall wird Claude Code auf macOS genannt; andere Konfigurationen könnten funktionieren, sind aber nicht verifiziert
  • Nicht für die Erstellung von Inhalten gedacht, außer für die private Nutzung zum persönlichen Lernen

1 Kommentare

 
GN⁺ 4 시간 전
Hacker-News-Kommentare
  • Ein ähnlicher Ansatz ist auch gut: das LLM zu einem fortlaufenden Sokratischen Dialog über ein interessantes Thema quizzen zu lassen
    Es stellt immer tiefere Fragen, sodass man selbst zur Antwort gelangt, und in diesem Prozess denkt man ernsthaft über das Problem nach, was Verständnis, Lernen und Erinnerung hilft
    Deshalb habe ich eine Socratic-Quiz-Fähigkeit gebaut, die man auch in Coding-Agenten oder ähnlichen Tools verwenden kann: https://pchalasani.github.io/claude-code-tools/plugins-detai...
    Ich habe sie zum Beispiel genutzt, um kontraintuitive Themen wie Diabetes/Insulin, Dopamin und Motivation oder die Implementierung von Claude besser zu verstehen, und sie hilft auch dabei, sogenannte kognitive Schulden zu verringern
    Starke LLMs sind bei solchen Quizzen überraschend geschickt und zeigen dabei etwas, das fast wie eine Theory of Mind wirkt

    • Ich frage mich, wie hier mit dem Abfall der Kontextlänge umgegangen wird
      Die schwierigeren Fragen würden doch wohl erst dann kommen, wenn der Kontext fast voll ist
    • Wenn die Quelle der Kraft das LLM ist, was bist du dann ohne das LLM?
    • Als Ergänzung zum Lernen mit echten Materialien könnte das nützlich sein
      Bei komplexen Themen wie Diabetes/Insulin oder Dopamin und Motivation sagt man leichtfertig, man habe sie „verstanden“, aber um sie wirklich vollständig zu verstehen, braucht es beträchtliches Studium
      Als neugiergetriebenes Lernen ist das okay, aber ich bin unsicher, ob es sich als Weg eignet, tatsächlich wichtige oder ernsthafte Inhalte zu lernen
      Der traditionelle Ansatz, Material zu recherchieren und angeleiteten Kursen zu folgen, ist geordneter und schneller als diese Methode
  • Ich denke, es wird weiterhin die gleiche klar umrissene Gruppe von Menschen geben wie schon immer
    Manche Menschen sind neugierig und wollen oder müssen verstehen, was sie tun, andere nicht und wollen einfach nur ausführen
    Dieses Bedürfnis selbst ist eine grundlegende Charaktereigenschaft, die Experten hervorbringt
    LLMs sind für solche neugierigen Menschen ein Traumwerkzeug und werden sie eher noch beschleunigen
    Es gibt kaum einen wirklichen „Verlust“; Menschen, denen es egal ist, können ihre Arbeit einfach leichter erledigen
    Das ist gut für sie und gut für die Neugierigen, also insgesamt ein Gewinn

    • Ich glaube, es ist beides, und es hängt sowohl davon ab, worum es geht, als auch davon, was man gerade tut
      Manchmal macht es Spaß und ist interessant, lange und tief zu graben
      Umgekehrt bin ich manchmal nicht besonders neugierig, warum etwas nicht funktioniert, sondern will es einfach nur zum Laufen bringen und zu dem zurückkehren, was ich eigentlich tun wollte
      Am Ende habe ich das Gefühl, dass LLMs in beiden Fällen nützlich sind
    • Manche Menschen bleiben vielleicht unabhängig von ihrer Umgebung dauerhaft neugierig, andere können je nach Lebenserfahrung eher dazu neigen, Neugier zu entwickeln oder zu verlieren
      Ein ständig verfügbarer „Gib mir einfach jetzt die Antwort“-Button kann eine starke Kraft sein, die sie in Richtung Gleichgültigkeit zieht
  • Ich halte das für eine ziemlich frische Idee
    Eine große Stärke von LLMs ist, dass sie großartige Lernwerkzeuge sind
    Viele Menschen wollen sie zum Erzeugen von Dingen nutzen, aber das Wissen, das man daraus ziehen kann, scheint unterschätzt zu werden
    Das könnte der beste Tutor sein, den wir je hatten
    Außerdem gefällt mir die Erwartung nicht, offenlegen zu müssen, ob man mit einem Projekt Geld verdienen will oder nicht
    Geld zu verdienen sollte weder dämonisiert noch schief angesehen werden

  • Ich nutze dieses allgemeine Muster in letzter Zeit viel bei der Arbeit
    Kritische Aufgaben werden als maßgeschneiderte CLI-App gebaut, an den Agent-Harness werden Skills angehängt, und dann lässt man den Agenten diese Skills ausführen, sodass das Ergebnis aus CLI und agentischem Reasoning entsteht
    Wenn man zum Beispiel sagt: „Erstelle mir eine Executive Summary der Backlog-Aktivitäten dieser Teams im letzten Monat“, kann ich in 5–10 Minuten ein mehrseitiges Dokument lesen, mit Zitaten aus den analysierten Tickets
    Man muss niemanden nerven oder um zusätzliche Arbeit bitten; es reicht, wenn der Backlog wie gewohnt aktuell und detailliert gehalten wird
    Das besetzt einen sehr nützlichen Punkt zwischen reinem Agenteneinsatz, bei dem konsistente Ergebnisse bei wiederholten Aufgaben schwer zu erreichen sind, und der Situation, für jede Kleinigkeit eine vollständige App bauen oder kaufen zu müssen

    • Dieser Ansatz funktioniert gut, da stimme ich zu
      Ich habe nur ständig das Gefühl, ihn in die entgegengesetzte Richtung drehen zu wollen
      Die Struktur, die man sich wünscht, ist meist ein traditionelles CLI-Programm, in dem der Großteil des Workflow-Wissens und der Entscheidungen im eigentlichen Code steckt, und nur in bestimmten Workflow-Schritten wird „ein kleines bisschen“ ein Coding-Agent aufgerufen
      Ich weiß nicht genau, wie man das umsetzen würde
      Ich frage mich auch, ob es dafür schon Bibliotheken gibt und wie sie in dem Fall funktionieren würden
      Um es richtig zu machen, bräuchte die CLI-Software vermutlich einen Hintergrunddienst, mit dem sie über einen bekannten lokalen IPC-Socket interagieren kann
      Zum Beispiel ähnlich wie beim Docker-Daemon
      Aber ich kenne keine Coding-Agent-Software oder Frameworks, die solche IPC-Funktionen freilegen
    • Stimme zu
      Ich glaube, ich habe dieses Muster zuerst bei einigen Arbeiten von Simon Willison gesehen, wahrscheinlich bei Rodney und Showboat
      In bestimmten Workflows liefert die Kombination aus Skills + CLI ein gutes Gleichgewicht zwischen der Flexibilität von LLMs und der Konsistenz einer CLI
    • Ich würde gern ein paar Beispiele für kritische Aufgaben hören
      War in deinem Beispiel die kritische Aufgabe „den Backlog dieses Teams holen“, und der LLM-Teil bestand aus „jeden Backlog verarbeiten“ und „die Zusammenfassungen zusammenführen“?
  • Ich habe das populäre /grill-me-Skill genau für diesen Zweck aktualisiert
    Gestern hatte ich damit eine äußerst aufschlussreiche Session mit bohrenden Fragen, als ich verstehen wollte, was beim Laden extrem großer Datensätze in pandas bis ins letzte Detail genau passiert

    • Gibt es einen Ort, an dem du diese Version veröffentlicht hast?
  • Tolle Herangehensweise
    Ich habe neulich einem Freund gesagt, dass man Programmieren lernt, indem man Code mit den eigenen Händen abtippt.
    Deshalb habe ich ihm vorgeschlagen, sich mit einem LLM minimale Lernbeispiele erzeugen zu lassen, zugeschnitten auf seine Interessen und Bedürfnisse.
    Ich habe die Programmier-Lernmethode im Stil von Zed Shaw ausprobiert, also Codebeispiele wortwörtlich abzutippen wie Studien in Musik oder Kunst.
    Ich habe das mit einer Programmiersprache getestet, die ich schon eine Weile lernte, mit der ich aber zu kämpfen hatte, und schon nach ein paar Stunden Tippen war ich deutlich flüssiger.
    Mir wurde klar, dass ich in ein paar Stunden Tippen mehr Code geschrieben hatte als in mehreren Wochen des Lernens.
    Wenn man eine Sprache noch nicht kennt, ist es sehr langsam und fehleranfällig, selbst Code zu erzeugen, aber korrekten Code abzutippen ist vergleichsweise einfach.
    Als ich den Ansatz also auf „einfach blind abtippen“ umstellte, bekam ich zumindest beim Lesen und beim Muskelgedächtnis in ein paar Stunden mehr Übung als in den Wochen davor.
    Natürlich ist Verständnis auch wichtig, aber meiner Erfahrung nach ist das eine getrennte Achse und folgt meist auf Erinnerung und Flüssigkeit.
    Etwas theoretisch zu verstehen und es tatsächlich benutzen zu können, sind zwei sehr verschiedene Dinge.
    Das zugrunde liegende allgemeine Prinzip hier ist Stephen Krashens Input-Hypothese: https://en.wikipedia.org/wiki/Input_hypothesis
    Die Idee ist, dass Kinder Sprache lernen, indem sie sie einfach hören und Input ausgesetzt sind, und dass Erwachsene auf dieselbe Weise lernen können.
    Davon habe ich auch auf der großartigen Website All Japanese All The Time gelesen, die es inzwischen vielleicht nicht mehr gibt.
    Der Autor schrieb, er habe die Hypothese an sich selbst getestet, indem er sehr viel Japanisch hörte, und innerhalb eines Jahres fließend sprechen gelernt.
    https://web.archive.org/web/20080705194055/http://www.alljap...

  • Eine wirklich tolle Idee, und sie wirkt wie eine vernünftige Art, LLMs in dieser chaotischen Zeit einzusetzen.
    Wenn sich beim Start eines neuen Projekts alles nach Reibung anfühlt, könnte das ein guter Weg sein, ins Arbeiten hineinzukommen.

    • Genau das ist tatsächlich mein Hauptanwendungsfall.
      Es senkt die Hürde, in ein neues Projekt einzusteigen, und schafft eine Grundlage, auf der ich später, wenn ich mich eingearbeitet habe, selbst tiefer einsteigen kann.
  • Ich finde, das berührt ein spannendes Feld.
    Ich habe über etwas Ähnliches für die Vorbereitung auf Systemdesign-Interviews nachgedacht.
    Ich habe mit ein paar Blogpost-Reihen zum Entwurf von Twitter und WhatsApp experimentiert: https://prepcommons.com/
    Trotzdem war der Aufwand deutlich größer, als einfach nur die ursprüngliche Anfrage beantworten zu lassen.
    AI ermöglicht es allen, durchschnittliche Ergebnisse zu erzeugen, aber für gute Ergebnisse braucht man immer noch Geschmack und Urteilsvermögen.
    Vermutlich gilt das auch genauso für Lehrinhalte.

  • Tolles Projekt, ich will es ausprobieren.
    Wenn ich ein neues Thema lerne, mag ich es sehr, alle Materialien, die ich habe, in ein LLM-„Projekt“ zu packen und es zu bitten, mich auf Grundlage der tatsächlichen Inhalte zu unterrichten, um schneller voranzukommen.
    Gleichzeitig habe ich die Sorge, dass mein Verständnis schwächer wird, wenn alles genau in der Form für mich aufbereitet wird, wie ich es gern hätte, statt dass ich mich selbst durch das Originalmaterial arbeite und mir das Verständnis mühsam aufbaue.
    Deshalb liegt mir ein Ansatz wie dieser, der die von LLMs ausgelöste intellektuelle Trägheit zumindest etwas abmildert und den Fokus stärker darauf legt, Dinge tatsächlich selbst zu tun.

  • Was mich noch mehr interessiert, ist die Erfahrung, ein selbstgebautes Vibe-Coding-Tool tatsächlich zu benutzen.
    Aus der Vorstellung allein wird für mich nicht ganz klar, ob du es im Alltag wirklich verwendest und magst.
    Du sagtest, du benutzt es und widersprichst ihm gelegentlich, und das könnte an sich schon eine Lernstrategie sein.
    Auch „mit einem anderen Modell testen, ob das Tutorial kompiliert“ klingt nur bedingt nach einer Funktion.
    Natürlich würde ich nach einer einzigen Anfrage kein vollkommen fehlerfreies Tutorial erwarten.
    Ich bin mir auch nicht sicher, warum ich dafür nicht einfach einen handgeschriebenen Prompt verwenden sollte, und ich frage mich, warum ChatGPT Study Mode gescheitert ist.
    Es sah interessant aus.

    • Ich habe es ziemlich viel benutzt und mag es sehr.
      Natürlich kann man auch einfach selbst einen Prompt schreiben.
      Der Wert liegt für mich darin, dass wiederverwendbare Skills/Prompts das Tutorial strukturieren, sodass Claude mir nicht einfach nur Code zum Kopieren und Einfügen gibt, sondern mir hilft, über neue Konzepte nachzudenken und sie zu lernen.
      Und dank der lokalen UI ist es viel angenehmer, einem Tutorial zu folgen, als durch Claudes Markdown-Ausgabe zu scrollen.
      Die Tutorial-Reihen bleiben dauerhaft erhalten, sodass ich interessante Themen oder Erweiterungen eines Tutorials später leicht mit /lathe-extend fortsetzen kann.
      Es ist allerdings nur ein Werkzeug, das mir persönlich geholfen hat; es muss nicht für alle so sein.
      ChatGPT Study habe ich noch nicht benutzt, ich werde es mir also genauer anschauen. Danke für den Hinweis.