Lathe: LLM이 대신 생각하게 두지 말고 배움의 도구로 쓰세요
Lathe는 AI가 코드를 대신 짜주는 것을 넘어, 사용자가 직접 새로운 기술을 체득하도록 돕는 오픈소스 로컬 튜토리얼 생성기입니다. 사용자가 프롬프트를 입력하면 다중 파트 실습형 튜토리얼을 만들어주며, 특화된 로컬 UI를 통해 학습, 질문, 내용 검증 등을 지원합니다. 현재 Go 기반 CLI와 웹 인터페이스를 통해 제공되며 Claude Code, Cursor, Codex 환경과 연동됩니다.
Lathe(선반)는 LLM이 사용자를 대신해 생각하도록 두는 대신, 가르치기 위해 활용하는 실험적 프로젝트입니다. Lathe는 요청 즉시 실습형 다중 파트 기술 튜토리얼을 생성하며, 내용을 더 쉽게 접근할 수 있도록 스킬(Skills) 기능을 조정합니다. 그런 다음 처음부터 즐거운 학습을 위해 구축된 로컬 UI를 통해 직접 실습하며 학습하게 됩니다. (마치 석기 시대에 우리가 하던 방식처럼 😎)
어떤 프로젝트인가요?
- 임의의 프롬프트로 실습형 기술 튜토리얼(단일 파트 또는 다중 파트 시리즈) 생성
- 전용으로 구축된 로컬 UI에서 직접 튜토리얼 실습 진행
- 스킬(Skills)을 활용해 질문하기, 튜토리얼 검증, 새로운 파트로 확장하기
- 라이브러리에서 튜토리얼 검색, 필터링 및 관리
- 모든 튜토리얼은 출처, 사용된 모델, 튜토리얼의 "분위기(voice)"를 결정한 프롬프트를 문서화함
빠른 시작 Lathe는 LLM 스킬(Skills)과 생성된 튜토리얼을 저장, 관리 및 보기 위한 Golang CLI의 조합입니다. 아래 설치 후, 다음과 같이 프롬프트를 입력하여 LLM 세션(Claude Code, Cursor, Codex 지원) 내에서 튜토리얼을 생성할 수 있습니다:
/lathe build a 3D Slicer in Erlang (역자 주: "Erlang으로 3D 슬라이서 만들기"와 같은 형식)
그런 다음 아무 터미널에서나 lathe를 엽니다:
lathe serve # 웹 서버를 시작하고 브라우저를 엽니다
걱정하지 마세요, 다크 모드도 있습니다: 원하는 튜토리얼을 클릭하고 학습을 시작하세요!
CLI에는 다른 명령어도 많이 있지만, 솔직히 말하면 이 명령어들은 LLM이 결정론적인 방식으로 튜토리얼을 관리할 수 있도록 구축된 것들입니다. 저는 일상적으로 위에서 언급한 기능이면 충분할 것이라고 생각합니다 (제가 실제로 사용하는 전부이기도 합니다). 튜토리얼에 대해 질문을 하거나, LLM이 이를 검증하게 하거나, 추가 파트로 확장하고 싶다면 UI에 각 작업을 위한 버튼이 준비되어 있으며, 해당 작업을 트리거하기 위해 LLM에게 제공해야 할 정확한 스킬 및 프롬프트를 보여줍니다.
설치 방법 Lathe는 단일 자체 포함 바이너리입니다. 필요한 것은 경로($PATH)에 lathe가 있는 것뿐입니다. 스킬은 대화형 Claude Code, Cursor 또는 Codex 세션에서 실행됩니다.
Homebrew (macOS, 권장):
brew install devenjarvis/tap/lathe사전 빌드된 바이너리로 배포되므로 macOS 전용입니다. Linux에서는 아래 설치 스크립트나 go install을 사용하세요.설치 스크립트 (curl | sh):
curl -sSf https://raw.githubusercontent.com/devenjarvis/lathe/main/install.sh | shGo (Go 1.25 이상 필요):
go install github.com/devenjarvis/lathe@latest소스에서 빌드:
git clone https://github.com/devenjarvis/lathecd lathego build -o lathe
스킬(Skills) 설치 스킬은 바이너리에 내장되어 있습니다. lathe를 설치한 후, 프로젝트에 스킬을 드롭하여 Claude Code (또는 Cursor/Codex)가 이를 인식할 수 있도록 합니다:
lathe skills install # ./.claude/skills/<name>/SKILL.md (이 프로젝트)lathe skills install --user # ~/.claude/skills/<name>/SKILL.md (모든 프로젝트)lathe skills install --agent cursor # ./.cursor/commands/<slug>.md (Cursor 슬래시 명령어)lathe skills install --agent codex # ./.agents/skills/<name>/SKILL.md (Codex 에이전트 스킬)lathe skills install --agent all # Claude Code, Cursor, Codex 모두lathe skills list # 내장된 스킬 표시
Codex는 Claude Code와 동일한 SKILL.md 형식을 사용하므로 해당 스킬이 원본 그대로 제공되며(--user는 ~/.agents/skills/...에 설치), Cursor 명령어는 /<slug>(예: /lathe)로 호출됩니다. 대화형 인계(Handoff) 모델은 Claude Code를 위해 문서화되어 있으므로 Cursor 및 Codex에서는 몇 가지 런타임 세부 사항이 다릅니다.
왜 이 프로젝트를 만들었나요? 저는 2000년대에 10대 시절 Lua, 그다음에는 C++로 PSP(PlayStation Portable)용 홈브류 게임을 만들면서 프로그래밍을 배웠습니다. 당시 제가 배운 것의 상당 부분은 제가 함께할 수 있어서 무척 감사했던 작은 PSP 홈브류 커뮤니티를 통한 것이었지만, 그 형성기 학습의 많은 부분은 인터넷에서 사용할 수 있는 무료 온라인 리소스와 튜토리얼에 빚을 지고 있습니다 (2007년 cplusplus.com에 박수를 보냅니다. 그때보다 지금 그 사이트에 광고가 훨씬 많아졌네요 😅).
결국 저는 프로페셔널 소프트웨어 엔지니어가 되었고, 이후 10년 동안 수많은 기술 블로그를 찾아 읽으며 '기술 향상(upskilling)'을 해왔습니다 (보통 필요한 것보다 더 흥미로운 주제를 배우기 위해서였지만요). 제 학습 방식에는 무엇보다 직접 실습해보는 튜토리얼이 가장 중요했습니다. 직접 만들어보는(build-your-own) 프로젝트 같은 리소스 말입니다.