Show HN: Lathe – aprender un nuevo dominio con un LLM sin saltarse pasos
(github.com/devenjarvis)- Lathe es un experimento que usa un LLM para enseñar en lugar de pensar por ti: genera tutoriales técnicos prácticos desde un prompt y permite que el usuario aprenda siguiéndolos manualmente en una UI local
- Admite la generación de tutoriales de una sola parte o de varias partes, y ofrece LLM skills para hacer preguntas, verificar tutoriales, extenderlos con nuevas partes y agregar etiquetas de búsqueda
- Los tutoriales pueden generarse en sesiones conversacionales de LLM como Claude Code, Cursor y Codex, y la CLI
lathe, hecha en Go, se encarga de guardar, administrar, renderizar los tutoriales y mantener el estado persistente - La CLI en sí no invoca al LLM; los botones web y los comandos
lathe verifyylathe extendfuncionan proporcionando un skill command para pegar en la sesión del LLM - La UI web local se ejecuta con
lathe servey usa por defecto el puerto4242; en la lista de tutoriales permite buscar por título, tema, etiquetas, repositorio y versiones de herramientas, además de ordenar por más recientes, más antiguos o título, y filtrar por estado, tipo, etiquetas y versión - La UI de lectura ofrece navegación por tabla de contenidos en la barra lateral derecha, notas laterales dentro del cuerpo y ejercicios para el lector al final del tutorial
- Todos los tutoriales registran las fuentes usadas, el modelo y el prompt que guió el estilo del tutorial; el registro de fuentes puede consultarse en el campo
sourcesdemetadata.jsony en el panel de fuentes de la UI - Los tutoriales se guardan en la ruta global
~/.lathe/tutorials/en directorios por slug, y están compuestos pormetadata.jsony archivos de partes comopart-01.md, o porindex.md - La instalación consiste en colocar el binario independiente
latheen$PATH; se soportan Homebrew cask para macOS, script de instalación concurl | sh,go installcon Go 1.25+ y compilación desde código fuente - Las skills vienen incluidas en el binario y pueden instalarse en las ubicaciones de Claude Code, Cursor y Codex con
lathe skills install - El estilo del tutorial se controla con la voice; se incluyen por defecto
plainspokenycompanion, y se pueden crear voces personalizadas con/lathe-voice - La voice solo cambia el estilo, no la exactitud, la investigación, las citas, la verificación ni la estructura; además, las voces personalizadas están configuradas para rechazar la suplantación de personas reales, la manipulación de credenciales y la negación de autoría del LLM
- La verificación es opcional y se ejecuta en una sesión conversacional de LLM con
/lathe-verify <slug>; crea archivos en un directorio temporal nuevo conmktemp -d, ejecuta comandos y bloques## Checkpoint, y luego registra los resultados - El estado de verificación puede ser
unverified,verifying,verified,failed,skippedoextending; si faltan herramientas necesarias, no se registra como fallo sino comoskipped - La verificación se ejecuta bajo el modelo de permisos habitual del LLM para que puedas ver y aprobar llamadas a herramientas, y el directorio temporal es solo una convención para mantener los artefactos de compilación fuera del repositorio, no un límite de seguridad
- Como Lathe es un LLM, puede fallar de la misma forma en que fallan los LLM, y se recomienda usar el modelo “thinking” más grande disponible para generar tutoriales
- Su caso de uso probado internamente por ahora es Claude Code en macOS; se aclara que otras configuraciones podrían funcionar, pero no han sido verificadas
- No está pensado para crear contenido para usos distintos del uso personal con fines de aprendizaje individual
1 comentarios
Comentarios de Hacker News
También funciona bien un método parecido en el que haces que el LLM siga lanzando cuestionarios con diálogo socrático sobre un tema de interés
Sigue haciendo preguntas más profundas para que llegues por tu cuenta a la respuesta, y en ese proceso te obliga a pensar seriamente en el problema, lo que ayuda a la comprensión, el aprendizaje y la memoria
Por eso hice una habilidad de Socratic-quiz que puede usarse en cualquier agente de código o herramienta similar: https://pchalasani.github.io/claude-code-tools/plugins-detai...
Por ejemplo, la he usado para entender mejor cosas contraintuitivas como diabetes/insulina, dopamina y motivación, o la implementación de Claude, y también ayuda a reducir la llamada deuda cognitiva
Los LLM potentes son sorprendentemente hábiles en este tipo de cuestionarios, y muestran algo parecido a una teoría de la mente
Las preguntas más difíciles probablemente aparezcan recién cuando el contexto ya esté casi lleno
Mencionaste a la ligera que “entendiste” temas complejos como diabetes/insulina o dopamina y motivación, pero para entenderlos por completo hace falta bastante estudio
Me parece bien verlo como aprendizaje guiado por la curiosidad, pero no sé si sirva tanto como forma de aprender cosas realmente importantes o serias
El método tradicional de buscar materiales y seguir clases guiadas está más ordenado y es más rápido que este enfoque
Parece que siempre seguirá existiendo el mismo grupo bien definido de personas
Algunas personas son curiosas y quieren o necesitan entender lo que hacen, y otras no, y solo quieren ejecutar
Ese deseo en sí es un rasgo de personalidad fundamental que crea a los expertos
Los LLM son una herramienta soñada para las personas curiosas, y más bien las van a acelerar todavía más
En realidad no hay mucha “pérdida”; simplemente la gente a la que no le importa podrá hacer su trabajo más fácilmente
Eso es bueno para ellos y también para la gente curiosa, así que en general es una ganancia
A veces es divertido e interesante profundizar durante mucho tiempo
En cambio, otras veces no me da mucha curiosidad por qué algo no funciona y solo quiero hacerlo funcionar para volver a lo que originalmente quería hacer
Al final siento que los LLM son útiles en ambos casos
Un botón de “solo dame la respuesta ahora” siempre a mano puede ser una fuerza poderosa que las arrastre hacia la indiferencia
Me parece una idea bastante fresca
Una de las grandes ventajas de los LLM es que son una excelente herramienta de aprendizaje
Mucha gente quiere usarlos para generar cosas, pero da la impresión de que se subestima el conocimiento que se puede obtener de ahí
Podrían ser el mejor tutor que hemos tenido hasta ahora
Además, no me gusta ese ambiente en el que parece que uno tiene que revelar si intenta ganar dinero con un proyecto o no
Ganar dinero no debería demonizarse ni verse con malos ojos
Últimamente he estado usando mucho este patrón general en el trabajo
Convierto las tareas deterministas en apps CLI personalizadas, agrego habilidades al arnés del agente y luego hago que ejecute esas habilidades dentro del agente para producir resultados con el CLI y el razonamiento tipo agente
Por ejemplo, si le pides “hazme un resumen ejecutivo de la actividad del backlog de estos equipos durante el último mes”, en 5 a 10 minutos puedes leer un documento de varias páginas con citas de los tickets analizados
Sin tener que molestar a la gente ni pedirles otra tarea más, basta con mantener el backlog actualizado y detallado como siempre
Ocupa un punto muy útil entre usar agentes puros, donde es difícil obtener resultados consistentes en tareas repetitivas, y la situación de tener que construir o comprar una app completa para cada cosa menor
Pero no dejo de pensar que quiero invertirlo al revés
La estructura que más quisiera es un programa CLI tradicional que contenga en código real la mayor parte del conocimiento y las decisiones del flujo de trabajo, y que solo invoque “un poquito” a un agente de código en ciertas etapas específicas del flujo
No tengo claro cómo implementarlo
También me pregunto si ya existe una librería así y, de ser así, cómo funciona
Para hacerlo bien, parece que haría falta un servicio en segundo plano con el que el software CLI pueda interactuar mediante un socket IPC local bien conocido
Por ejemplo, de forma parecida al daemon de Docker
Pero no conozco ningún software o framework de agentes de código que exponga esa clase de funcionalidad IPC
Creo que vi este patrón por primera vez en algunos trabajos de Simon Willison, probablemente en Rodney y Showboat
En ciertos flujos de trabajo, la combinación de Skills + CLI da un buen equilibrio entre la flexibilidad del LLM y la consistencia del CLI
En tu ejemplo, ¿la tarea determinista era “obtener el backlog de este equipo”, y la parte del LLM era “procesar cada backlog” y “combinar los resúmenes”?
Actualicé el popular skill /grill-me justamente para este propósito
Ayer hice una sesión de preguntas incisivas muy reveladora, hasta el último detalle, sobre qué es exactamente lo que pasa cuando intentas cargar un dataset extremadamente grande en pandas
Me parece una forma excelente.
Hace poco le dije a un amigo que la programación se aprende tecleando el código con tus propias manos.
Así que le sugerí que usara un LLM para generar ejemplos educativos mínimos, ajustados a sus intereses y necesidades.
Probé el método de aprendizaje de programación al estilo de Zed Shaw, es decir, teclear ejemplos de código tal cual, como estudios en música o arte.
Lo probé con un lenguaje de programación que llevaba tiempo aprendiendo pero con el que me costaba avanzar, y con solo unas horas de tecleo mi fluidez mejoró muchísimo.
Me di cuenta de que, en unas horas tecleando, escribí más código que en varias semanas de estudio.
Si todavía no conoces bien el lenguaje, producir código por tu cuenta es muy lento y propenso a errores, pero teclear código correcto es relativamente simple.
Así que al cambiar el enfoque a “simplemente teclear a ciegas”, al menos en lectura y memoria muscular terminé practicando más en unas horas que en las semanas anteriores.
Claro que la comprensión también importa, pero por mi experiencia eso va en un eje aparte y por lo general viene después de la memoria y la fluidez.
Entender algo en teoría y poder usarlo de verdad son cosas muy distintas.
El principio general de fondo aquí es la hipótesis del input de Stephen Krashen: https://en.wikipedia.org/wiki/Input_hypothesis
La idea es que los niños aprenden un idioma simplemente escuchándolo y exponiéndose al input, y que los adultos también pueden aprender así.
También vi esta idea en un gran sitio web llamado All Japanese All The Time, que quizá ya no exista.
El autor puso a prueba la hipótesis por su cuenta escuchando muchísimo japonés y dijo haber alcanzado fluidez en un año.
https://web.archive.org/web/20080705194055/http://www.alljap...
Es una idea muy buena, y se siente como una forma sensata de usar los LLM en estos tiempos tan caóticos.
Puede ser una buena manera de romper la inercia cuando empiezas un proyecto nuevo y todo se siente lleno de fricción.
Baja la barrera de entrada a un proyecto nuevo y, una vez que ya le agarraste el ritmo, te deja una base para profundizar por tu cuenta.
Creo que está tocando un área interesante.
Pensé en algo parecido al prepararme para entrevistas de diseño de sistemas.
Hice algunos experimentos con una serie de posts sobre cómo diseñar Twitter y WhatsApp: https://prepcommons.com/
Aun así, requirió muchísimo más esfuerzo que simplemente procesar la solicitud inicial.
La IA permite que cualquiera produzca resultados promedio, pero para obtener buenos resultados todavía hace falta criterio y buen gusto.
Supongo que con los cursos pasará exactamente lo mismo.
Es un proyecto genial, así que pienso probarlo.
Cuando estudio un tema nuevo, me gusta bastante meter todo el material que tengo en un “proyecto” de LLM y pedirle que me enseñe basándose en el contenido real, para acelerar el proceso.
Al mismo tiempo, me preocupa que si todo queda perfectamente ordenado de la forma que yo quiero, se debilite esa comprensión que se construye al revisar el material original directamente y abrirse paso entre la dificultad.
Por eso un enfoque como este, que sigue moderando en cierta medida la pereza intelectual inducida por los LLM, pero se enfoca más en hacer las cosas uno mismo, me queda muy bien.
Lo que más curiosidad me da es la experiencia real de usar la herramienta de vibe coding que construiste.
Solo con la presentación no me queda claro si de verdad la usas y te gusta.
Dijiste que la usas y que a veces incluso le llevas la contra, y eso en sí mismo podría ser una estrategia de aprendizaje.
Además, eso de “probar con otro modelo si el tutorial compila” no sé si realmente se le pueda llamar una función.
Claro, no espero un tutorial perfecto de una sola petición.
Tampoco me queda claro por qué usaría esto en vez de un prompt escrito a mano, y también me da curiosidad por qué ChatGPT Study mode falló.
Me llamó la atención porque se veía interesante.
Claro, también podrías escribir tus propios prompts.
Para mí, el valor está en que una habilidad/prompt reutilizable estructura el tutorial para que Claude me ayude a pensar y aprender conceptos nuevos, en vez de simplemente darme código para copiar y pegar.
Y con la UI local es muchísimo más cómodo seguir el tutorial que estar desplazándome por la salida en Markdown de Claude.
Además, la serie de tutoriales queda guardada de forma persistente, así que después puedo continuar fácilmente con temas que me interesen o ampliar un tutorial usando
/lathe-extend.Aun así, solo es una herramienta que a mí me resultó útil; no tiene por qué serlo para todo el mundo.
Nunca he usado ChatGPT Study, así que voy a revisarlo mejor. Gracias por mencionarlo.