Show HN: Lathe – Aprendendo novos domínios com LLM sem pular etapas
(github.com/devenjarvis)- O Lathe é um experimento para usar LLMs para ensinar, em vez de pensar no lugar do usuário, gerando tutoriais técnicos práticos a partir de prompts para que a pessoa aprenda acompanhando manualmente em uma UI local
- Suporta a geração de tutoriais de uma única parte ou de várias partes e oferece LLM skills para fazer perguntas, verificar tutoriais, expandir com novas partes e adicionar tags de busca
- É possível gerar tutoriais em sessões interativas de LLM como Claude Code, Cursor e Codex, enquanto a CLI
lathe, feita em Go, cuida de salvar, gerenciar, renderizar os tutoriais e manter o estado persistente - A CLI em si não chama o LLM; os botões da web e os comandos
lathe verifyelathe extendfornecem skill commands para serem colados em uma sessão de LLM - A UI web local é iniciada com
lathe servee usa a porta padrão4242; na lista de tutoriais, oferece busca por título, tema, tags, repositório e versão de ferramenta, além de ordenação por mais recente, mais antigo e título, e filtros por estado, tipo, tags e versão - A interface de leitura oferece navegação por sumário na barra lateral direita, notas laterais no meio do conteúdo e exercícios para o leitor ao final do tutorial
- Todos os tutoriais registram as fontes usadas, o modelo e os prompts que orientaram o estilo do tutorial; esse registro pode ser visto no campo
sourcesdemetadata.jsone no painel de fontes da UI - Os tutoriais são salvos no caminho global
~/.lathe/tutorials/em diretórios por slug, compostos pormetadata.jsone arquivos de parte comopart-01.md, ou porindex.md - A instalação é feita colocando o binário independente
latheno$PATH, com suporte a cask do Homebrew para macOS, script de instalaçãocurl | sh,go installcom Go 1.25+ e build a partir do código-fonte - As skills vêm embutidas no binário e podem ser instaladas nos locais do Claude Code, Cursor e Codex com
lathe skills install - O estilo do tutorial é controlado por uma voice, com
plainspokenecompanionincluídas por padrão, e é possível criar voices personalizadas com/lathe-voice - A voice altera apenas o estilo, sem mudar precisão, investigação, citações, verificação ou estrutura; voices personalizadas são configuradas para recusar personificação de pessoas reais, falsificação de credenciais e negação de autoria por LLM
- A verificação é opcional e é executada em uma sessão interativa de LLM com
/lathe-verify <slug>; ela cria arquivos em um diretório temporário novo commktemp -d, executa comandos e blocos## Checkpointe então registra os resultados - O estado de verificação pode ser
unverified,verifying,verified,failed,skippedouextending; se uma ferramenta necessária não estiver disponível, isso é registrado comoskipped, e não como falha - A verificação roda sob o modelo normal de permissões do LLM, permitindo ver e aprovar chamadas de ferramentas, e o diretório temporário é apenas uma convenção para manter artefatos de build fora do repositório, não um limite de segurança
- Como é um LLM, o Lathe pode falhar das mesmas formas que LLMs falham, e recomenda-se usar o maior modelo de “thinking” acessível para gerar tutoriais
- No momento, o caso de uso testado internamente é o Claude Code no macOS; outras configurações podem funcionar, mas não foram verificadas
- Não é destinado à criação de conteúdo para usos além do uso pessoal voltado ao aprendizado individual
1 comentários
Comentários do Hacker News
Uma abordagem parecida que também é boa é fazer o LLM continuar aplicando questionamento socrático sobre um tema de interesse
Ele vai fazendo perguntas em níveis cada vez mais profundos para que a própria pessoa chegue à resposta, e nesse processo ela acaba pensando seriamente sobre o problema, o que ajuda na compreensão, no aprendizado e na memória
Por isso criei uma skill de quiz socrático que pode ser usada em qualquer agente de programação ou ferramenta semelhante: https://pchalasani.github.io/claude-code-tools/plugins-detai...
Já usei isso, por exemplo, para entender melhor conteúdos contraintuitivos como diabetes/insulina, dopamina e motivação, ou implementações do Claude, e também ajuda a reduzir o chamado débito cognitivo
LLMs fortes são surpreendentemente bons nesse tipo de quiz e exibem algo parecido com uma teoria da mente
As perguntas mais difíceis só devem aparecer quando o contexto já estiver quase cheio
Você falou de temas complexos como diabetes/insulina e dopamina e motivação como se os tivesse “entendido”, mas para compreender isso de verdade é preciso bastante estudo
Como aprendizado movido pela curiosidade, tudo bem, mas não sei se funciona tão bem como forma de aprender algo realmente importante ou sério
O método tradicional de buscar materiais e seguir aulas guiadas é mais organizado e mais rápido do que isso
Acho que sempre vai existir a mesma faixa exata de pessoas que já existia antes
Algumas são curiosas e querem — ou precisam — entender o que estão fazendo, e outras não são assim e só querem executar
Esse desejo em si é um traço fundamental de personalidade que forma especialistas
LLMs são uma ferramenta dos sonhos para esse tipo de pessoa curiosa e só vão acelerar isso ainda mais
Na prática não há muita “perda”; as pessoas que não se importam só vão conseguir fazer o trabalho com mais facilidade
Isso é bom para elas e também para os curiosos, então no geral é um ganho
Às vezes é divertido e interessante se aprofundar por muito tempo
Em outras, não tenho tanta curiosidade sobre por que algo não está funcionando; só quero fazer funcionar e voltar ao que eu realmente estava tentando fazer
No fim, sinto que LLMs são úteis nos dois casos
Um botão de “só me dá a resposta agora” sempre à mão pode ser uma força poderosa puxando essas pessoas para o lado da indiferença
Acho que é uma ideia bem nova
Uma grande vantagem dos LLMs é que eles são uma excelente ferramenta de aprendizado
Muita gente quer usá-los para gerar coisas, mas parece que o conhecimento que dá para obter deles é subestimado
Talvez sejam os melhores tutores que já tivemos até hoje
Além disso, não gosto muito desse clima de que a pessoa precisa declarar se pretende ganhar dinheiro com o projeto ou não
Ganhar dinheiro não deveria ser demonizado nem visto com maus olhos
Tenho usado bastante esse padrão geral no trabalho recentemente
A ideia é transformar as tarefas determinísticas em apps CLI customizados, adicionar skills ao harness do agente e então fazer o agente executar essas skills para produzir resultados combinando a CLI com raciocínio no estilo de agente
Por exemplo, se eu pedir “faça um resumo executivo da atividade de backlog dessas equipes no último mês”, em 5 a 10 minutos consigo ler um documento de várias páginas com citações dos tickets analisados
Sem precisar incomodar ninguém nem pedir mais uma tarefa para outra pessoa; basta manter o backlog atualizado e detalhado como de costume
Isso ocupa um ponto muito útil entre o uso de agentes puros, que têm dificuldade para produzir resultados consistentes em tarefas repetitivas, e a situação em que seria preciso criar ou comprar um app completo para cada coisinha
Só que fico com vontade de inverter isso completamente
A estrutura que eu gostaria de ter é, na maior parte, um programa CLI tradicional com quase todo o conhecimento e as decisões do workflow codificados em código de verdade, chamando um agente de programação só “um pouquinho” em etapas específicas do workflow
Não sei bem como implementar isso
Também queria saber se já existe alguma biblioteca assim e, se existir, como ela funciona
Para fazer direito, parece que o software CLI precisaria de um serviço em segundo plano com o qual pudesse interagir por um socket IPC local bem conhecido
Algo parecido com o daemon do Docker, por exemplo
Mas não conheço nenhum software ou framework de agente de programação que exponha esse tipo de funcionalidade de IPC
Acho que vi esse padrão pela primeira vez em algum trabalho do Simon Willison, provavelmente no Rodney e no Showboat
Em certos workflows, a combinação de Skills + CLI oferece um bom equilíbrio entre a flexibilidade dos LLMs e a consistência da CLI
No seu exemplo, a tarefa determinística era “buscar o backlog desta equipe”, e a parte de LLM era “processar cada backlog” e “juntar os resumos”?
Atualizei a popular skill /grill-me exatamente para esse propósito
Ontem fiz uma sessão de perguntas desafiadoras extremamente perspicaz, até o último detalhe, sobre o que exatamente acontece ao tentar carregar datasets gigantescos no pandas
Que jeito legal de fazer isso
Há pouco tempo, eu disse a um amigo que se aprende programação digitando o código com as próprias mãos
Então sugeri que ele tentasse gerar com um LLM exemplos didáticos mínimos, alinhados aos próprios interesses e necessidades
Tentei uma abordagem ao estilo de Zed Shaw para aprender programação, isto é, digitar exemplos de código manualmente, como estudos em música ou artes plásticas
Testei isso em uma linguagem de programação que eu vinha estudando havia algum tempo, mas com a qual ainda estava penando, e minha fluência melhorou muito depois de apenas algumas horas digitando
Percebi que, em algumas horas digitando, escrevi mais código do que em várias semanas estudando
Quando você ainda não conhece a linguagem, produzir código é algo muito lento e cheio de erros, mas digitar código correto é relativamente simples
Então, ao mudar a abordagem para “simplesmente digitar quase no automático”, acabei praticando em poucas horas mais do que nas semanas anteriores, pelo menos em termos de leitura e memória muscular
Claro que compreensão também importa, mas, pela minha experiência, isso é um eixo separado e em geral vem depois da memória e da fluência
Entender algo em teoria e conseguir usar isso na prática são coisas bem diferentes
O princípio geral por trás disso é a hipótese do input de Stephen Krashen: https://en.wikipedia.org/wiki/Input_hypothesis
A ideia é que uma criança aprende a língua simplesmente ouvindo e sendo exposta ao input, e que adultos também podem aprender da mesma forma
Também vi isso no excelente site All Japanese All The Time, que talvez já nem exista mais
O autor diz que testou essa hipótese em si mesmo ouvindo muito japonês e alcançou fluência em um ano
https://web.archive.org/web/20080705194055/http://www.alljap...
É uma ideia muito legal e, nestes tempos confusos, parece uma forma sensata de usar LLMs
Ao começar um projeto novo, quando tudo parece ter atrito, isso pode ser uma boa maneira de destravar o clima
Isso reduz a barreira de entrada em um projeto novo e cria uma base para eu me aprofundar por conta própria depois que pego o jeito
Acho que isso está explorando uma área interessante
Pensei em algo parecido ao me preparar para entrevistas de design de sistemas
Fiz alguns experimentos com uma série de posts de blog sobre projetar o Twitter e o WhatsApp: https://prepcommons.com/
Mesmo assim, exigiu muito mais esforço do que simplesmente atender ao pedido inicial
A IA permite que todo mundo produza resultados medianos, mas, para produzir bons resultados, ainda é preciso gosto e discernimento
Imagino que isso também se aplique da mesma forma a cursos
É um projeto legal, então pretendo experimentar
Quando estudo um tema novo, gosto bastante de pegar todo o material que tenho e colocar em um “projeto” de LLM, pedindo que ele me ensine com base no conteúdo real para acelerar o processo
Ao mesmo tempo, quando tudo já vem perfeitamente organizado do jeito que eu quero, fico preocupado que isso enfraqueça o entendimento que se constrói ao consultar o material original diretamente e ir desvendando as coisas com esforço
Por isso, uma abordagem como esta, que ainda ameniza um pouco a preguiça intelectual provocada pelos LLMs, mas mantém mais foco em realmente fazer por conta própria, combina bem com meu gosto
O que mais me deixa curioso é a experiência de usar na prática uma ferramenta de vibe coding feita por você mesmo
Só pela apresentação, não ficou muito claro se você realmente usa e gosta disso no dia a dia
Você disse que usa e às vezes até contesta o que ela faz, e isso por si só talvez já seja uma estratégia de aprendizado
Além disso, “testar se o tutorial compila com outro modelo” mal parece algo que eu chamaria de funcionalidade
Claro que não espero um tutorial perfeito de uma única vez
Também não entendi muito bem por que eu usaria isso em vez de um prompt escrito à mão, e fiquei curioso sobre por que o modo Study do ChatGPT falhou
Foi porque pareceu interessante
Claro, você também pode criar seus próprios prompts
O valor que eu vejo está no fato de que a habilidade/o prompt reutilizável estrutura o tutorial para que o Claude me ajude a pensar e aprender conceitos novos, em vez de simplesmente me dar código para copiar e colar
E, por causa da UI local, é muito mais confortável acompanhar o tutorial do que ficar rolando a saída em Markdown do Claude
Como a série de tutoriais fica salva de forma contínua, depois posso retomar facilmente tópicos que me interessarem ou expandir um tutorial com
/lathe-extendDito isso, é só uma ferramenta que foi útil para mim pessoalmente; não precisa ser assim para todo mundo
Nunca usei o ChatGPT Study, então vou olhar isso com mais calma. Valeu por mencionar