モジュール 00 · 第 1 回

このコースの学び方

コースは「LLM で何かを作る」と「LLM をゼロから理解する」の二部構成です。目的に合わせてルートを選び、各課の構成と、エラーが出たときの対処法を知っておきましょう。

  • 約 15 分
  • 難易度:入門
  • 検証:実行不要

コードと実行結果は実際に動かしたときのまま載せているため、コメントと出力は中国語です。

AI を学ぶ人の多くは、二つのところでつまずきます。一つは「LLM の仕組み」の記事をたくさん読み、アテンションや Transformer については雄弁に語れるのに、自分で API を一度も呼んだことがなく、使えるものを作ったこともない人。もう一つは、さまざまなフレームワークを組み合わせてチャットボットを作れるのに、うまく動かないとプロンプトを変えて運に任せるしかない人です。内部で何が起きているのかを知らないからです。

このコースは、その両方を身につけてもらうことを目指しています。ものを作れて、しかもそれがなぜ動くのか、なぜ壊れるのかもわかる、という状態です。

二つのパート

第 1 部:LLM で何かを作る(モジュール 00~07)。最初の API 呼び出しから始めて、プロンプト、ツール呼び出し、RAG(モデルにあなたの資料を読ませる)、エージェントを学び、最後に評価と公開の方法を学びます。このパートは最初から最後まで API を呼ぶだけで、GPU も数学も必要ありません。

第 1 部のほとんどの課は、一つのプロジェクトを軸に進みます。オープンソースの HTTP ライブラリ httpx の質問に答えるアシスタントで、RepoBot と呼んでいます。チャットしかできない小さなコマンドラインプログラムから始まり、版を重ねて育っていきます。まず httpx のドキュメントを読んで質問に答えられるようになり、次に自分でソースコードを調べて答えを探せるようになり、最後には評価セットとログを備えて、ネットに公開して人に使ってもらえるようになります。

第 2 部:LLM をゼロから理解する(モジュール 08~11)。numpy で勾配降下法と誤差逆伝播法を手書きし、PyTorch で小さな GPT をゼロから組み立て、唐詩で学習させて、それらしい詩を何句か自分で書かせます。続いて LoRA を手書きし、実際のオープンソースモデルをファインチューニングして、モデルをローカルにデプロイします。

使い方を先に、仕組みを後に、というのは意図的な順番です。API を初めて呼び出せるまでは 10 分、ドキュメントを読める最初のアシスタントを作るまでは 3 週間ほどです。先にこうした手応えを得て、具体的な問題(「どうしていつも存在しない関数名をでっち上げるのか?」)にもぶつかっておけば、あとで仕組みに戻ったとき、自分が何を探しているのかがわかります。

ルートを選ぶ

あなたの状況 おすすめのルート
Python が書けて、AI で製品を作りたい、または仕事を効率化したい 第 1 部(00~07)を学ぶ。第 2 部は興味が湧いたら
すでに AI アプリを作っていて、仕組みを補いたい 08 から第 2 部を始め、なじみのない応用の概念が出てきたら第 1 部を参照
体系的に一通り学びたい 順番にすべて学ぶ。週 6~8 時間で約 2 か月半
AI でコードを書く方法だけ学びたい 00 → 01 → 07。週末一回で足ります

第 1 部のモジュールには依存関係があります。04 の RAG は 03 の会話とツール呼び出しを使い、05 のエージェントは 03 と 04 を使います。第 2 部の 08 と 09 も順番に学んでください。それ以外のモジュールは飛ばし読みしてかまいません。

各課の構成

各課はまず一つの具体的な問題から始まります。これを身につけないと、どこでつまずくのか、という話です。次に原理を説明し、それからコードを書きます。手書きできるところは、まずフレームワークを使わずに最も単純なものを書き、そのうえで既存のライブラリではどのステップにあたるのかを示します。こうすれば、フレームワークはもうブラックボックスではなくなります。

課の後半では、その方法がうまくいかない場面やよくある落とし穴を扱い、最後に練習問題と確認テストがあります。確認テストの答えは折りたたんであるので、考えてから開いてください。

課に載っているプログラムの出力は、どれも教材を書いたときに実際に実行して得たものです。frontmatter の verified フィールドに、実行した日付とモデルが書いてあります。LLM を呼ぶ例では、あなたが実行した結果は課の内容と違うはずですが、それが普通です。理由は次のモジュールで説明します。LLM を呼ばないコード、たとえば第 2 部のニューラルネットワークの学習などは乱数シードを固定してあるので、課とまったく同じ数値が得られるはずです。

