2026年6月23日 2 分钟阅读

Lathe 场景教程:用 1527⭐ 开源的 CLI + LLM Skill 方案,让 AI 教你写代码而不是替你写

tinyash 0 条评论

你有没有这种感觉:用 AI 编程助手写代码确实快,但半年过去,自己的技术能力似乎并没有增长

GitHub Copilot、Claude Code、Cursor 让我们从零搭建一个 Web 应用只需几分钟,但当你离开编辑器面对白板面试、或者需要在某个不熟悉的技术栈上独立调试时,突然发现自己对 AI 生成了什么、怎么工作的知之甚少。这不仅是个人焦虑——2026 年 6 月的 HN 讨论中,大量开发者坦承「AI 替我写的代码越多,我自己的技能就越生疏」。

问题不在 AI,而在于我们使用 AI 的方式:我们让 AI 替我们思考,而不是教我们思考。

Lathe 的解法:让 AI 生成教程,你亲手敲代码

Lathe 是一个 MIT 许可的 Go 语言 CLI 工具(1527⭐),它的核心哲学是一句话:

Use LLMs to teach you, rather than think for you.

它的工作方式很简单:你告诉 Lathe 想学什么(比如「用 Zig 写一个数字合成器」「从零构建时序数据库」),Lathe 让 LLM 生成一份多篇连载的动手教程,然后你在一个本地运行的 Web UI 中一边阅读教程,一边亲手敲代码完成每个步骤——教程末尾还有练习题。

关键是,Lathe 全程不替你做:它生成的是指导性的文档,不是可粘贴的代码。你需要自己思考、动手实现,就像 2000 年代你在网站上找教程自学编程一样。

问题传统做法Lathe 做法
想学一个新领域搜教程 → 要么找不到,要么太浅或太旧LLM 在数秒内生成定制教程,含完整结构
教程半途而废作者弃坑,系列永远停在 “Part 3 of 12”随时 /lathe-extend 续写,LLM 永不弃坑
AI 让我变懒AI 直接给答案,不动脑教程让你亲手敲代码、自己思考
没有学习材料小众领域(3D 切片、嵌入式 Zig)基本没人写教程LLM 结合现有文档为你私人定制

快速上手:5 分钟跑通第一个教程

安装

brew install devenjarvis/tap/lathe

curl -sSf https://raw.githubusercontent.com/devenjarvis/lathe/main/install.sh | sh

go install github.com/devenjarvis/lathe@latest

安装 Agent Skill

Lathe 的核心交互通过 LLM 技能(slash command)进行。安装后让 AI Agent 能识别 /lathe 命令:

lathe skills install --user

lathe skills install --agent cursor
lathe skills install --agent opencode
lathe skills install --agent all

生成第一个教程

在 Claude Code 或 Cursor 中,输入:

/lathe build a 3D Slicer in Erlang

LLM 会开始研究、规划、生成多篇连载教程。完成后:

lathe serve            # 启动 Web UI,打开浏览器

浏览器中会看到教程的阅读界面,支持分篇导航、侧边栏目录、暗色模式。

核心功能拆解

1. LLM Skill 系统:5 个 slash command

Lathe 的所有模型工作都在 Agent 会话中运行(CLI 从不直接调用模型),由一组 Skill 驱动:

命令功能
/lathe生成新教程(单篇或连载);自动记录到本地库
/lathe-extend给已有教程续写下一篇
/lathe-verify按教程步骤执行,验证代码能否编译/运行
/lathe-ask针对当前章节提问(「这一段为什么用 Map 而非 List?」)
/lathe-tag给教程加搜索标签

Skill 通过跨 Agent 的 SKILL.md 标准分发——Claude Code、Codex、Gemini CLI、opencode、Cline 都能直接识别,只有 Cursor 需要翻译为 slash 命令格式。

2. CLI 与 Web UI:专注于阅读体验的本地服务器

lathe servehttp://localhost:4242 启动一个阅读界面,特色包括:

  • 全文目录导航:右侧悬停查看所有章节结构
  • 旁注(Side Notes):教程中插入了「停下来思考一下」的提示点
  • 每章末尾练习:不提供答案——你要自己写
  • 搜索与过滤:按标题、标签、状态、工具版本过滤
  • 离线可用:所有内容在本地,断网也能学

