{
  "source": "AIMap",
  "schema": "learn/v1",
  "updated": "2026-10-10",
  "generatedAt": "2026-10-22T12:12:50.964Z",
  "note": "Lessons with status \"published\" have full text in en and zh-hans (see record). \"outline\" lessons are planned and not yet written. Other languages have machine-translated navigation only.",
  "stages": [
    {
      "id": "foundations",
      "level": 1,
      "title": {
        "en": "Foundations",
        "zh-hans": "入门基础"
      }
    },
    {
      "id": "core",
      "level": 2,
      "title": {
        "en": "How LLMs Work",
        "zh-hans": "大模型原理"
      }
    },
    {
      "id": "build",
      "level": 3,
      "title": {
        "en": "Building with AI",
        "zh-hans": "工程实战"
      }
    },
    {
      "id": "mastery",
      "level": 4,
      "title": {
        "en": "Mastery & Industry",
        "zh-hans": "精通与产业"
      }
    }
  ],
  "paths": [
    {
      "id": "beginner",
      "title": {
        "en": "Beginner Path: Understand AI",
        "zh-hans": "初学者路线：看懂 AI"
      },
      "description": {
        "en": "No coding needed. Understand what LLMs and agents are, how they learn, and how to use them safely.",
        "zh-hans": "不需要写代码。看懂大模型和 agent 是什么、怎么学会的、怎样安全地用。"
      },
      "lessons": [
        "what-is-an-llm",
        "ai-ml-dl-genai",
        "prompting-basics",
        "hallucination",
        "ml-basics",
        "neural-networks",
        "tokens-embeddings",
        "transformer-attention",
        "how-llms-learn",
        "inside-llms",
        "llm-inference",
        "local-llm",
        "what-is-rag",
        "how-agents-work",
        "tool-calling-mcp",
        "prompt-injection",
        "ai-governance",
        "llm-evaluation",
        "gpu-basics",
        "ai-for-science",
        "ai-in-education",
        "ai-coding",
        "open-vs-closed"
      ],
      "pages": {
        "en": "https://aimap.page/en/learn/track/t-everyone/",
        "zh-hans": "https://aimap.page/zh-hans/learn/track/t-everyone/"
      }
    },
    {
      "id": "developer",
      "title": {
        "en": "Developer Path: Build AI Apps & Agents",
        "zh-hans": "开发者路线：做 AI 应用与 Agent"
      },
      "description": {
        "en": "From model APIs to RAG, tool calling, MCP, sandboxes, evaluation and deployment.",
        "zh-hans": "从模型 API 到 RAG、工具调用、MCP、沙箱、评测与部署。"
      },
      "lessons": [
        "what-is-an-llm",
        "prompting-basics",
        "tokens-embeddings",
        "transformer-attention",
        "how-llms-learn",
        "fine-tuning-lora",
        "llm-inference",
        "serving-engines",
        "local-llm",
        "model-gateway",
        "what-is-rag",
        "vector-databases",
        "chunking-reranking",
        "rag-evaluation",
        "how-agents-work",
        "tool-calling-mcp",
        "planning-memory",
        "a2a-multi-agent",
        "agent-sandbox",
        "agent-evaluation",
        "speech-audio",
        "llm-evaluation",
        "build-evals",
        "prompt-injection",
        "ai-coding",
        "ai-product-design",
        "open-vs-closed"
      ],
      "pages": {
        "en": "https://aimap.page/en/learn/track/t-builder/",
        "zh-hans": "https://aimap.page/zh-hans/learn/track/t-builder/"
      }
    },
    {
      "id": "researcher",
      "title": {
        "en": "Researcher Path: How Models Really Work",
        "zh-hans": "研究者路线：深入模型原理"
      },
      "description": {
        "en": "Maths, architectures, scaling, training and alignment, interpretability and frontier evaluation.",
        "zh-hans": "数学、架构、缩放定律、训练与对齐、可解释性与前沿评测。"
      },
      "lessons": [
        "math-for-ai",
        "ml-basics",
        "generalization",
        "neural-networks",
        "training-deep-nets",
        "cnn-rnn-to-transformer",
        "tokens-embeddings",
        "transformer-attention",
        "scaling-laws",
        "llm-architectures",
        "how-llms-learn",
        "pretraining-data",
        "alignment-methods",
        "reasoning-models",
        "inside-llms",
        "circuits-sae",
        "probing-steering",
        "llm-inference",
        "vision-language",
        "diffusion-models",
        "llm-evaluation",
        "agent-evaluation",
        "frontier-risks",
        "distributed-training",
        "ai-for-science"
      ],
      "pages": {
        "en": "https://aimap.page/en/learn/track/t-researcher/",
        "zh-hans": "https://aimap.page/zh-hans/learn/track/t-researcher/"
      }
    }
  ],
  "modules": [
    {
      "id": "ai-basics",
      "stage": "foundations",
      "title": {
        "en": "AI & LLM Basics",
        "zh-hans": "AI 与大模型入门"
      },
      "description": {
        "en": "What large language models are, what they can and cannot do, and how to use them well.",
        "zh-hans": "大模型是什么、能做什么不能做什么，以及怎样用好它。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/ai-basics/",
        "zh-hans": "https://aimap.page/zh-hans/learn/ai-basics/"
      },
      "lessons": [
        {
          "id": "what-is-an-llm",
          "status": "published",
          "level": 1,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "What Is a Large Language Model?",
            "zh-hans": "大模型是什么？"
          },
          "summary": {
            "en": "A plain-language explanation of LLMs: next-token prediction, parameters, training and limits.",
            "zh-hans": "用大白话讲清大模型：预测下一个词、参数、训练过程和能力边界。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-basics/what-is-an-llm/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-basics/what-is-an-llm/"
          },
          "record": "https://aimap.page/api/learn/what-is-an-llm.json",
          "software": [
            {
              "id": "gemini",
              "name": "Google Gemini",
              "record": "https://aimap.page/api/v1/software/gemini.json"
            },
            {
              "id": "ollama",
              "name": "Ollama",
              "record": "https://aimap.page/api/v1/software/ollama.json"
            }
          ],
          "newsTopics": [
            "llm"
          ],
          "sources": [
            {
              "title": "Vaswani et al. (2017), Attention Is All You Need",
              "url": "https://arxiv.org/abs/1706.03762"
            },
            {
              "title": "Brown et al. (2020), Language Models are Few-Shot Learners (GPT-3)",
              "url": "https://arxiv.org/abs/2005.14165"
            },
            {
              "title": "Kaplan et al. (2020), Scaling Laws for Neural Language Models",
              "url": "https://arxiv.org/abs/2001.08361"
            },
            {
              "title": "Ouyang et al. (2022), Training language models to follow instructions with human feedback",
              "url": "https://arxiv.org/abs/2203.02155"
            },
            {
              "title": "Zhao et al. (2023), A Survey of Large Language Models",
              "url": "https://arxiv.org/abs/2303.18223"
            },
            {
              "title": "3Blue1Brown, Large Language Models explained briefly (video)",
              "url": "https://www.3blue1brown.com/lessons/mini-llm"
            }
          ]
        },
        {
          "id": "ai-ml-dl-genai",
          "status": "outline",
          "level": 1,
          "minutes": 10,
          "audiences": [
            "beginner"
          ],
          "title": {
            "en": "AI, Machine Learning, Deep Learning and Generative AI",
            "zh-hans": "AI、机器学习、深度学习与生成式 AI 的关系"
          },
          "summary": {
            "en": "How the four terms nest inside each other, with one example of each.",
            "zh-hans": "四个概念的包含关系，各举一个例子。"
          },
          "outline": {
            "en": [
              "Rule-based AI vs learned AI",
              "Supervised, unsupervised and reinforcement learning",
              "Why deep learning took over",
              "Generative vs discriminative models"
            ],
            "zh-hans": [
              "规则 AI 与学习型 AI",
              "监督、无监督与强化学习",
              "深度学习为什么胜出",
              "生成式模型与判别式模型"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-basics/ai-ml-dl-genai/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-basics/ai-ml-dl-genai/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "prompting-basics",
          "status": "outline",
          "level": 1,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer"
          ],
          "title": {
            "en": "Prompting Basics: Getting Reliable Answers",
            "zh-hans": "提示词基础：让回答更可靠"
          },
          "summary": {
            "en": "Clear instructions, examples, context and output formats — and where prompting stops helping.",
            "zh-hans": "清晰指令、示例、上下文和输出格式，以及提示词的边界。"
          },
          "outline": {
            "en": [
              "Instructions, roles and context",
              "Few-shot examples",
              "Structured output (JSON)",
              "When to switch to RAG or tools"
            ],
            "zh-hans": [
              "指令、角色与上下文",
              "少样本示例",
              "结构化输出（JSON）",
              "什么时候该改用 RAG 或工具"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-basics/prompting-basics/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-basics/prompting-basics/"
          },
          "record": null,
          "software": [
            {
              "id": "chatbox",
              "name": "chatbox",
              "record": "https://aimap.page/api/v1/software/chatbox.json"
            }
          ],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "hallucination",
          "status": "outline",
          "level": 1,
          "minutes": 12,
          "audiences": [
            "beginner",
            "developer"
          ],
          "title": {
            "en": "Why LLMs Hallucinate",
            "zh-hans": "大模型为什么会“幻觉”"
          },
          "summary": {
            "en": "Where confident-but-wrong answers come from and practical ways to reduce them.",
            "zh-hans": "一本正经地胡说八道从哪来，以及实用的缓解办法。"
          },
          "outline": {
            "en": [
              "Probabilistic generation and missing knowledge",
              "Training incentives that reward guessing",
              "Grounding with retrieval and citations",
              "Checking answers with tools"
            ],
            "zh-hans": [
              "概率生成与知识缺失",
              "训练目标为什么鼓励“猜”",
              "用检索和引用做事实锚定",
              "用工具核对答案"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-basics/hallucination/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-basics/hallucination/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "llm"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "math-ml",
      "stage": "foundations",
      "title": {
        "en": "Math & Machine Learning Foundations",
        "zh-hans": "数学与机器学习基础"
      },
      "description": {
        "en": "The minimum math and the core idea of learning from data: loss, gradients and generalisation.",
        "zh-hans": "够用的数学，以及“从数据中学习”的核心：损失、梯度与泛化。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/math-ml/",
        "zh-hans": "https://aimap.page/zh-hans/learn/math-ml/"
      },
      "lessons": [
        {
          "id": "ml-basics",
          "status": "published",
          "level": 1,
          "minutes": 18,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "How Machines Learn: Loss Functions and Gradient Descent",
            "zh-hans": "机器是怎么“学习”的：损失函数与梯度下降"
          },
          "summary": {
            "en": "The core loop of all modern AI training explained with one tiny example.",
            "zh-hans": "用一个小例子讲清所有现代 AI 训练的核心循环。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/math-ml/ml-basics/",
            "zh-hans": "https://aimap.page/zh-hans/learn/math-ml/ml-basics/"
          },
          "record": "https://aimap.page/api/learn/ml-basics.json",
          "software": [
            {
              "id": "uv",
              "name": "uv",
              "record": "https://aimap.page/api/v1/software/uv.json"
            }
          ],
          "newsTopics": [],
          "sources": [
            {
              "title": "Goodfellow, Bengio & Courville, Deep Learning (MIT Press, 2016), chapters 4–5",
              "url": "https://www.deeplearningbook.org/"
            },
            {
              "title": "Google, Machine Learning Crash Course",
              "url": "https://developers.google.com/machine-learning/crash-course"
            },
            {
              "title": "Kingma & Ba (2014), Adam: A Method for Stochastic Optimization",
              "url": "https://arxiv.org/abs/1412.6980"
            },
            {
              "title": "Ruder (2016), An overview of gradient descent optimization algorithms",
              "url": "https://arxiv.org/abs/1609.04747"
            },
            {
              "title": "Stanford CS229 Machine Learning lecture notes",
              "url": "https://cs229.stanford.edu/main_notes.pdf"
            }
          ]
        },
        {
          "id": "math-for-ai",
          "status": "outline",
          "level": 2,
          "minutes": 30,
          "audiences": [
            "beginner",
            "researcher"
          ],
          "title": {
            "en": "The Minimum Math for AI: Vectors, Probability, Derivatives",
            "zh-hans": "AI 需要的最小数学：向量、概率与导数"
          },
          "summary": {
            "en": "Linear algebra, probability and calculus — only the parts LLMs actually use.",
            "zh-hans": "线性代数、概率和微积分里大模型真正用到的部分。"
          },
          "outline": {
            "en": [
              "Vectors, matrices and dot products",
              "Probability distributions and softmax",
              "Derivatives and the chain rule",
              "Cross-entropy and information"
            ],
            "zh-hans": [
              "向量、矩阵与点积",
              "概率分布与 softmax",
              "导数与链式法则",
              "交叉熵与信息量"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/math-ml/math-for-ai/",
            "zh-hans": "https://aimap.page/zh-hans/learn/math-ml/math-for-ai/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "generalization",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Overfitting, Generalisation and Data Splits",
            "zh-hans": "过拟合、泛化与数据划分"
          },
          "summary": {
            "en": "Why models that ace training data can fail in the real world, and how to measure it.",
            "zh-hans": "为什么训练集满分的模型到真实场景会失灵，以及怎么测。"
          },
          "outline": {
            "en": [
              "Train / validation / test splits",
              "Overfitting and regularisation",
              "Data leakage",
              "Double descent and large models"
            ],
            "zh-hans": [
              "训练集、验证集与测试集",
              "过拟合与正则化",
              "数据泄漏",
              "双下降与大模型"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/math-ml/generalization/",
            "zh-hans": "https://aimap.page/zh-hans/learn/math-ml/generalization/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        }
      ]
    },
    {
      "id": "deep-learning",
      "stage": "foundations",
      "title": {
        "en": "Deep Learning",
        "zh-hans": "深度学习"
      },
      "description": {
        "en": "Neural networks, backpropagation and the building blocks that made large models trainable.",
        "zh-hans": "神经网络、反向传播，以及让大模型可以训练的关键组件。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/deep-learning/",
        "zh-hans": "https://aimap.page/zh-hans/learn/deep-learning/"
      },
      "lessons": [
        {
          "id": "neural-networks",
          "status": "published",
          "level": 2,
          "minutes": 20,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Neural Networks and Backpropagation",
            "zh-hans": "神经网络与反向传播"
          },
          "summary": {
            "en": "Neurons, layers, activations and how errors flow backwards to update millions of weights.",
            "zh-hans": "神经元、层、激活函数，以及误差如何反向传播去更新海量权重。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/deep-learning/neural-networks/",
            "zh-hans": "https://aimap.page/zh-hans/learn/deep-learning/neural-networks/"
          },
          "record": "https://aimap.page/api/learn/neural-networks.json",
          "software": [
            {
              "id": "uv",
              "name": "uv",
              "record": "https://aimap.page/api/v1/software/uv.json"
            }
          ],
          "newsTopics": [],
          "sources": [
            {
              "title": "Rumelhart, Hinton & Williams (1986), Learning representations by back-propagating errors, Nature",
              "url": "https://www.nature.com/articles/323533a0"
            },
            {
              "title": "Goodfellow, Bengio & Courville, Deep Learning, chapter 6 (Deep Feedforward Networks)",
              "url": "https://www.deeplearningbook.org/contents/mlp.html"
            },
            {
              "title": "3Blue1Brown, Neural Networks (video series)",
              "url": "https://www.3blue1brown.com/topics/neural-networks"
            },
            {
              "title": "Andrej Karpathy, micrograd: a tiny autograd engine",
              "url": "https://github.com/karpathy/micrograd"
            },
            {
              "title": "Krizhevsky, Sutskever & Hinton (2012), ImageNet Classification with Deep Convolutional Neural Networks",
              "url": "https://papers.nips.cc/paper/2012/hash/c399862d3b9d6b76c8436e924a68c45b-Abstract.html"
            },
            {
              "title": "He et al. (2015), Deep Residual Learning for Image Recognition",
              "url": "https://arxiv.org/abs/1512.03385"
            }
          ]
        },
        {
          "id": "training-deep-nets",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "researcher"
          ],
          "title": {
            "en": "Training Deep Nets: Optimisers, Normalisation, Residuals",
            "zh-hans": "训练深层网络：优化器、归一化与残差连接"
          },
          "summary": {
            "en": "Adam, LayerNorm, residual connections and learning-rate schedules.",
            "zh-hans": "Adam、LayerNorm、残差连接和学习率调度。"
          },
          "outline": {
            "en": [
              "SGD vs Adam",
              "Normalisation layers",
              "Residual connections",
              "Learning-rate warm-up and decay"
            ],
            "zh-hans": [
              "SGD 与 Adam",
              "归一化层",
              "残差连接",
              "学习率预热与衰减"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/deep-learning/training-deep-nets/",
            "zh-hans": "https://aimap.page/zh-hans/learn/deep-learning/training-deep-nets/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "cnn-rnn-to-transformer",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "researcher"
          ],
          "title": {
            "en": "From CNNs and RNNs to Transformers",
            "zh-hans": "从 CNN、RNN 到 Transformer"
          },
          "summary": {
            "en": "A short history of architectures and why attention replaced recurrence.",
            "zh-hans": "架构简史：为什么注意力取代了循环结构。"
          },
          "outline": {
            "en": [
              "CNNs and images",
              "RNNs/LSTMs and sequences",
              "Sequence-to-sequence and early attention",
              "Parallelism: why Transformers scaled"
            ],
            "zh-hans": [
              "CNN 与图像",
              "RNN/LSTM 与序列",
              "序列到序列与早期注意力",
              "并行性：Transformer 为什么能扩展"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/deep-learning/cnn-rnn-to-transformer/",
            "zh-hans": "https://aimap.page/zh-hans/learn/deep-learning/cnn-rnn-to-transformer/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        }
      ]
    },
    {
      "id": "llm-core",
      "stage": "core",
      "title": {
        "en": "Transformers & LLM Principles",
        "zh-hans": "Transformer 与大模型原理"
      },
      "description": {
        "en": "Tokens, embeddings, attention and the scaling laws behind today's models.",
        "zh-hans": "Token、Embedding、注意力机制，以及大模型背后的缩放定律。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/llm-core/",
        "zh-hans": "https://aimap.page/zh-hans/learn/llm-core/"
      },
      "lessons": [
        {
          "id": "tokens-embeddings",
          "status": "published",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Tokens and Embeddings: How Text Becomes Numbers",
            "zh-hans": "Token 与 Embedding：文字如何变成数字"
          },
          "summary": {
            "en": "Tokenisation (BPE), vocabularies and the vector space where meaning lives.",
            "zh-hans": "分词（BPE）、词表，以及承载语义的向量空间。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/llm-core/tokens-embeddings/",
            "zh-hans": "https://aimap.page/zh-hans/learn/llm-core/tokens-embeddings/"
          },
          "record": "https://aimap.page/api/learn/tokens-embeddings.json",
          "software": [
            {
              "id": "ollama",
              "name": "Ollama",
              "record": "https://aimap.page/api/v1/software/ollama.json"
            },
            {
              "id": "lm-studio",
              "name": "LM Studio",
              "record": "https://aimap.page/api/v1/software/lm-studio.json"
            }
          ],
          "newsTopics": [
            "llm"
          ],
          "sources": [
            {
              "title": "Sennrich, Haddow & Birch (2015), Neural Machine Translation of Rare Words with Subword Units (BPE)",
              "url": "https://arxiv.org/abs/1508.07909"
            },
            {
              "title": "Kudo & Richardson (2018), SentencePiece",
              "url": "https://arxiv.org/abs/1808.06226"
            },
            {
              "title": "Mikolov et al. (2013), Efficient Estimation of Word Representations in Vector Space (word2vec)",
              "url": "https://arxiv.org/abs/1301.3781"
            },
            {
              "title": "OpenAI Help Center, What are tokens and how to count them?",
              "url": "https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them"
            },
            {
              "title": "OpenAI, tiktoken (BPE tokeniser)",
              "url": "https://github.com/openai/tiktoken"
            },
            {
              "title": "Reimers & Gurevych (2019), Sentence-BERT",
              "url": "https://arxiv.org/abs/1908.10084"
            }
          ]
        },
        {
          "id": "transformer-attention",
          "status": "published",
          "level": 2,
          "minutes": 25,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Transformers and Attention, Explained",
            "zh-hans": "Transformer 与注意力机制详解"
          },
          "summary": {
            "en": "Self-attention, queries/keys/values, multi-head attention and the full decoder block.",
            "zh-hans": "自注意力、Q/K/V、多头注意力，以及完整的解码器层。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/llm-core/transformer-attention/",
            "zh-hans": "https://aimap.page/zh-hans/learn/llm-core/transformer-attention/"
          },
          "record": "https://aimap.page/api/learn/transformer-attention.json",
          "software": [
            {
              "id": "llama-cpp",
              "name": "llama.cpp",
              "record": "https://aimap.page/api/v1/software/llama-cpp.json"
            },
            {
              "id": "mlx-lm",
              "name": "mlx-lm",
              "record": "https://aimap.page/api/v1/software/mlx-lm.json"
            }
          ],
          "newsTopics": [
            "llm"
          ],
          "sources": [
            {
              "title": "Vaswani et al. (2017), Attention Is All You Need",
              "url": "https://arxiv.org/abs/1706.03762"
            },
            {
              "title": "Bahdanau, Cho & Bengio (2014), Neural Machine Translation by Jointly Learning to Align and Translate",
              "url": "https://arxiv.org/abs/1409.0473"
            },
            {
              "title": "Jay Alammar, The Illustrated Transformer",
              "url": "https://jalammar.github.io/illustrated-transformer/"
            },
            {
              "title": "Harvard NLP, The Annotated Transformer",
              "url": "https://nlp.seas.harvard.edu/annotated-transformer/"
            },
            {
              "title": "Radford et al. (2019), Language Models are Unsupervised Multitask Learners (GPT-2)",
              "url": "https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf"
            },
            {
              "title": "Su et al. (2021), RoFormer: Enhanced Transformer with Rotary Position Embedding",
              "url": "https://arxiv.org/abs/2104.09864"
            },
            {
              "title": "Dao et al. (2022), FlashAttention",
              "url": "https://arxiv.org/abs/2205.14135"
            }
          ]
        },
        {
          "id": "scaling-laws",
          "status": "outline",
          "level": 3,
          "minutes": 15,
          "audiences": [
            "researcher",
            "developer"
          ],
          "title": {
            "en": "Scaling Laws and Emergence",
            "zh-hans": "缩放定律与“涌现”"
          },
          "summary": {
            "en": "How loss falls with parameters, data and compute, and what Chinchilla changed.",
            "zh-hans": "损失如何随参数、数据和算力下降，以及 Chinchilla 改变了什么。"
          },
          "outline": {
            "en": [
              "Kaplan et al. power laws",
              "Compute-optimal training (Chinchilla)",
              "Emergent abilities and the debate",
              "Test-time compute scaling"
            ],
            "zh-hans": [
              "Kaplan 等人的幂律",
              "算力最优训练（Chinchilla）",
              "涌现能力及其争议",
              "测试时算力扩展"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/llm-core/scaling-laws/",
            "zh-hans": "https://aimap.page/zh-hans/learn/llm-core/scaling-laws/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "training"
          ],
          "sources": []
        },
        {
          "id": "llm-architectures",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "researcher",
            "developer"
          ],
          "title": {
            "en": "Modern LLM Architectures: Decoders, MoE, Long Context",
            "zh-hans": "现代大模型架构：解码器、MoE 与长上下文"
          },
          "summary": {
            "en": "Decoder-only models, mixture-of-experts, positional encodings and long-context tricks.",
            "zh-hans": "纯解码器、混合专家（MoE）、位置编码与长上下文技术。"
          },
          "outline": {
            "en": [
              "Decoder-only vs encoder-decoder",
              "Mixture of experts",
              "RoPE and context extension",
              "Efficient attention variants"
            ],
            "zh-hans": [
              "纯解码器与编码器-解码器",
              "混合专家",
              "RoPE 与上下文扩展",
              "高效注意力变体"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/llm-core/llm-architectures/",
            "zh-hans": "https://aimap.page/zh-hans/learn/llm-core/llm-architectures/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "llm"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "training",
      "stage": "core",
      "title": {
        "en": "Pre-training, Data, Fine-tuning & Alignment",
        "zh-hans": "预训练、数据、微调与对齐"
      },
      "description": {
        "en": "How base models are built and then turned into helpful, harmless assistants.",
        "zh-hans": "基座模型如何炼成，又如何被调教成有用、无害的助手。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/training/",
        "zh-hans": "https://aimap.page/zh-hans/learn/training/"
      },
      "lessons": [
        {
          "id": "how-llms-learn",
          "status": "published",
          "level": 2,
          "minutes": 25,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "How LLMs Learn: Pre-training, Fine-tuning and RLHF",
            "zh-hans": "大模型如何学习：预训练、微调与 RLHF"
          },
          "summary": {
            "en": "The three-stage recipe behind ChatGPT-style assistants, and newer methods like DPO.",
            "zh-hans": "ChatGPT 类助手背后的三段式训练，以及 DPO 等新方法。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/training/how-llms-learn/",
            "zh-hans": "https://aimap.page/zh-hans/learn/training/how-llms-learn/"
          },
          "record": "https://aimap.page/api/learn/how-llms-learn.json",
          "software": [
            {
              "id": "mlx-lm",
              "name": "mlx-lm",
              "record": "https://aimap.page/api/v1/software/mlx-lm.json"
            }
          ],
          "newsTopics": [
            "training"
          ],
          "sources": [
            {
              "title": "Ouyang et al. (2022), Training language models to follow instructions with human feedback (InstructGPT)",
              "url": "https://arxiv.org/abs/2203.02155"
            },
            {
              "title": "Christiano et al. (2017), Deep reinforcement learning from human preferences",
              "url": "https://arxiv.org/abs/1706.03741"
            },
            {
              "title": "Hoffmann et al. (2022), Training Compute-Optimal Large Language Models (Chinchilla)",
              "url": "https://arxiv.org/abs/2203.15556"
            },
            {
              "title": "Llama Team, Meta (2024), The Llama 3 Herd of Models",
              "url": "https://arxiv.org/abs/2407.21783"
            },
            {
              "title": "Rafailov et al. (2023), Direct Preference Optimization",
              "url": "https://arxiv.org/abs/2305.18290"
            },
            {
              "title": "Bai et al. (2022), Constitutional AI: Harmlessness from AI Feedback",
              "url": "https://arxiv.org/abs/2212.08073"
            },
            {
              "title": "Hu et al. (2021), LoRA: Low-Rank Adaptation of Large Language Models",
              "url": "https://arxiv.org/abs/2106.09685"
            },
            {
              "title": "DeepSeek-AI (2025), DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning",
              "url": "https://arxiv.org/abs/2501.12948"
            }
          ]
        },
        {
          "id": "pretraining-data",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "researcher",
            "developer"
          ],
          "title": {
            "en": "Pre-training Data: Collection, Cleaning and Mixing",
            "zh-hans": "预训练数据：采集、清洗与配比"
          },
          "summary": {
            "en": "Web crawls, deduplication, quality filters, data mixtures and licensing.",
            "zh-hans": "网页抓取、去重、质量过滤、数据配比与版权。"
          },
          "outline": {
            "en": [
              "Common Crawl and curated sources",
              "Deduplication and quality filtering",
              "Data mixtures and curricula",
              "Copyright, consent and opt-outs"
            ],
            "zh-hans": [
              "Common Crawl 与精选数据源",
              "去重与质量过滤",
              "数据配比与课程",
              "版权、授权与退出机制"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/training/pretraining-data/",
            "zh-hans": "https://aimap.page/zh-hans/learn/training/pretraining-data/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "training"
          ],
          "sources": []
        },
        {
          "id": "fine-tuning-lora",
          "status": "outline",
          "level": 3,
          "minutes": 25,
          "audiences": [
            "developer"
          ],
          "title": {
            "en": "Fine-tuning in Practice: SFT, LoRA and QLoRA",
            "zh-hans": "微调实战：SFT、LoRA 与 QLoRA"
          },
          "summary": {
            "en": "When to fine-tune, how parameter-efficient methods work and how to evaluate the result.",
            "zh-hans": "什么时候该微调、参数高效方法如何工作、怎样评估结果。"
          },
          "outline": {
            "en": [
              "Fine-tune vs prompt vs RAG",
              "Supervised fine-tuning data",
              "LoRA and QLoRA",
              "Evaluating a fine-tuned model"
            ],
            "zh-hans": [
              "微调、提示词还是 RAG",
              "监督微调数据",
              "LoRA 与 QLoRA",
              "评估微调后的模型"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/training/fine-tuning-lora/",
            "zh-hans": "https://aimap.page/zh-hans/learn/training/fine-tuning-lora/"
          },
          "record": null,
          "software": [
            {
              "id": "mlx-lm",
              "name": "mlx-lm",
              "record": "https://aimap.page/api/v1/software/mlx-lm.json"
            },
            {
              "id": "lm-studio",
              "name": "LM Studio",
              "record": "https://aimap.page/api/v1/software/lm-studio.json"
            }
          ],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "alignment-methods",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "researcher"
          ],
          "title": {
            "en": "Alignment Methods: RLHF, DPO and Constitutional AI",
            "zh-hans": "对齐方法：RLHF、DPO 与宪法式 AI"
          },
          "summary": {
            "en": "Reward models, preference optimisation, AI feedback and their failure modes.",
            "zh-hans": "奖励模型、偏好优化、AI 反馈，以及它们的失效方式。"
          },
          "outline": {
            "en": [
              "Reward modelling",
              "PPO-based RLHF",
              "Direct preference optimisation",
              "RLAIF and constitutions",
              "Reward hacking and sycophancy"
            ],
            "zh-hans": [
              "奖励建模",
              "基于 PPO 的 RLHF",
              "直接偏好优化",
              "RLAIF 与“宪法”",
              "奖励投机与谄媚"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/training/alignment-methods/",
            "zh-hans": "https://aimap.page/zh-hans/learn/training/alignment-methods/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "safety"
          ],
          "sources": []
        },
        {
          "id": "reasoning-models",
          "status": "outline",
          "level": 4,
          "minutes": 20,
          "audiences": [
            "researcher",
            "developer"
          ],
          "title": {
            "en": "Reasoning Models and Reinforcement Learning",
            "zh-hans": "推理模型与强化学习"
          },
          "summary": {
            "en": "Chain-of-thought, RL with verifiable rewards and spending more compute at test time.",
            "zh-hans": "思维链、可验证奖励的强化学习，以及测试时多花算力。"
          },
          "outline": {
            "en": [
              "Chain-of-thought prompting",
              "RL with verifiable rewards",
              "Test-time compute",
              "Limits and faithfulness of reasoning traces"
            ],
            "zh-hans": [
              "思维链提示",
              "可验证奖励的强化学习",
              "测试时计算",
              "推理过程的局限与忠实性"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/training/reasoning-models/",
            "zh-hans": "https://aimap.page/zh-hans/learn/training/reasoning-models/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "llm"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "interpretability",
      "stage": "core",
      "title": {
        "en": "Inside LLMs: Interpretability",
        "zh-hans": "大模型内部机制与可解释性"
      },
      "description": {
        "en": "What models represent internally and the tools researchers use to look inside.",
        "zh-hans": "模型内部表征了什么，以及研究者“打开黑箱”的工具。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/interpretability/",
        "zh-hans": "https://aimap.page/zh-hans/learn/interpretability/"
      },
      "lessons": [
        {
          "id": "inside-llms",
          "status": "published",
          "level": 3,
          "minutes": 25,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "What Do LLMs Learn Inside? Representations and Interpretability",
            "zh-hans": "大模型内部学到了什么？表征与可解释性"
          },
          "summary": {
            "en": "Features, superposition, circuits and world models — what we know and what we don't.",
            "zh-hans": "特征、叠加、电路与世界模型：我们知道什么、还不知道什么。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/interpretability/inside-llms/",
            "zh-hans": "https://aimap.page/zh-hans/learn/interpretability/inside-llms/"
          },
          "record": "https://aimap.page/api/learn/inside-llms.json",
          "software": [],
          "newsTopics": [
            "interpretability"
          ],
          "sources": [
            {
              "title": "Alain & Bengio (2016), Understanding intermediate layers using linear classifier probes",
              "url": "https://arxiv.org/abs/1610.01644"
            },
            {
              "title": "Li et al. (2022), Emergent World Representations: Exploring a Sequence Model Trained on a Synthetic Task (Othello-GPT)",
              "url": "https://arxiv.org/abs/2210.13382"
            },
            {
              "title": "Gurnee & Tegmark (2023), Language Models Represent Space and Time",
              "url": "https://arxiv.org/abs/2310.02207"
            },
            {
              "title": "Geva et al. (2020), Transformer Feed-Forward Layers Are Key-Value Memories",
              "url": "https://arxiv.org/abs/2012.14913"
            },
            {
              "title": "Meng et al. (2022), Locating and Editing Factual Associations in GPT (ROME)",
              "url": "https://arxiv.org/abs/2202.05262"
            },
            {
              "title": "Elhage et al. (2022), Toy Models of Superposition",
              "url": "https://transformer-circuits.pub/2022/toy_model/index.html"
            },
            {
              "title": "Olsson et al. (2022), In-context Learning and Induction Heads",
              "url": "https://transformer-circuits.pub/2022/in-context-learning-and-induction-heads/index.html"
            },
            {
              "title": "Templeton et al. (2024), Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet",
              "url": "https://transformer-circuits.pub/2024/scaling-monosemanticity/index.html"
            },
            {
              "title": "Gao et al. (2024), Scaling and evaluating sparse autoencoders (OpenAI)",
              "url": "https://arxiv.org/abs/2406.04093"
            },
            {
              "title": "Lindsey et al. (2025), On the Biology of a Large Language Model",
              "url": "https://transformer-circuits.pub/2025/attribution-graphs/biology.html"
            },
            {
              "title": "Turpin et al. (2023), Language Models Don't Always Say What They Think",
              "url": "https://arxiv.org/abs/2305.04388"
            }
          ]
        },
        {
          "id": "circuits-sae",
          "status": "outline",
          "level": 4,
          "minutes": 25,
          "audiences": [
            "researcher"
          ],
          "title": {
            "en": "Circuits and Sparse Autoencoders",
            "zh-hans": "电路与稀疏自编码器"
          },
          "summary": {
            "en": "Induction heads, dictionary learning and attribution graphs in practice.",
            "zh-hans": "归纳头、字典学习与归因图的实际做法。"
          },
          "outline": {
            "en": [
              "Induction heads",
              "Superposition",
              "Sparse autoencoders",
              "Attribution graphs"
            ],
            "zh-hans": [
              "归纳头",
              "叠加",
              "稀疏自编码器",
              "归因图"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/interpretability/circuits-sae/",
            "zh-hans": "https://aimap.page/zh-hans/learn/interpretability/circuits-sae/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "interpretability"
          ],
          "sources": []
        },
        {
          "id": "probing-steering",
          "status": "outline",
          "level": 4,
          "minutes": 20,
          "audiences": [
            "researcher"
          ],
          "title": {
            "en": "Probing, Editing and Steering Models",
            "zh-hans": "探针、知识编辑与激活引导"
          },
          "summary": {
            "en": "Linear probes, causal interventions, knowledge editing and activation steering.",
            "zh-hans": "线性探针、因果干预、知识编辑和激活引导。"
          },
          "outline": {
            "en": [
              "Linear probes",
              "Activation patching",
              "Knowledge editing (ROME)",
              "Steering vectors"
            ],
            "zh-hans": [
              "线性探针",
              "激活修补",
              "知识编辑（ROME）",
              "引导向量"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/interpretability/probing-steering/",
            "zh-hans": "https://aimap.page/zh-hans/learn/interpretability/probing-steering/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "interpretability"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "inference",
      "stage": "build",
      "title": {
        "en": "Inference & Deployment",
        "zh-hans": "推理与部署"
      },
      "description": {
        "en": "How models generate text fast and cheaply — from KV caches to local apps and gateways.",
        "zh-hans": "模型如何又快又省地生成文本：从 KV Cache 到本地运行与模型网关。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/inference/",
        "zh-hans": "https://aimap.page/zh-hans/learn/inference/"
      },
      "lessons": [
        {
          "id": "llm-inference",
          "status": "published",
          "level": 2,
          "minutes": 20,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "How LLMs Generate Text: Decoding, KV Cache and Quantisation",
            "zh-hans": "大模型如何生成文本：解码、KV Cache 与量化"
          },
          "summary": {
            "en": "Sampling, temperature, the KV cache, batching and quantisation in one lesson.",
            "zh-hans": "采样、温度、KV Cache、批处理与量化，一课讲清。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/inference/llm-inference/",
            "zh-hans": "https://aimap.page/zh-hans/learn/inference/llm-inference/"
          },
          "record": "https://aimap.page/api/learn/llm-inference.json",
          "software": [
            {
              "id": "ollama",
              "name": "Ollama",
              "record": "https://aimap.page/api/v1/software/ollama.json"
            },
            {
              "id": "llama-cpp",
              "name": "llama.cpp",
              "record": "https://aimap.page/api/v1/software/llama-cpp.json"
            },
            {
              "id": "lm-studio",
              "name": "LM Studio",
              "record": "https://aimap.page/api/v1/software/lm-studio.json"
            },
            {
              "id": "mlx-lm",
              "name": "mlx-lm",
              "record": "https://aimap.page/api/v1/software/mlx-lm.json"
            }
          ],
          "newsTopics": [
            "inference"
          ],
          "sources": [
            {
              "title": "Holtzman et al. (2019), The Curious Case of Neural Text Degeneration (nucleus / top-p sampling)",
              "url": "https://arxiv.org/abs/1904.09751"
            },
            {
              "title": "Kwon et al. (2023), Efficient Memory Management for LLM Serving with PagedAttention (vLLM)",
              "url": "https://arxiv.org/abs/2309.06180"
            },
            {
              "title": "Yu et al. (2022), Orca: A Distributed Serving System for Transformer-Based Generative Models (continuous batching), OSDI",
              "url": "https://www.usenix.org/conference/osdi22/presentation/yu"
            },
            {
              "title": "Leviathan, Kalman & Matias (2022), Fast Inference from Transformers via Speculative Decoding",
              "url": "https://arxiv.org/abs/2211.17192"
            },
            {
              "title": "Ainslie et al. (2023), GQA: Training Generalized Multi-Query Transformer Models",
              "url": "https://arxiv.org/abs/2305.13245"
            },
            {
              "title": "Frantar et al. (2022), GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers",
              "url": "https://arxiv.org/abs/2210.17323"
            },
            {
              "title": "Dettmers et al. (2022), LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale",
              "url": "https://arxiv.org/abs/2208.07339"
            },
            {
              "title": "llama.cpp (GGUF format and quantisation types)",
              "url": "https://github.com/ggml-org/llama.cpp"
            }
          ]
        },
        {
          "id": "serving-engines",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "developer"
          ],
          "title": {
            "en": "Inference Engines: vLLM, llama.cpp and Friends",
            "zh-hans": "推理引擎：vLLM、llama.cpp 等"
          },
          "summary": {
            "en": "PagedAttention, continuous batching and choosing an engine for your hardware.",
            "zh-hans": "PagedAttention、连续批处理，以及按硬件选引擎。"
          },
          "outline": {
            "en": [
              "PagedAttention and continuous batching",
              "Speculative decoding",
              "GGUF and llama.cpp",
              "Choosing an engine"
            ],
            "zh-hans": [
              "PagedAttention 与连续批处理",
              "投机解码",
              "GGUF 与 llama.cpp",
              "怎么选推理引擎"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/inference/serving-engines/",
            "zh-hans": "https://aimap.page/zh-hans/learn/inference/serving-engines/"
          },
          "record": null,
          "software": [
            {
              "id": "llama-cpp",
              "name": "llama.cpp",
              "record": "https://aimap.page/api/v1/software/llama-cpp.json"
            },
            {
              "id": "ollama",
              "name": "Ollama",
              "record": "https://aimap.page/api/v1/software/ollama.json"
            },
            {
              "id": "mlx-lm",
              "name": "mlx-lm",
              "record": "https://aimap.page/api/v1/software/mlx-lm.json"
            }
          ],
          "newsTopics": [
            "inference"
          ],
          "sources": []
        },
        {
          "id": "local-llm",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer"
          ],
          "title": {
            "en": "Running LLMs on Your Own Computer",
            "zh-hans": "在自己电脑上运行大模型"
          },
          "summary": {
            "en": "Memory math, quantised models and desktop apps for private, offline AI.",
            "zh-hans": "显存估算、量化模型，以及私密离线使用的桌面软件。"
          },
          "outline": {
            "en": [
              "How much memory a model needs",
              "Choosing a quantisation",
              "Desktop apps and CLIs",
              "Privacy and licences"
            ],
            "zh-hans": [
              "一个模型需要多少内存",
              "怎么选量化版本",
              "桌面软件与命令行工具",
              "隐私与许可证"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/inference/local-llm/",
            "zh-hans": "https://aimap.page/zh-hans/learn/inference/local-llm/"
          },
          "record": null,
          "software": [
            {
              "id": "ollama",
              "name": "Ollama",
              "record": "https://aimap.page/api/v1/software/ollama.json"
            },
            {
              "id": "lm-studio",
              "name": "LM Studio",
              "record": "https://aimap.page/api/v1/software/lm-studio.json"
            },
            {
              "id": "jan",
              "name": "jan",
              "record": "https://aimap.page/api/v1/software/jan.json"
            },
            {
              "id": "mlx-lm",
              "name": "mlx-lm",
              "record": "https://aimap.page/api/v1/software/mlx-lm.json"
            }
          ],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "model-gateway",
          "status": "outline",
          "level": 3,
          "minutes": 15,
          "audiences": [
            "developer"
          ],
          "title": {
            "en": "Model Gateways, Routing and Cost Control",
            "zh-hans": "模型网关、路由与成本控制"
          },
          "summary": {
            "en": "One API for many models: fallbacks, caching, rate limits and spend tracking.",
            "zh-hans": "一个接口调用多家模型：回退、缓存、限流与花费追踪。"
          },
          "outline": {
            "en": [
              "Why a gateway",
              "Routing and fallbacks",
              "Prompt caching",
              "Observability and budgets"
            ],
            "zh-hans": [
              "为什么需要网关",
              "路由与回退",
              "提示词缓存",
              "可观测与预算"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/inference/model-gateway/",
            "zh-hans": "https://aimap.page/zh-hans/learn/inference/model-gateway/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "inference"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "rag",
      "stage": "build",
      "title": {
        "en": "RAG & Vector Databases",
        "zh-hans": "RAG 与向量数据库"
      },
      "description": {
        "en": "Give models fresh, private knowledge through retrieval instead of retraining.",
        "zh-hans": "不重新训练，用检索给模型补上最新、私有的知识。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/rag/",
        "zh-hans": "https://aimap.page/zh-hans/learn/rag/"
      },
      "lessons": [
        {
          "id": "what-is-rag",
          "status": "published",
          "level": 2,
          "minutes": 25,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "RAG Explained: Retrieval-Augmented Generation",
            "zh-hans": "RAG 详解：检索增强生成"
          },
          "summary": {
            "en": "Chunking, embeddings, vector search, re-ranking and grounded answers with citations.",
            "zh-hans": "切分、向量化、向量检索、重排，以及带引用的回答。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/rag/what-is-rag/",
            "zh-hans": "https://aimap.page/zh-hans/learn/rag/what-is-rag/"
          },
          "record": "https://aimap.page/api/learn/what-is-rag.json",
          "software": [
            {
              "id": "cherry-studio",
              "name": "cherry-studio",
              "record": "https://aimap.page/api/v1/software/cherry-studio.json"
            },
            {
              "id": "obsidian",
              "name": "Obsidian",
              "record": "https://aimap.page/api/v1/software/obsidian.json"
            }
          ],
          "newsTopics": [
            "rag"
          ],
          "sources": [
            {
              "title": "Lewis et al. (2020), Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks",
              "url": "https://arxiv.org/abs/2005.11401"
            },
            {
              "title": "Karpukhin et al. (2020), Dense Passage Retrieval for Open-Domain Question Answering",
              "url": "https://arxiv.org/abs/2004.04906"
            },
            {
              "title": "Gao et al. (2023), Retrieval-Augmented Generation for Large Language Models: A Survey",
              "url": "https://arxiv.org/abs/2312.10997"
            },
            {
              "title": "Liu et al. (2023), Lost in the Middle: How Language Models Use Long Contexts",
              "url": "https://arxiv.org/abs/2307.03172"
            },
            {
              "title": "Malkov & Yashunin (2016), Efficient and robust approximate nearest neighbor search using HNSW graphs",
              "url": "https://arxiv.org/abs/1603.09320"
            },
            {
              "title": "Anthropic (2024), Introducing Contextual Retrieval",
              "url": "https://www.anthropic.com/news/contextual-retrieval"
            },
            {
              "title": "Es et al. (2023), RAGAS: Automated Evaluation of Retrieval Augmented Generation",
              "url": "https://arxiv.org/abs/2309.15217"
            },
            {
              "title": "Edge et al. (2024), From Local to Global: A Graph RAG Approach to Query-Focused Summarization",
              "url": "https://arxiv.org/abs/2404.16130"
            },
            {
              "title": "Gao et al. (2022), Precise Zero-Shot Dense Retrieval without Relevance Labels (HyDE)",
              "url": "https://arxiv.org/abs/2212.10496"
            },
            {
              "title": "Zheng et al. (2023), Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena",
              "url": "https://arxiv.org/abs/2306.05685"
            }
          ]
        },
        {
          "id": "vector-databases",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Vector Databases and Similarity Search",
            "zh-hans": "向量数据库与相似度搜索"
          },
          "summary": {
            "en": "Distance metrics, HNSW and IVF indexes, filtering and choosing a store.",
            "zh-hans": "距离度量、HNSW/IVF 索引、过滤，以及如何选型。"
          },
          "outline": {
            "en": [
              "Cosine, dot product, L2",
              "Approximate nearest neighbour (HNSW, IVF)",
              "Metadata filtering",
              "Choosing a vector store"
            ],
            "zh-hans": [
              "余弦、点积与 L2",
              "近似最近邻（HNSW、IVF）",
              "元数据过滤",
              "向量库选型"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/rag/vector-databases/",
            "zh-hans": "https://aimap.page/zh-hans/learn/rag/vector-databases/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "rag"
          ],
          "sources": []
        },
        {
          "id": "chunking-reranking",
          "status": "outline",
          "level": 3,
          "minutes": 15,
          "audiences": [
            "developer"
          ],
          "title": {
            "en": "Chunking, Hybrid Search and Re-ranking",
            "zh-hans": "切分、混合检索与重排"
          },
          "summary": {
            "en": "The engineering choices that decide most of RAG quality.",
            "zh-hans": "决定 RAG 效果的大部分工程选择。"
          },
          "outline": {
            "en": [
              "Chunk size and overlap",
              "BM25 + vectors",
              "Cross-encoder re-ranking",
              "Contextual retrieval"
            ],
            "zh-hans": [
              "块大小与重叠",
              "BM25 + 向量",
              "交叉编码器重排",
              "上下文检索"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/rag/chunking-reranking/",
            "zh-hans": "https://aimap.page/zh-hans/learn/rag/chunking-reranking/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "rag-evaluation",
          "status": "outline",
          "level": 3,
          "minutes": 15,
          "audiences": [
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Evaluating RAG and GraphRAG",
            "zh-hans": "RAG 评估与 GraphRAG"
          },
          "summary": {
            "en": "Measuring retrieval and answer quality; when knowledge graphs help.",
            "zh-hans": "怎样衡量检索和回答质量；什么时候知识图谱有用。"
          },
          "outline": {
            "en": [
              "Retrieval metrics",
              "Faithfulness and answer relevance",
              "GraphRAG",
              "Long context vs RAG"
            ],
            "zh-hans": [
              "检索指标",
              "忠实度与答案相关性",
              "GraphRAG",
              "长上下文还是 RAG"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/rag/rag-evaluation/",
            "zh-hans": "https://aimap.page/zh-hans/learn/rag/rag-evaluation/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        }
      ]
    },
    {
      "id": "agents",
      "stage": "build",
      "title": {
        "en": "How AI Agents Work",
        "zh-hans": "AI Agent 工作原理"
      },
      "description": {
        "en": "Tool calling, planning, memory, MCP/A2A, sandboxes and evaluation for agents that act.",
        "zh-hans": "工具调用、规划、记忆、MCP/A2A、沙箱与评估：让 AI 真正去做事。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/agents/",
        "zh-hans": "https://aimap.page/zh-hans/learn/agents/"
      },
      "lessons": [
        {
          "id": "how-agents-work",
          "status": "published",
          "level": 2,
          "minutes": 25,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "How AI Agents Work: The Agent Loop",
            "zh-hans": "AI Agent 工作原理：智能体循环"
          },
          "summary": {
            "en": "Model + tools + loop: observe, think, act, and the patterns that make agents reliable.",
            "zh-hans": "模型 + 工具 + 循环：观察、思考、行动，以及让 agent 靠谱的设计模式。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/agents/how-agents-work/",
            "zh-hans": "https://aimap.page/zh-hans/learn/agents/how-agents-work/"
          },
          "record": "https://aimap.page/api/learn/how-agents-work.json",
          "software": [
            {
              "id": "claude-code",
              "name": "Claude Code",
              "record": "https://aimap.page/api/v1/software/claude-code.json"
            },
            {
              "id": "codex",
              "name": "OpenAI Codex",
              "record": "https://aimap.page/api/v1/software/codex.json"
            },
            {
              "id": "gemini-cli",
              "name": "Gemini CLI",
              "record": "https://aimap.page/api/v1/software/gemini-cli.json"
            },
            {
              "id": "goose",
              "name": "goose",
              "record": "https://aimap.page/api/v1/software/goose.json"
            },
            {
              "id": "opencode",
              "name": "OpenCode",
              "record": "https://aimap.page/api/v1/software/opencode.json"
            },
            {
              "id": "cursor",
              "name": "Cursor",
              "record": "https://aimap.page/api/v1/software/cursor.json"
            }
          ],
          "newsTopics": [
            "agents"
          ],
          "sources": [
            {
              "title": "Anthropic (2024), Building effective agents",
              "url": "https://www.anthropic.com/research/building-effective-agents"
            },
            {
              "title": "Yao et al. (2022), ReAct: Synergizing Reasoning and Acting in Language Models",
              "url": "https://arxiv.org/abs/2210.03629"
            },
            {
              "title": "Schick et al. (2023), Toolformer: Language Models Can Teach Themselves to Use Tools",
              "url": "https://arxiv.org/abs/2302.04761"
            },
            {
              "title": "Shinn et al. (2023), Reflexion: Language Agents with Verbal Reinforcement Learning",
              "url": "https://arxiv.org/abs/2303.11366"
            },
            {
              "title": "Park et al. (2023), Generative Agents: Interactive Simulacra of Human Behavior",
              "url": "https://arxiv.org/abs/2304.03442"
            },
            {
              "title": "Yang et al. (2024), SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering",
              "url": "https://arxiv.org/abs/2405.15793"
            },
            {
              "title": "Lilian Weng (2023), LLM Powered Autonomous Agents",
              "url": "https://lilianweng.github.io/posts/2023-06-23-agent/"
            },
            {
              "title": "Jimenez et al. (2023), SWE-bench: Can Language Models Resolve Real-World GitHub Issues?",
              "url": "https://arxiv.org/abs/2310.06770"
            }
          ]
        },
        {
          "id": "tool-calling-mcp",
          "status": "published",
          "level": 2,
          "minutes": 25,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Tool Calling and MCP (Model Context Protocol)",
            "zh-hans": "工具调用与 MCP（模型上下文协议）"
          },
          "summary": {
            "en": "How function calling works and how MCP standardises tools for every AI app.",
            "zh-hans": "函数调用如何工作，MCP 如何让工具在所有 AI 应用里通用。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/agents/tool-calling-mcp/",
            "zh-hans": "https://aimap.page/zh-hans/learn/agents/tool-calling-mcp/"
          },
          "record": "https://aimap.page/api/learn/tool-calling-mcp.json",
          "software": [
            {
              "id": "claude-code",
              "name": "Claude Code",
              "record": "https://aimap.page/api/v1/software/claude-code.json"
            },
            {
              "id": "cherry-studio",
              "name": "cherry-studio",
              "record": "https://aimap.page/api/v1/software/cherry-studio.json"
            },
            {
              "id": "peekaboo",
              "name": "Peekaboo",
              "record": "https://aimap.page/api/v1/software/peekaboo.json"
            }
          ],
          "newsTopics": [
            "mcp"
          ],
          "sources": [
            {
              "title": "OpenAI API docs, Function calling",
              "url": "https://platform.openai.com/docs/guides/function-calling"
            },
            {
              "title": "Anthropic docs, Tool use with Claude",
              "url": "https://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview"
            },
            {
              "title": "Anthropic (2024), Introducing the Model Context Protocol",
              "url": "https://www.anthropic.com/news/model-context-protocol"
            },
            {
              "title": "Model Context Protocol, Specification",
              "url": "https://modelcontextprotocol.io/specification"
            },
            {
              "title": "Model Context Protocol, Architecture overview",
              "url": "https://modelcontextprotocol.io/docs/learn/architecture"
            },
            {
              "title": "Linux Foundation, Formation of the Agentic AI Foundation",
              "url": "https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation"
            },
            {
              "title": "A2A Protocol (Agent2Agent) documentation",
              "url": "https://a2a-protocol.org/"
            },
            {
              "title": "Anthropic Engineering (2025), Writing effective tools for agents",
              "url": "https://www.anthropic.com/engineering/writing-tools-for-agents"
            },
            {
              "title": "JSON-RPC 2.0 Specification",
              "url": "https://www.jsonrpc.org/specification"
            }
          ]
        },
        {
          "id": "planning-memory",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Agent Planning and Memory",
            "zh-hans": "Agent 的规划与记忆"
          },
          "summary": {
            "en": "Task decomposition, reflection, short- and long-term memory and context engineering.",
            "zh-hans": "任务分解、反思、短期与长期记忆，以及上下文工程。"
          },
          "outline": {
            "en": [
              "ReAct, plan-and-execute",
              "Reflection and self-correction",
              "Memory stores",
              "Context engineering"
            ],
            "zh-hans": [
              "ReAct 与先计划后执行",
              "反思与自我纠错",
              "记忆存储",
              "上下文工程"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/agents/planning-memory/",
            "zh-hans": "https://aimap.page/zh-hans/learn/agents/planning-memory/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "agents"
          ],
          "sources": []
        },
        {
          "id": "a2a-multi-agent",
          "status": "outline",
          "level": 3,
          "minutes": 15,
          "audiences": [
            "developer",
            "researcher"
          ],
          "title": {
            "en": "A2A and Multi-agent Systems",
            "zh-hans": "A2A 与多 Agent 协作"
          },
          "summary": {
            "en": "Agent cards, task delegation and when several agents beat one.",
            "zh-hans": "Agent Card、任务委派，以及什么时候多个 agent 比一个好。"
          },
          "outline": {
            "en": [
              "The A2A protocol",
              "Agent cards and discovery",
              "Orchestrator–worker patterns",
              "Costs and failure modes"
            ],
            "zh-hans": [
              "A2A 协议",
              "Agent Card 与发现",
              "编排者-执行者模式",
              "成本与失败方式"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/agents/a2a-multi-agent/",
            "zh-hans": "https://aimap.page/zh-hans/learn/agents/a2a-multi-agent/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "agents"
          ],
          "sources": []
        },
        {
          "id": "agent-sandbox",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "developer"
          ],
          "title": {
            "en": "Sandboxes, Browsers and Computer Use",
            "zh-hans": "代码沙箱、浏览器与电脑操作"
          },
          "summary": {
            "en": "Letting agents run code and drive GUIs safely: containers, VMs, permissions.",
            "zh-hans": "让 agent 安全地执行代码、操作界面：容器、虚拟机与权限。"
          },
          "outline": {
            "en": [
              "Code sandboxes",
              "Browser automation",
              "Computer-use agents",
              "Least privilege and approvals"
            ],
            "zh-hans": [
              "代码沙箱",
              "浏览器自动化",
              "电脑操作型 agent",
              "最小权限与人工确认"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/agents/agent-sandbox/",
            "zh-hans": "https://aimap.page/zh-hans/learn/agents/agent-sandbox/"
          },
          "record": null,
          "software": [
            {
              "id": "docker-desktop",
              "name": "Docker Desktop",
              "record": "https://aimap.page/api/v1/software/docker-desktop.json"
            },
            {
              "id": "cua",
              "name": "cua",
              "record": "https://aimap.page/api/v1/software/cua.json"
            },
            {
              "id": "browseros",
              "name": "BrowserOS",
              "record": "https://aimap.page/api/v1/software/browseros.json"
            }
          ],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "agent-evaluation",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Evaluating Agents: SWE-bench, OSWorld and Your Own Tasks",
            "zh-hans": "Agent 评估：SWE-bench、OSWorld 与自建任务"
          },
          "summary": {
            "en": "How agent benchmarks work, what their failure analyses reveal and how to test your agent.",
            "zh-hans": "agent 基准怎么设计、失败分析说明了什么、怎样测自己的 agent。"
          },
          "outline": {
            "en": [
              "SWE-bench family",
              "OSWorld and computer use",
              "τ-bench and tool use",
              "Trace-based evaluation"
            ],
            "zh-hans": [
              "SWE-bench 系列",
              "OSWorld 与电脑操作",
              "τ-bench 与工具调用",
              "基于轨迹的评估"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/agents/agent-evaluation/",
            "zh-hans": "https://aimap.page/zh-hans/learn/agents/agent-evaluation/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "evaluation",
            "agents"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "multimodal",
      "stage": "build",
      "title": {
        "en": "Multimodal AI",
        "zh-hans": "多模态 AI"
      },
      "description": {
        "en": "Models that see, hear, speak and generate images and video.",
        "zh-hans": "能看、能听、能说，还能生成图像和视频的模型。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/multimodal/",
        "zh-hans": "https://aimap.page/zh-hans/learn/multimodal/"
      },
      "lessons": [
        {
          "id": "vision-language",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "developer",
            "researcher"
          ],
          "title": {
            "en": "How Vision-Language Models See",
            "zh-hans": "视觉语言模型如何“看图”"
          },
          "summary": {
            "en": "Image encoders, patches, projection layers and multimodal training.",
            "zh-hans": "图像编码器、图块、投影层与多模态训练。"
          },
          "outline": {
            "en": [
              "ViT and image patches",
              "CLIP-style contrastive learning",
              "Connecting vision to an LLM",
              "OCR, charts and screens"
            ],
            "zh-hans": [
              "ViT 与图块",
              "CLIP 式对比学习",
              "把视觉接入大模型",
              "OCR、图表与屏幕理解"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/multimodal/vision-language/",
            "zh-hans": "https://aimap.page/zh-hans/learn/multimodal/vision-language/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "multimodal"
          ],
          "sources": []
        },
        {
          "id": "diffusion-models",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Diffusion Models for Images and Video",
            "zh-hans": "扩散模型：图像与视频生成"
          },
          "summary": {
            "en": "Noise, denoising, latent diffusion, guidance and video models.",
            "zh-hans": "加噪、去噪、潜空间扩散、引导与视频模型。"
          },
          "outline": {
            "en": [
              "Forward and reverse diffusion",
              "Latent diffusion",
              "Classifier-free guidance",
              "Diffusion transformers and video"
            ],
            "zh-hans": [
              "前向与反向扩散",
              "潜空间扩散",
              "无分类器引导",
              "扩散 Transformer 与视频"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/multimodal/diffusion-models/",
            "zh-hans": "https://aimap.page/zh-hans/learn/multimodal/diffusion-models/"
          },
          "record": null,
          "software": [
            {
              "id": "invokeai",
              "name": "InvokeAI",
              "record": "https://aimap.page/api/v1/software/invokeai.json"
            }
          ],
          "newsTopics": [
            "multimodal"
          ],
          "sources": []
        },
        {
          "id": "speech-audio",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer"
          ],
          "title": {
            "en": "Speech Recognition and Speech Synthesis",
            "zh-hans": "语音识别与语音合成"
          },
          "summary": {
            "en": "How Whisper-style ASR and modern TTS work, and real-time voice agents.",
            "zh-hans": "Whisper 类语音识别、现代语音合成，以及实时语音 agent。"
          },
          "outline": {
            "en": [
              "Audio as tokens",
              "Whisper and ASR",
              "Neural TTS",
              "Real-time voice agents"
            ],
            "zh-hans": [
              "把音频变成 token",
              "Whisper 与语音识别",
              "神经语音合成",
              "实时语音 agent"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/multimodal/speech-audio/",
            "zh-hans": "https://aimap.page/zh-hans/learn/multimodal/speech-audio/"
          },
          "record": null,
          "software": [
            {
              "id": "superwhisper",
              "name": "superwhisper",
              "record": "https://aimap.page/api/v1/software/superwhisper.json"
            }
          ],
          "newsTopics": [],
          "sources": []
        }
      ]
    },
    {
      "id": "evaluation",
      "stage": "mastery",
      "title": {
        "en": "Evaluation & Benchmarks",
        "zh-hans": "评测与基准"
      },
      "description": {
        "en": "How to measure models and AI systems honestly — and how benchmarks mislead.",
        "zh-hans": "怎样诚实地衡量模型和 AI 系统，以及基准为什么会误导。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/evaluation/",
        "zh-hans": "https://aimap.page/zh-hans/learn/evaluation/"
      },
      "lessons": [
        {
          "id": "llm-evaluation",
          "status": "published",
          "level": 2,
          "minutes": 20,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "How to Evaluate LLMs: Benchmarks, Arenas and Contamination",
            "zh-hans": "怎样评测大模型：基准、竞技场与数据污染"
          },
          "summary": {
            "en": "What MMLU, SWE-bench and Chatbot Arena measure, and how to read leaderboards critically.",
            "zh-hans": "MMLU、SWE-bench、Chatbot Arena 各自测什么，以及如何批判地看排行榜。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/evaluation/llm-evaluation/",
            "zh-hans": "https://aimap.page/zh-hans/learn/evaluation/llm-evaluation/"
          },
          "record": "https://aimap.page/api/learn/llm-evaluation.json",
          "software": [],
          "newsTopics": [
            "evaluation"
          ],
          "sources": [
            {
              "title": "Hendrycks et al. (2020), Measuring Massive Multitask Language Understanding (MMLU)",
              "url": "https://arxiv.org/abs/2009.03300"
            },
            {
              "title": "Rein et al. (2023), GPQA: A Graduate-Level Google-Proof Q&A Benchmark",
              "url": "https://arxiv.org/abs/2311.12022"
            },
            {
              "title": "Chen et al. (2021), Evaluating Large Language Models Trained on Code (HumanEval)",
              "url": "https://arxiv.org/abs/2107.03374"
            },
            {
              "title": "Jimenez et al. (2023), SWE-bench",
              "url": "https://arxiv.org/abs/2310.06770"
            },
            {
              "title": "OpenAI (2024), Introducing SWE-bench Verified",
              "url": "https://openai.com/index/introducing-swe-bench-verified/"
            },
            {
              "title": "Xie et al. (2024), OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments",
              "url": "https://arxiv.org/abs/2404.07972"
            },
            {
              "title": "Chiang et al. (2024), Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference",
              "url": "https://arxiv.org/abs/2403.04132"
            },
            {
              "title": "Zheng et al. (2023), Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena",
              "url": "https://arxiv.org/abs/2306.05685"
            },
            {
              "title": "Liang et al. (2022), Holistic Evaluation of Language Models (HELM)",
              "url": "https://arxiv.org/abs/2211.09110"
            },
            {
              "title": "Phan et al. (2025), Humanity's Last Exam",
              "url": "https://arxiv.org/abs/2501.14249"
            },
            {
              "title": "Singh et al. (2025), The Leaderboard Illusion",
              "url": "https://arxiv.org/abs/2504.20879"
            }
          ]
        },
        {
          "id": "build-evals",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "developer"
          ],
          "title": {
            "en": "Building Evals for Your Own AI App",
            "zh-hans": "为自己的 AI 应用搭建评测"
          },
          "summary": {
            "en": "Golden sets, LLM-as-judge, regression tests and online monitoring.",
            "zh-hans": "黄金测试集、大模型裁判、回归测试与线上监控。"
          },
          "outline": {
            "en": [
              "Defining success criteria",
              "Golden datasets",
              "LLM-as-a-judge and its biases",
              "Regression and online evals"
            ],
            "zh-hans": [
              "定义成功标准",
              "黄金数据集",
              "大模型裁判及其偏差",
              "回归测试与线上评测"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/evaluation/build-evals/",
            "zh-hans": "https://aimap.page/zh-hans/learn/evaluation/build-evals/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        }
      ]
    },
    {
      "id": "safety",
      "stage": "mastery",
      "title": {
        "en": "Safety, Security & Governance",
        "zh-hans": "安全与治理"
      },
      "description": {
        "en": "Prompt injection, misuse, alignment risks and the rules being written for AI.",
        "zh-hans": "提示注入、滥用、对齐风险，以及正在成形的 AI 规则。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/safety/",
        "zh-hans": "https://aimap.page/zh-hans/learn/safety/"
      },
      "lessons": [
        {
          "id": "prompt-injection",
          "status": "published",
          "level": 2,
          "minutes": 20,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Prompt Injection and Tool Poisoning",
            "zh-hans": "提示注入与工具投毒"
          },
          "summary": {
            "en": "Why agents that read untrusted content can be hijacked, and the defences that work.",
            "zh-hans": "读取不可信内容的 agent 为什么会被劫持，以及有效的防御办法。"
          },
          "pages": {
            "en": "https://aimap.page/en/learn/safety/prompt-injection/",
            "zh-hans": "https://aimap.page/zh-hans/learn/safety/prompt-injection/"
          },
          "record": "https://aimap.page/api/learn/prompt-injection.json",
          "software": [
            {
              "id": "docker-desktop",
              "name": "Docker Desktop",
              "record": "https://aimap.page/api/v1/software/docker-desktop.json"
            }
          ],
          "newsTopics": [
            "safety",
            "mcp"
          ],
          "sources": [
            {
              "title": "Greshake et al. (2023), Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection",
              "url": "https://arxiv.org/abs/2302.12173"
            },
            {
              "title": "OWASP GenAI Security Project, LLM01:2025 Prompt Injection",
              "url": "https://genai.owasp.org/llmrisk/llm01-prompt-injection/"
            },
            {
              "title": "Simon Willison (2025), The lethal trifecta for AI agents",
              "url": "https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/"
            },
            {
              "title": "Invariant Labs (2025), MCP Security Notification: Tool Poisoning Attacks",
              "url": "https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks"
            },
            {
              "title": "Model Context Protocol, Security Best Practices",
              "url": "https://modelcontextprotocol.io/specification/draft/basic/security_best_practices"
            },
            {
              "title": "Debenedetti et al. (2025), Defeating Prompt Injections by Design (CaMeL)",
              "url": "https://arxiv.org/abs/2503.18813"
            },
            {
              "title": "Debenedetti et al. (2024), AgentDojo: A Dynamic Environment to Evaluate Prompt Injection Attacks and Defenses for LLM Agents",
              "url": "https://arxiv.org/abs/2406.13352"
            },
            {
              "title": "Hines et al. (2024), Defending Against Indirect Prompt Injection Attacks With Spotlighting",
              "url": "https://arxiv.org/abs/2403.14720"
            }
          ]
        },
        {
          "id": "ai-governance",
          "status": "outline",
          "level": 2,
          "minutes": 20,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "AI Governance and Regulation",
            "zh-hans": "AI 治理与法规"
          },
          "summary": {
            "en": "EU AI Act, China's generative-AI measures, NIST AI RMF and what they require.",
            "zh-hans": "欧盟 AI 法案、中国生成式 AI 管理办法、NIST AI RMF 及其要求。"
          },
          "outline": {
            "en": [
              "EU AI Act risk tiers",
              "China's Interim Measures for Generative AI",
              "NIST AI RMF and ISO/IEC 42001",
              "Practical compliance checklist"
            ],
            "zh-hans": [
              "欧盟 AI 法案的风险分级",
              "中国《生成式人工智能服务管理暂行办法》",
              "NIST AI RMF 与 ISO/IEC 42001",
              "落地合规清单"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/safety/ai-governance/",
            "zh-hans": "https://aimap.page/zh-hans/learn/safety/ai-governance/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "safety"
          ],
          "sources": []
        },
        {
          "id": "frontier-risks",
          "status": "outline",
          "level": 4,
          "minutes": 20,
          "audiences": [
            "researcher"
          ],
          "title": {
            "en": "Alignment and Frontier Risks",
            "zh-hans": "对齐与前沿风险"
          },
          "summary": {
            "en": "Specification gaming, deception evaluations and frontier safety frameworks.",
            "zh-hans": "规格博弈、欺骗评估与前沿安全框架。"
          },
          "outline": {
            "en": [
              "Specification gaming",
              "Dangerous-capability evaluations",
              "Responsible scaling policies",
              "Open problems"
            ],
            "zh-hans": [
              "规格博弈",
              "危险能力评估",
              "负责任扩展政策",
              "开放问题"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/safety/frontier-risks/",
            "zh-hans": "https://aimap.page/zh-hans/learn/safety/frontier-risks/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "safety"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "compute",
      "stage": "mastery",
      "title": {
        "en": "Compute & Hardware",
        "zh-hans": "算力与硬件"
      },
      "description": {
        "en": "GPUs, memory bandwidth, clusters and the chips that power AI.",
        "zh-hans": "GPU、显存带宽、集群，以及驱动 AI 的芯片。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/compute/",
        "zh-hans": "https://aimap.page/zh-hans/learn/compute/"
      },
      "lessons": [
        {
          "id": "gpu-basics",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "GPUs, Memory and FLOPs: Why AI Needs Them",
            "zh-hans": "GPU、显存与算力：AI 为什么需要它们"
          },
          "summary": {
            "en": "Matrix maths, memory bandwidth and why inference is often memory-bound.",
            "zh-hans": "矩阵运算、显存带宽，以及推理为什么常常卡在内存上。"
          },
          "outline": {
            "en": [
              "Parallel matrix multiplication",
              "FLOPs vs memory bandwidth",
              "Unified memory on Apple silicon",
              "Estimating hardware needs"
            ],
            "zh-hans": [
              "并行矩阵乘法",
              "算力与显存带宽",
              "Apple 芯片的统一内存",
              "估算硬件需求"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/compute/gpu-basics/",
            "zh-hans": "https://aimap.page/zh-hans/learn/compute/gpu-basics/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "hardware"
          ],
          "sources": []
        },
        {
          "id": "distributed-training",
          "status": "outline",
          "level": 4,
          "minutes": 20,
          "audiences": [
            "researcher"
          ],
          "title": {
            "en": "Distributed Training and Clusters",
            "zh-hans": "分布式训练与集群"
          },
          "summary": {
            "en": "Data, tensor and pipeline parallelism, interconnects and failures at scale.",
            "zh-hans": "数据并行、张量并行、流水线并行、互联与大规模故障。"
          },
          "outline": {
            "en": [
              "Data parallelism and ZeRO",
              "Tensor and pipeline parallelism",
              "Interconnects",
              "Checkpointing and failures"
            ],
            "zh-hans": [
              "数据并行与 ZeRO",
              "张量并行与流水线并行",
              "互联网络",
              "检查点与故障"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/compute/distributed-training/",
            "zh-hans": "https://aimap.page/zh-hans/learn/compute/distributed-training/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "hardware"
          ],
          "sources": []
        },
        {
          "id": "ai-chips",
          "status": "outline",
          "level": 3,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "The AI Chip Landscape",
            "zh-hans": "AI 芯片格局"
          },
          "summary": {
            "en": "GPUs, TPUs, custom accelerators and export controls.",
            "zh-hans": "GPU、TPU、定制加速器与出口管制。"
          },
          "outline": {
            "en": [
              "NVIDIA, AMD and the CUDA moat",
              "TPUs and custom ASICs",
              "Chinese AI chips",
              "Export controls"
            ],
            "zh-hans": [
              "NVIDIA、AMD 与 CUDA 护城河",
              "TPU 与定制芯片",
              "国产 AI 芯片",
              "出口管制"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/compute/ai-chips/",
            "zh-hans": "https://aimap.page/zh-hans/learn/compute/ai-chips/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "hardware"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "ai-industry",
      "stage": "mastery",
      "title": {
        "en": "AI Across Industries",
        "zh-hans": "AI + 行业应用"
      },
      "description": {
        "en": "AI in science, finance, health, education and software development.",
        "zh-hans": "AI 在科研、金融、医疗、教育和软件开发中的应用。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/ai-industry/",
        "zh-hans": "https://aimap.page/zh-hans/learn/ai-industry/"
      },
      "lessons": [
        {
          "id": "ai-for-science",
          "status": "outline",
          "level": 3,
          "minutes": 20,
          "audiences": [
            "beginner",
            "researcher"
          ],
          "title": {
            "en": "AI for Science: Maths, Biology, Materials",
            "zh-hans": "AI for Science：数学、生物与材料"
          },
          "summary": {
            "en": "Protein structure, AI-assisted proofs and materials discovery.",
            "zh-hans": "蛋白质结构、AI 辅助证明与材料发现。"
          },
          "outline": {
            "en": [
              "AlphaFold and protein design",
              "AI and mathematical proof",
              "Materials and chemistry",
              "Autonomous labs"
            ],
            "zh-hans": [
              "AlphaFold 与蛋白质设计",
              "AI 与数学证明",
              "材料与化学",
              "自动化实验室"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-industry/ai-for-science/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-industry/ai-for-science/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "science"
          ],
          "sources": []
        },
        {
          "id": "ai-in-finance",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer"
          ],
          "title": {
            "en": "AI in Finance",
            "zh-hans": "AI + 金融"
          },
          "summary": {
            "en": "Research assistants, risk, fraud detection and regulatory limits.",
            "zh-hans": "投研助手、风控、反欺诈与监管限制。"
          },
          "outline": {
            "en": [
              "Research and analysis",
              "Risk and fraud",
              "Trading and its limits",
              "Model risk management"
            ],
            "zh-hans": [
              "投研与分析",
              "风控与反欺诈",
              "交易及其局限",
              "模型风险管理"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-industry/ai-in-finance/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-industry/ai-in-finance/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "finance"
          ],
          "sources": []
        },
        {
          "id": "ai-in-healthcare",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "researcher"
          ],
          "title": {
            "en": "AI in Healthcare",
            "zh-hans": "AI + 医疗"
          },
          "summary": {
            "en": "Medical imaging, clinical documentation, drug discovery and evidence standards.",
            "zh-hans": "医学影像、病历文书、药物研发与证据标准。"
          },
          "outline": {
            "en": [
              "Imaging",
              "Clinical documentation",
              "Drug discovery",
              "Regulation and evidence"
            ],
            "zh-hans": [
              "医学影像",
              "病历与文书",
              "药物研发",
              "监管与证据"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-industry/ai-in-healthcare/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-industry/ai-in-healthcare/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "science"
          ],
          "sources": []
        },
        {
          "id": "ai-in-education",
          "status": "outline",
          "level": 1,
          "minutes": 15,
          "audiences": [
            "beginner"
          ],
          "title": {
            "en": "AI in Education",
            "zh-hans": "AI + 教育"
          },
          "summary": {
            "en": "Tutors, feedback, academic integrity and teaching with AI.",
            "zh-hans": "AI 家教、作业反馈、学术诚信与用 AI 教学。"
          },
          "outline": {
            "en": [
              "AI tutors",
              "Feedback and grading",
              "Integrity and detection limits",
              "Learning with AI effectively"
            ],
            "zh-hans": [
              "AI 家教",
              "反馈与批改",
              "学术诚信与检测的局限",
              "如何高效地用 AI 学习"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-industry/ai-in-education/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-industry/ai-in-education/"
          },
          "record": null,
          "software": [
            {
              "id": "obsidian",
              "name": "Obsidian",
              "record": "https://aimap.page/api/v1/software/obsidian.json"
            }
          ],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "ai-coding",
          "status": "outline",
          "level": 2,
          "minutes": 20,
          "audiences": [
            "beginner",
            "developer"
          ],
          "title": {
            "en": "AI for Software Development",
            "zh-hans": "AI 编程"
          },
          "summary": {
            "en": "From autocomplete to coding agents: workflows, review and limits.",
            "zh-hans": "从代码补全到编程 agent：工作流、审查与局限。"
          },
          "outline": {
            "en": [
              "Autocomplete vs agents",
              "Spec, test and review loops",
              "Repository context",
              "Security and licence issues"
            ],
            "zh-hans": [
              "补全与 agent",
              "规格、测试与审查循环",
              "仓库上下文",
              "安全与许可证问题"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-industry/ai-coding/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-industry/ai-coding/"
          },
          "record": null,
          "software": [
            {
              "id": "claude-code",
              "name": "Claude Code",
              "record": "https://aimap.page/api/v1/software/claude-code.json"
            },
            {
              "id": "codex",
              "name": "OpenAI Codex",
              "record": "https://aimap.page/api/v1/software/codex.json"
            },
            {
              "id": "cursor",
              "name": "Cursor",
              "record": "https://aimap.page/api/v1/software/cursor.json"
            },
            {
              "id": "github-copilot",
              "name": "GitHub Copilot",
              "record": "https://aimap.page/api/v1/software/github-copilot.json"
            },
            {
              "id": "aider",
              "name": "aider",
              "record": "https://aimap.page/api/v1/software/aider.json"
            },
            {
              "id": "zed",
              "name": "Zed",
              "record": "https://aimap.page/api/v1/software/zed.json"
            }
          ],
          "newsTopics": [
            "coding"
          ],
          "sources": []
        }
      ]
    },
    {
      "id": "ai-business",
      "stage": "mastery",
      "title": {
        "en": "AI Products & Business",
        "zh-hans": "AI 产品与商业"
      },
      "description": {
        "en": "Designing AI products, unit economics, open vs closed models and go-to-market.",
        "zh-hans": "AI 产品设计、成本结构、开源与闭源选型，以及商业化。"
      },
      "pages": {
        "en": "https://aimap.page/en/learn/ai-business/",
        "zh-hans": "https://aimap.page/zh-hans/learn/ai-business/"
      },
      "lessons": [
        {
          "id": "ai-product-design",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer"
          ],
          "title": {
            "en": "Designing AI Products",
            "zh-hans": "AI 产品设计"
          },
          "summary": {
            "en": "Choosing problems, handling errors, trust and human-in-the-loop UX.",
            "zh-hans": "选题、错误处理、信任与人在回路的交互设计。"
          },
          "outline": {
            "en": [
              "Picking AI-shaped problems",
              "Designing for errors",
              "Trust, citations and control",
              "Human-in-the-loop"
            ],
            "zh-hans": [
              "挑选适合 AI 的问题",
              "为出错而设计",
              "信任、引用与可控",
              "人在回路"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-business/ai-product-design/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-business/ai-product-design/"
          },
          "record": null,
          "software": [],
          "newsTopics": [],
          "sources": []
        },
        {
          "id": "ai-business-models",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer"
          ],
          "title": {
            "en": "AI Business Models and Unit Economics",
            "zh-hans": "AI 商业模式与成本结构"
          },
          "summary": {
            "en": "Token costs, pricing, margins and where value accrues in the AI stack.",
            "zh-hans": "Token 成本、定价、毛利，以及 AI 产业链中价值落在哪里。"
          },
          "outline": {
            "en": [
              "Cost per task",
              "Seat vs usage pricing",
              "Margins and model price drops",
              "Where value accrues"
            ],
            "zh-hans": [
              "单任务成本",
              "按席位还是按用量定价",
              "毛利与模型降价",
              "价值落在哪一层"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-business/ai-business-models/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-business/ai-business-models/"
          },
          "record": null,
          "software": [],
          "newsTopics": [
            "business"
          ],
          "sources": []
        },
        {
          "id": "open-vs-closed",
          "status": "outline",
          "level": 2,
          "minutes": 15,
          "audiences": [
            "beginner",
            "developer",
            "researcher"
          ],
          "title": {
            "en": "Open vs Closed Models: Licences and Choosing",
            "zh-hans": "开源与闭源模型：许可证与选型"
          },
          "summary": {
            "en": "Open weights vs open source, licences and a practical selection checklist.",
            "zh-hans": "开放权重与开源的区别、许可证，以及实用的选型清单。"
          },
          "outline": {
            "en": [
              "Open weights vs open source",
              "Common model licences",
              "Self-hosting trade-offs",
              "Selection checklist"
            ],
            "zh-hans": [
              "开放权重与开源",
              "常见模型许可证",
              "自托管的取舍",
              "选型清单"
            ]
          },
          "pages": {
            "en": "https://aimap.page/en/learn/ai-business/open-vs-closed/",
            "zh-hans": "https://aimap.page/zh-hans/learn/ai-business/open-vs-closed/"
          },
          "record": null,
          "software": [
            {
              "id": "ollama",
              "name": "Ollama",
              "record": "https://aimap.page/api/v1/software/ollama.json"
            },
            {
              "id": "lm-studio",
              "name": "LM Studio",
              "record": "https://aimap.page/api/v1/software/lm-studio.json"
            },
            {
              "id": "jan",
              "name": "jan",
              "record": "https://aimap.page/api/v1/software/jan.json"
            }
          ],
          "newsTopics": [
            "llm"
          ],
          "sources": []
        }
      ]
    }
  ],
  "counts": {
    "lessons": 55,
    "published": 13,
    "modules": 15
  }
}