手を動かす

コードは必ず自分で実行してください。できれば自分でタイプし、少なくともコピーして一度は動かし、それから少し変えてみましょう。質問を変える、パラメータを変える、そして結果がどう変わるかを見る。各課の完全なコードは code/ ディレクトリにもありますが、そのまま実行する出発点ではなく、答え合わせ用として使ってください。

練習問題にはいくつかのレベルがあります。最初のレベルはたいてい「1 か所変えて何が起きるか見る」もので、数分で終わるので全部やることをおすすめします。最後のレベルは自分で小さな機能を書くことが多いので、興味のあるものを選んでください。

エラーが出たら

エラーは学習の一部です。慌てずに、次の順番で対処しましょう。

  1. 最後の行を見る。Python のエラーメッセージは長いですが、本当の原因はほぼ必ず最後の行にあります。たとえば openai.AuthenticationError: Error code: 401 ならキーが間違っている、ModuleNotFoundError: No module named 'openai' ならパッケージが入っていないか、別の環境に入っている、ということです。
  2. エラーがあなたのコードのどの行を指しているか見る。上にたどって、自分のファイル名が最初に出てくる行を探します。問題はたいていその近くにあります。
  3. 課のコードと見比べる。1 行ずつ比べて、写し間違いや抜けている行がないか確かめます。
  4. エラーメッセージ全体で検索するか、AI に聞く。全体を、というところが大事です。「エラーが出た」だけでは伝わりません。

AI を学習に使うのはよい考えです。コードが読めなければ 1 行ずつ説明してもらえますし、概念が腑に落ちなければ別の角度から説明してもらったり、別の例を挙げてもらったりできます。ただし練習問題は自分で書いてください。AI に練習問題を書かせるのは、人に代わりにジムへ行ってもらうようなもので、筋肉がつくのはその人のほうです。

費用はどれくらいか

第 1 部では LLM の API を呼び出します。コースでは標準で DeepSeek を使います。中国国内から直接登録と支払いができ、料金も安いからです。2026 年 9 月時点の料金で計算すると、第 1 部の例と練習問題をすべて実行しても、たいてい 1 ドルもかかりません。次の課でキーの取得方法を説明し、通義千問(Qwen)や Kimi に切り替える方法、Ollama で自分のパソコン上で無料でモデルを動かす方法も紹介します。

第 2 部はほとんどお金がかかりません。小さな GPT は普通のノートパソコンの CPU で数分あれば学習結果が出ます。第 10 モジュールで実際のオープンソースモデルをファインチューニングするときだけ、無料のクラウド GPU の利用をおすすめします。具体的な使い方は課の中で説明します。

練習問題

  1. コースの目次にざっと目を通し、上の表を参考にルートを選んで、週に何時間、何曜日に学ぶつもりかを書き出してください。
  2. 自分が AI で作ってみたい小さなものを一つ考えてください。たとえば「毎週の議事録を整理する」「チームのドキュメントについての質問に答える」など。書き留めておき、第 1 部の最後まで来たら、それを作れるかどうか見返してみましょう。この問題に正解はありません。

確認テスト

1. このコースはなぜ LLM の使い方を先に、仕組みを後に教えるのですか?

先に使えるものを作ると、具体的な問題にぶつかります。たとえばモデルが存在しない関数をでっち上げる、回答が前後で矛盾する、といったものです。そうした問題を抱えたまま仕組みを学ぶと、自分がどんな答えを探しているのかがわかるので理解が深まり、数学の山の途中で挫折しにくくなります。

2. 課のコードどおりに LLM を呼び出したのに、得られた回答が課に載っているものと違います。あなたが何か間違えたのでしょうか?

そうとは限りません。LLM の出力にはもともとランダム性があり、同じ質問を 2 回しても回答が違うことがあります(理由はモジュール 01 の第 3 課で説明します)。プログラムがエラーにならず、回答の内容がおおむね妥当なら、正しくできています。LLM を呼ばないコードは乱数シードを固定してあるので、そちらの数値は課とまったく同じになるはずです。

3. コードを実行したら長いエラーが出ました。最初にどこを見るべきですか?

最後の行です。たいていそこにエラーの種類と原因がそのまま書いてあります。次に上へたどって、自分のファイル名が最初に出てくる行を探し、どのコードで問題が起きたのかを特定します。

質問と議論

このレッスンでつまずいたところは、ここで質問してください。他の人の質問に答えるのも歓迎です。

質問で 3 ポイント、回答で 6 ポイント。審査を通過すると公開されます。

議論を読み込んでいます…