rohitg00/ai-engineering-from-scratch

Learn AI Engineering! Learn it. Build it. Ship it for others.

このプロジェクトとは?

ai-engineering-from-scratch は、AI エンジニアリングのための無料のオープンソース(MIT ライセンス)学習カリキュラムです。特定の哲学に基づいて構築されています:モデル、検索パイプライン、エージェントランタイムの内部を自分で実装する—単に読むだけではありません。次に、コードをテストし、失敗を検査し、学んだことの証拠として生成した成果物を保持します。

README は、Python、TypeScript、Rust、Julia で 20 フェーズにわたる 542 レッスンを宣伝しています。3 つの方法で学習できます:

  1. ウェブサイト(aiengineeringfromscratch.com)— セットアップ不要で任意のレッスンを開く。
  2. コーディングエージェントチューター— Node.js と npx があれば、「AI チューター」スキルをインストールして、レッスンをインタラクティブに進めることができます。
  3. ローカルコードを実行— リポジトリをクローンして、レッスンスクリプトを自分で実行します。

学習方法

すべてのレッスンのコアループは同じです(README から):

  1. 読む:レッスンの docs/en.md を読み、コアアイデアを自分の言葉で説明します。
  2. 入力して構築:重要なコードを自分で入力します—コピーするだけではありません。
  3. 実行:リポジトリルートからレッスンコマンドを実行します。
  4. 証拠を保持:コマンド、作業ディレクトリ、終了コード、意味のある出力、変更または生成した成果物。
  5. 出力を説明でき、推測せずに小さな変更を 1 つ行える場合にのみ続行します。

この「証拠を保持する」原則が、チュートリアルを見るのと異なる点です—最終的には、自分自身の実行可能なコードと結果のフォルダーができます。

3 つのハンズオンプロジェクト

README は、それぞれ段階的スターター、参照実装、ローカル採点者を備えた 3 つの完全なプロジェクトを強調しています。各段階を実装するまで意図的に失敗するスターターから始めます。

01 · 検索評価ラボ(Python)

候補システムは平均 NDCG(ランキングメトリクス)を改善しますが、1 つのクエリの最も関連性の高い結果を低くランク付けします。あなたの仕事:回帰をキャッチし、リリースチェックを失敗させる可能性のあるクエリごとの比較を構築します。ランキング検証、適合率/再現率、ランク感度メトリクス、システム比較を実装します。

保持するもの: クエリごとの差分と、それらをスコアリングするために使用された判断を含む再現可能な比較。README は規律を指摘しています:「メトリクスはそれらの判断を説明します。回答の正確性を確立するものではありません。」

02 · エージェントトレースデバッガー(TypeScript)

提供された実行トレースはまだ 100 ミリ秒かかりますが、総トークン使用量は 200 増加し、1 つのスパンが失敗し始めます。あなたの仕事:重複する子作業を親の実行時間から分離し、変更を公開するレポートを生成します。JSONL 解析、親検証、区間演算、検査可能なタイムラインを実装します。

保持するもの: 入力トレース、HTML タイムライン、JSON 回帰レポート。README は、親と子の使用量が二重にカウントされないように、スパンごとの排他的トークン数を保持することを強調しています。

03 · ツール呼び出しファイアウォール(Rust)

レビュー後に書き込みが変更されるか、承認がリプレイされます。あなたの仕事:呼び出しエンベロープを検証し、呼び出し元の役割とパスを確認し、正確なリクエストとコンテンツにバインドされた承認を消費します。呼び出し元アプリケーションは ID を提供します。モデルは操作を提案します。

保持するもの: 要求された操作とポリシー決定を示す監査領収書。README は制限を明確にしています:「承認は 1 回の呼び出し内で 1 回限りです。このプロジェクトは永続的な承認やオペレーティングシステムのサンドボックスを提供しません。」

3 つのプロジェクトはすべてスクリプト(python3 scripts/project_test.py ...)で採点され、特定の言語バージョンが期待されます(1 つ目と 3 つ目は Python 3.10+、2 つ目は Node.js 22.18+)。

学習パスと専門分野

開始する前に 542 レッスンをスキャンする必要はありません。README は 1 つの目標を選ぶことを提案しています:

目標 開始点
モデル基礎(すべてが初めて) セットアップとツール、フェーズ 0
LLM システム(Python を知っていて、数学 + ML の基礎が欲しい) 数学基礎、フェーズ 1
エージェントと配信 エージェントループ、フェーズ 14

また、知識を開始フェーズにマッピングし、パーソナライズされた学習計画を保存する10 問のプレースメントクイズもあります。

一般的なパスに加えて、AI チューターを通じて呼び出すことができる焦点を絞った学習ルートがあります:

  • Model Context Protocol(MCP)— ステートレスリクエスト、トランスポート、双方向作業、セキュリティ、信頼性、レジストリガバナンス、適合性証拠をカバーする 17 レッスンのルート。
  • Agent Skills— 契約、発見、呼び出し、サンドボックス境界、リリース評価と移植性の 5 レッスンのルート。
  • 認定トラック— Anthropic 認定(CCAO-F、CCDV-F、CCAR-F、CCAR-P)と MCPA(2026-07-28 プロトコルに関する 34 レッスンのルート)の特定のルート。

それぞれに専用のスキル(例:learn-mcp、learn-agent-skills、claude-certification、mcpa-certification)があり、独自の学習進捗ファイルを作成し、進むにつれて証拠を記録します。

ローカルセットアップ

README はクイックスタートを示しています:

git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
python3 phases/00-setup-and-tooling/01-dev-environment/code/verify.py --route beginner
python3 phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py

verify.py プリフライトは、今必要な要件と後で必要なツールを分離し、各失敗には検出された理由と修正コマンドが含まれます。vectors.py レッスンは依存関係がなく、行列とベクトルの乗算がニューラルネットワーク層内の操作であることを示して終了します—README はそのターミナル出力を最初の証拠として保存することを提案しています。

実用的な詳細

  • ライセンス: MIT、無料、オープンソース。
  • 言語: 30 以上の翻訳版 README がリストされています(中国語、日本語、韓国語、スペイン語、ヒンディー語など)。
  • スポンサー: SerpApi(ウェブ検索 API 会社)がプロジェクトをサポートしています。
  • ウェブサイト: aiengineeringfromscratch.com—README 全体のリンクはそこにある特定のレッスンを指しています。
  • 表示されるインタラクティブラボ: 20 の開始点が二次損失曲面を下降する勾配降下の可視化で、学習率を調整できます(コードで GD、モメンタム、Adam を比較できます)。

意図的に約束されていないこと

README のいくつかの明確な境界は、成熟度を示しているため注目に値します:

  • ツール呼び出しファイアウォールプロジェクトは「1 回の呼び出し内での 1 回限りの承認」で停止します—永続的な認証や OS サンドボックスはありません。
  • 検索評価ラボのメトリクスは関連性に関する判断を説明します—「回答の正確性」を確立するとは主張しません。
  • AI チューターは互換性のあるホスト(Codex、Claude Code など)と Node.js が必要です。それらがない場合、ウェブサイトのパスは機能しますが、インタラクティブラボを実行できません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト