ブログ

LLMを「コードを書いてもらう相手」から「技術を教わる師匠」へ。実践的チュートリアル生成ツール「Lathe」

GitHubのリポジトリである Search code, repositories, users, issues, pull requests... を通じて「Lathe」というプロジェクトを知り、AIを単なる代行者ではなく「教育者」として活用するアプローチが非常に面白いと感じたので、こちらで内容を整理してみたいと思います。

これ面白いアイディアですね。教育用コンテンツにも少しだけ興味があるので参考に。


昨今の開発現場では、LLM(大規模言語モデル)にコードを生成してもらうことが当たり前になりつつあります。しかし、AIにすべてを任せてしまうと、自分自身のスキルアップが疎かになってしまうという懸念も少なくありません。今回ご紹介する「Lathe」は、そんな課題に対する一つの回答となる実験的なツールです。

Latheとは:AIを使って「教わる」ための仕組み

Lathe(レイス)は、LLMにコードを代行させるのではなく、LLMを使ってユーザーに技術を教えるためのツールです。具体的には、ユーザーが入力したプロンプトに基づいて、実践的な技術チュートリアルをオンデマンドで生成してくれます。

生成されたチュートリアルは、専用のローカルUI上で読み進めることができます。AIが裏で勝手に実装を終わらせるのではなく、あくまで「自分自身の手で学習を進める」ことに主眼が置かれているのが、このツールのユニークな点かと思います。

Latheの処理フロー

Latheがどのようにチュートリアルを生成し、学習者に届けるのかを簡単に図解してみます。

flowchart TD
    A[ユーザーのプロンプト] --> B[LLMセッション<br/>Claude Code / Cursor等]
    B --> C[Latheスキル実行]
    C --> D[チュートリアルデータの生成]
    D --> E[Lathe CLI / ローカルDB]
    E --> F[lathe serve]
    F --> G[ブラウザUIで学習]

このように、既存のAI開発ツール(Claude CodeやCursorなど)と連携してコンテンツを作成し、それをローカル環境の専用UIで閲覧するという流れになります。

Latheの主な機能

Latheには、効率的な学習を支えるためのいくつかの機能が備わっています。

  • オンデマンドのチュートリアル生成: 「Erlangで3Dスライサーを作りたい」といった具体的な要望から、単発または複数パートにわたるチュートリアルを作成します。
  • 専用のローカルUI: 読みやすさに特化したUIで、ダークモードも完備されています。
  • スキルの活用: チュートリアルの内容について質問したり、作成したコードが正しいか検証させたり、さらに続きのパートを追加させたりできます。
  • 履歴と管理: 生成されたチュートリアルのソース、使用モデル、どのような「語り口(トーン)」で生成されたかのプロンプト設定などがすべて記録されます。

他の学習手法との比較

従来の学習方法とLatheによる学習には、以下のような違いがあるかと思います。

特徴 公式ドキュメント / 技術書 ChatGPT等のチャットAI Lathe
パーソナライズ 低(万人向け) 高(対話による) 高(目的別の構成)
体系的な学習 高(章立てされている) 低(断片的になりがち) 中〜高(複数パート構成)
作業の主体 ユーザー AIに任せがち ユーザー(ハンズオン形式)
オフライン閲覧 可(本・PDF) 不可 可(生成後はローカルUI)

公式ドキュメントは正確ですが、自分のやりたいことにピンポイントで合致しない場合もあります。一方で、通常のAIチャットだと「答え」だけをもらって終わってしまいがちです。Latheはその中間、つまり「自分専用の教科書をAIに執筆してもらう」ようなイメージかもしれません。

クイックスタート:Latheを試してみる

LatheはGo言語で構築されたCLIツールとして提供されており、導入は比較的スムーズに行えるかと思います。

インストール方法

macOSをお使いであれば、Homebrewを利用するのが一番手っ取り早いかと思います。

brew install devenjarvis/tap/lathe

Linux環境やGo環境が整っている方は、以下のコマンドでもインストール可能です。

go install github.com/devenjarvis/lathe@latest

チュートリアルの生成と閲覧

インストール後、Claude CodeやCursorなどのLLMセッション内で、専用の「スキル」を使ってチュートリアルを生成します。

たとえば、以下のようなプロンプトを入力します。

/lathe build a 3D Slicer in Erlang

これによりチュートリアルが構築されます。生成が完了したら、任意のターミナルから以下のコマンドを実行します。

lathe serve

これでローカルサーバーが立ち上がり、ブラウザで整ったUIのチュートリアルを確認できるようになります。

スキルのセットアップについて

LatheをLLMから操作するためには、プロジェクト内に「スキル」を配置しておく必要があります。以下のコマンドを実行することで、Claude CodeなどがLatheを認識できるようになります。

lathe skills install

これにより ./.claude/skills/ などのディレクトリに必要な定義ファイルが作成され、LLMが「チュートリアルを作る」「検証する」といったアクションを理解できるようになる仕組みです。

まとめ

Latheは、AIを「答えを出す道具」としてではなく、「学びをガイドするパートナー」として再定義しようとしているツールだと言えるかもしれません。

実際に使ってみると、自分で手を動かすための道筋をAIが整えてくれる感覚があり、ただドキュメントを読むのとは違った体験が得られるかと思います。新しい言語やライブラリを学びたいけれど、何から手をつければいいか迷っている……そんな時に、Latheを使って自分だけのカリキュラムを作ってみるのも面白い選択肢ではないでしょうか。

AI時代における「自学自習」の形として、こうしたアプローチが今後さらに増えていくのかもしれません。

参照記事