教程存储在 ~/.lathe/tutorials/,每个教程一个目录:

~/.lathe/tutorials/
  digital-synth-zig/
    metadata.json        # 标题、标签、来源、模型、voice
    part-01.md
    part-02.md
  database-from-scratch-go/
    metadata.json
    index.md

3. Voices:定制教程的「写作语气」

每篇教程都有一个 Voice 控制行文风格。预装两个:

  • plainspoken(默认):诚实精确,不扮演人格,不自称「我」
  • companion:温暖、略带幽默的「键盘前的朋友」

也可以自定义:

/lathe-voice                              # LLM 会采访你,生成一份 voice spec
lathe voice add my-style --file -         # 保存自定义风格
lathe voice set-default companion         # 设为全局默认

Voice 信息会记录在教程的 byline 中(Generated by Claude Opus 4.8 · voice companion),确保读者始终知道这是 AI 生成的。

4. 来源追踪与验证

Lathe 记录每个教程的研究来源 URL——不是内联引用,而是教程级别的来源追踪:

~/.lathe/tutorials/digital-synth-zig/metadata.json
{
  "slug": "digital-synth-zig",
  "title": "Build a Digital Synth in Zig",
  "sources": [
    "https://ziglang.org/documentation/0.13.0/",
    "https://en.wikipedia.org/wiki/Digital_synthesizer"
  ],
  "voice": "plainspoken",
  "model": "Claude Opus 4.8"
}

Web UI 中会显示「Researched against N sources」面板,可直接点击查看原文。

验证功能/lathe-verify)更为独特:它让 LLM 在临时目录中按教程步骤执行每个 Checkpoint——如果能编译运行,标记为 verified;否则标记为 failed 并记录失败步骤和错误输出。依赖工具缺失时标记为 skipped(不是失败)。

何时用 Lathe?何时不用?

场景推荐方案
想学一个人类教程匮乏的新领域(嵌入式 Zig、3D 建模算法)Lathe — LLM 为你定制,人根本没人写
已有完整的人类教程(Crafting Interpreters、build-your-own-x)先读人类教程 — 质量更高、更有灵魂
急于交付产品,需要快速了解 API直接问 LLM / 读官方文档更快
真正掌握而不只是会用Lathe — 亲手敲、动手做、做练习
需要生成分发给他人的培训材料不要用 Lathe — 作者明确表示 Lathe 仅供个人学习

注意事项

  • 教程质量不如人类:Lathe 作者坦言,Lathe 教程在「人格、架构严谨性」上不如人类写的。但 LLM 不会弃坑、永远愿意修改补充。
  • 推荐使用大模型:生成高质量教程需要强大的推理能力,建议使用 Opus、GPT-5 Codex 等顶级模型。
  • macOS 优先:作者主要测试 macOS + Claude Code 环境。Linux 和其他 Agent 应该能用,但作者只验证了自己的设置。
  • Go 版本要求:需要 Go 1.25+ 编译;使用 Homebrew 安装可跳过此限制。
  • 不要用来生成公开内容:Lathe 的 voice 系统明确禁止冒充真人或伪装身份,用于个人学习而非对外发布。

总结

Lathe 不是又一个 AI 编程工具——它是对 AI 时代「被动消费代码」现象的一次有意识的纠正。它的核心洞察是:AI 最擅长的是当老师,而不是当打字员。

如果你也在担心 AI 让你的技能生锈,Lathe 提供了一个实验性的、低成本的解决方案:让 AI 出题,你来解题。GitHub 仓库 1527 个 Star 已经说明,有这个担忧的开发者在增多——而 Lathe 是目前回答这个问题的一个值得一试的开源答案。

📦 GitHub: github.com/devenjarvis/lathe 📖 许可: MIT ⚙️ 语言: Go 🏷️ 安装: brew install devenjarvis/tap/lathego install github.com/devenjarvis/lathe@latest

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。