{
  "definition_count": 120,
  "scanned_reading_pages": 143,
  "visible_intro_count": 514,
  "pages": [
    {
      "path": "chapters/01.html",
      "title": "01｜输入究竟是什么：从用户的一句话到模型张量",
      "terms_found": [
        "wout",
        "cache",
        "prefill",
        "harness",
        "api",
        "schema",
        "oauth",
        "patch",
        "concat",
        "probability-symbols",
        "json",
        "interface-environment",
        "pixels"
      ],
      "worked_examples": [
        "Q001",
        "Q002",
        "Q003",
        "Q004"
      ]
    },
    {
      "path": "chapters/02.html",
      "title": "02｜一次Transformer前向：逐张量、逐算子讲明白",
      "terms_found": [
        "q-projection",
        "k-projection",
        "v-projection",
        "qkv",
        "wo",
        "wout",
        "identity",
        "bias",
        "sum",
        "transpose",
        "elementwise",
        "relu",
        "silu",
        "swiglu",
        "ffn",
        "norm",
        "norm-params",
        "prenorm",
        "residual",
        "sqrt",
        "dk",
        "heads",
        "rope",
        "moe",
        "gradient",
        "jacobian",
        "cache",
        "prefill",
        "sigma",
        "concat",
        "batchnorm",
        "probability-symbols"
      ],
      "worked_examples": [
        "Q005",
        "Q006",
        "Q007",
        "Q008"
      ]
    },
    {
      "path": "chapters/03.html",
      "title": "03｜注意力的深入追问：位置、掩码、多头与反向传播",
      "terms_found": [
        "q-projection",
        "k-projection",
        "v-projection",
        "qkv",
        "bias",
        "transpose",
        "elementwise",
        "residual",
        "sqrt",
        "dk",
        "heads",
        "rope",
        "gradient",
        "checkpoint",
        "cache",
        "api",
        "upstream",
        "concat",
        "dropout",
        "bos-eos"
      ],
      "worked_examples": [
        "Q009",
        "X07",
        "Q010",
        "Q011",
        "X06",
        "Q012"
      ]
    },
    {
      "path": "chapters/04.html",
      "title": "04｜输出是怎样一个Token一个Token生成的",
      "terms_found": [
        "qkv",
        "labels",
        "cache",
        "prefill",
        "temperature",
        "topk",
        "harness",
        "api",
        "identifiers",
        "bos-eos",
        "json"
      ],
      "worked_examples": [
        "Q013",
        "Q014",
        "Q015",
        "Q016",
        "X03"
      ]
    },
    {
      "path": "chapters/05.html",
      "title": "05｜训练的一步：从正确标签到参数真正改变",
      "terms_found": [
        "bias",
        "transpose",
        "ffn",
        "residual",
        "sqrt",
        "moe",
        "gradient",
        "loss",
        "labels",
        "optimizer",
        "sft",
        "rlhf",
        "lora",
        "quantization",
        "dtypes",
        "mixed",
        "checkpoint",
        "cache",
        "prefill",
        "parallel",
        "api",
        "cosine",
        "concat",
        "dropout",
        "bos-eos"
      ],
      "worked_examples": [
        "Q017",
        "Q018",
        "Q019",
        "Q020"
      ]
    },
    {
      "path": "chapters/06.html",
      "title": "06｜后训练、MoE与模型定制：能力和行为如何改变",
      "terms_found": [
        "sigmoid",
        "ffn",
        "moe",
        "beta-policy",
        "sft",
        "rlhf",
        "dpo",
        "ppo",
        "kl",
        "lora",
        "quantization",
        "cache",
        "flash",
        "paged",
        "flops",
        "harness",
        "schema",
        "rag"
      ],
      "worked_examples": [
        "Q021",
        "Q022",
        "Q023",
        "Q024"
      ]
    },
    {
      "path": "chapters/07.html",
      "title": "07｜KV Cache、FlashAttention与PagedAttention的内部过程",
      "terms_found": [
        "projection",
        "qkv",
        "wo",
        "sum",
        "transpose",
        "ffn",
        "residual",
        "dk",
        "heads",
        "rope",
        "moe",
        "lora",
        "quantization",
        "dtypes",
        "cache",
        "prefill",
        "flash",
        "paged",
        "api",
        "schema",
        "concat",
        "big-o"
      ],
      "worked_examples": [
        "Q025",
        "Q026",
        "Q027",
        "Q028"
      ]
    },
    {
      "path": "chapters/08.html",
      "title": "08｜推理服务：调度、吞吐、延迟和并行",
      "terms_found": [
        "ffn",
        "residual",
        "lora",
        "quantization",
        "cache",
        "prefill",
        "flash",
        "paged",
        "memory-hardware",
        "parallel",
        "topk",
        "speculative",
        "api",
        "latency"
      ],
      "worked_examples": [
        "Q029",
        "Q030",
        "Q031",
        "Q032"
      ]
    },
    {
      "path": "chapters/09.html",
      "title": "09｜Agent一次任务的完整循环：谁在思考，谁在执行",
      "terms_found": [
        "checkpoint",
        "cache",
        "prefill",
        "harness",
        "api",
        "identifiers",
        "threadturn",
        "unknown",
        "idempotent"
      ],
      "worked_examples": [
        "Q033",
        "Q034",
        "Q035",
        "Q036"
      ]
    },
    {
      "path": "chapters/10.html",
      "title": "10｜模型输出怎样变成真实工具调用：协议与执行边界",
      "terms_found": [
        "checkpoint",
        "prefill",
        "harness",
        "api",
        "schema",
        "sse",
        "identifiers",
        "mcp",
        "unknown",
        "idempotent",
        "json",
        "linebreak"
      ],
      "worked_examples": [
        "Q037",
        "Q038",
        "Q039",
        "Q040"
      ]
    },
    {
      "path": "chapters/11.html",
      "title": "11｜工具设计与MCP：从连接到可控执行",
      "terms_found": [
        "dk",
        "checkpoint",
        "api",
        "schema",
        "identifiers",
        "mcp",
        "jsonrpc",
        "oauth",
        "idempotent",
        "patch",
        "json",
        "databases"
      ],
      "worked_examples": [
        "Q041",
        "Q042",
        "Q043",
        "Q044"
      ]
    },
    {
      "path": "chapters/12.html",
      "title": "12｜Codex、Claude Code、Copilot：从公开事实到可诊断运行链",
      "terms_found": [
        "dk",
        "checkpoint",
        "api",
        "schema",
        "identifiers",
        "mcp",
        "idempotent",
        "backoff",
        "trace",
        "tool-objects",
        "interface-environment"
      ],
      "worked_examples": [
        "Q045",
        "Q046",
        "Q047",
        "Q048"
      ]
    },
    {
      "path": "chapters/13.html",
      "title": "13｜每一轮Prompt怎样组装：上下文是一条数据管线",
      "terms_found": [
        "identity",
        "checkpoint",
        "cache",
        "topk",
        "api",
        "schema",
        "identifiers",
        "mcp",
        "skills",
        "calibration"
      ],
      "worked_examples": [
        "Q049",
        "Q050",
        "Q051",
        "Q052"
      ]
    },
    {
      "path": "chapters/14.html",
      "title": "14｜上下文压缩：到底压掉什么，丢失后又如何恢复",
      "terms_found": [
        "checkpoint",
        "cache",
        "harness",
        "api",
        "identifiers",
        "compaction",
        "unknown",
        "idempotent",
        "rag"
      ],
      "worked_examples": [
        "Q053",
        "Q054",
        "Q055",
        "Q056"
      ]
    },
    {
      "path": "chapters/15.html",
      "title": "15｜检索离线链路：文档怎样变成可查询索引",
      "terms_found": [
        "sum",
        "quantization",
        "temperature",
        "topk",
        "idempotent",
        "tfidf",
        "bm25",
        "ann",
        "rag",
        "clip",
        "pixels"
      ],
      "worked_examples": [
        "Q057",
        "Q058",
        "Q059",
        "Q060"
      ]
    },
    {
      "path": "chapters/16.html",
      "title": "16｜检索在线链路：召回、融合、重排与证据充足性",
      "terms_found": [
        "sum",
        "dk",
        "topk",
        "idempotent",
        "bm25",
        "rrf",
        "cosine",
        "rerank",
        "colbert",
        "rag",
        "hyde",
        "graphrag",
        "calibration",
        "pixels"
      ],
      "worked_examples": [
        "Q061",
        "Q062",
        "Q063",
        "Q064"
      ]
    },
    {
      "path": "chapters/17.html",
      "title": "17｜代码智能：从文本搜索到符号、版本与运行证据",
      "terms_found": [
        "checkpoint",
        "idempotent",
        "astlsp",
        "version-tools",
        "interface-environment"
      ],
      "worked_examples": [
        "Q065",
        "Q066",
        "Q067",
        "Q068"
      ]
    },
    {
      "path": "chapters/18.html",
      "title": "18｜长期记忆：写入、检索、冲突、失效与遗忘",
      "terms_found": [
        "checkpoint",
        "oauth",
        "idempotent",
        "rag",
        "ttl"
      ],
      "worked_examples": [
        "Q069",
        "Q070",
        "Q071",
        "Q072"
      ]
    },
    {
      "path": "chapters/19.html",
      "title": "19｜Skills与路由：怎样加载刚好需要的专业能力",
      "terms_found": [
        "api",
        "schema",
        "mcp",
        "interface-environment",
        "databases"
      ],
      "worked_examples": [
        "Q073",
        "Q074",
        "Q075",
        "Q076"
      ]
    },
    {
      "path": "chapters/20.html",
      "title": "20｜多Agent：并行的收益与交接的损失",
      "terms_found": [
        "checkpoint",
        "mcp",
        "idempotent",
        "wal",
        "dag",
        "calibration"
      ],
      "worked_examples": [
        "Q077",
        "Q078",
        "Q079",
        "Q080"
      ]
    },
    {
      "path": "chapters/21.html",
      "title": "21｜可靠执行：重试、幂等、崩溃与状态恢复",
      "terms_found": [
        "identity",
        "checkpoint",
        "harness",
        "api",
        "unknown",
        "idempotent",
        "cas",
        "transaction",
        "wal",
        "outbox",
        "backoff"
      ],
      "worked_examples": [
        "Q081",
        "Q082",
        "Q083",
        "Q084"
      ]
    },
    {
      "path": "chapters/22.html",
      "title": "22｜工程质量：从需求到测试，再到真正可交付的代码",
      "terms_found": [
        "checkpoint",
        "api",
        "schema",
        "idempotent",
        "databases"
      ],
      "worked_examples": [
        "Q085",
        "Q086",
        "Q087",
        "Q088"
      ]
    },
    {
      "path": "chapters/23.html",
      "title": "23｜Evaluation：怎样证明一次优化真有收益",
      "terms_found": [
        "bias",
        "quantization",
        "tests",
        "passk",
        "bootstrap",
        "stats",
        "trace",
        "calibration",
        "combination",
        "json"
      ],
      "worked_examples": [
        "Q089",
        "Q090",
        "Q091",
        "Q092"
      ]
    },
    {
      "path": "chapters/24.html",
      "title": "24｜安全：指令边界、沙箱、权限与记忆污染",
      "terms_found": [
        "harness",
        "api",
        "mcp",
        "oauth",
        "idempotent",
        "cas",
        "trace",
        "security"
      ],
      "worked_examples": [
        "Q093",
        "Q094",
        "Q095",
        "Q096"
      ]
    },
    {
      "path": "chapters/25.html",
      "title": "25｜生产运行：Trace、成本、队列、灰度与回滚",
      "terms_found": [
        "identity",
        "checkpoint",
        "harness",
        "api",
        "schema",
        "unknown",
        "idempotent",
        "dag",
        "trace",
        "slo",
        "little"
      ],
      "worked_examples": [
        "Q097",
        "Q098",
        "Q099",
        "Q100"
      ]
    },
    {
      "path": "chapters/26.html",
      "title": "26｜深度应用：把组件组合成能解释的工作系统",
      "terms_found": [
        "checkpoint",
        "api",
        "unknown",
        "idempotent",
        "rag",
        "trace",
        "patch",
        "interface-environment",
        "pixels"
      ],
      "worked_examples": [
        "Q101",
        "Q102",
        "Q103",
        "Q104"
      ]
    },
    {
      "path": "chapters/27.html",
      "title": "27｜事实可靠性、多模态与可解释性：能力边界在哪里",
      "terms_found": [
        "ffn",
        "residual",
        "rag",
        "security",
        "patch",
        "clip",
        "sae",
        "calibration",
        "interface-environment"
      ],
      "worked_examples": [
        "Q105",
        "Q106",
        "Q107",
        "Q108"
      ]
    },
    {
      "path": "chapters/28.html",
      "title": "28｜研究深水区与系统综合判断",
      "terms_found": [
        "qkv",
        "bias",
        "sum",
        "transpose",
        "swiglu",
        "heads",
        "rope",
        "moe",
        "lora",
        "quantization",
        "checkpoint",
        "cache",
        "flash",
        "flops",
        "idempotent",
        "mla"
      ],
      "worked_examples": [
        "Q109",
        "Q110",
        "Q111",
        "Q112"
      ]
    },
    {
      "path": "examples/input-representation.html",
      "title": "示例：从两句话到三维表示",
      "terms_found": [
        "qkv",
        "cache",
        "api"
      ],
      "worked_examples": []
    },
    {
      "path": "foundations/01.html",
      "title": "F01｜先分清：文字、数字、模型和运行它的程序",
      "terms_found": [],
      "worked_examples": [
        "F01"
      ]
    },
    {
      "path": "foundations/02.html",
      "title": "F02｜一排数、一张表和一叠表：读懂张量与形状",
      "terms_found": [
        "sum",
        "transpose"
      ],
      "worked_examples": [
        "F02"
      ]
    },
    {
      "path": "foundations/03.html",
      "title": "F03｜文字为什么要先变成Token编号",
      "terms_found": [],
      "worked_examples": [
        "F03",
        "X11"
      ]
    },
    {
      "path": "foundations/04.html",
      "title": "F04｜组批和补齐：为什么两句话变成[2,3]",
      "terms_found": [
        "api"
      ],
      "worked_examples": [
        "F04"
      ]
    },
    {
      "path": "foundations/05.html",
      "title": "F05｜Embedding查表：把一个编号换成一排数",
      "terms_found": [
        "bias",
        "probability-symbols"
      ],
      "worked_examples": [
        "F05"
      ]
    },
    {
      "path": "foundations/06.html",
      "title": "F06｜“放到设备”是什么：数据类型、内存、CPU与GPU",
      "terms_found": [
        "dtypes",
        "cache",
        "flash",
        "paged"
      ],
      "worked_examples": [
        "F06"
      ]
    },
    {
      "path": "foundations/07.html",
      "title": "F07｜模型最常做的算术：加权求和、点积与矩阵乘法",
      "terms_found": [
        "projection",
        "qkv",
        "sum",
        "transpose",
        "elementwise",
        "moe",
        "cache",
        "flash",
        "paged"
      ],
      "worked_examples": [
        "F07"
      ]
    },
    {
      "path": "foundations/08.html",
      "title": "F08｜reshape、转轴、广播：形状变了，内容未必算过",
      "terms_found": [
        "bias",
        "transpose",
        "dk",
        "cache",
        "flash",
        "paged"
      ],
      "worked_examples": [
        "F08"
      ]
    },
    {
      "path": "foundations/09.html",
      "title": "F09｜概率、指数与softmax：把分数变成比例",
      "terms_found": [
        "sum",
        "moe",
        "topk",
        "calibration"
      ],
      "worked_examples": [
        "F09"
      ]
    },
    {
      "path": "foundations/10.html",
      "title": "F10｜神经网络最小模型：参数、层、前向与隐藏状态",
      "terms_found": [
        "bias",
        "relu",
        "silu",
        "gelu"
      ],
      "worked_examples": [
        "F10"
      ]
    },
    {
      "path": "foundations/11.html",
      "title": "F11｜Attention逐步计算：先算相关分数，再混合内容",
      "terms_found": [
        "projection",
        "q-projection",
        "k-projection",
        "v-projection",
        "qkv",
        "wo",
        "wout",
        "bias",
        "transpose",
        "residual",
        "sqrt",
        "dk",
        "cache",
        "prefill",
        "flash",
        "paged"
      ],
      "worked_examples": [
        "F11"
      ]
    },
    {
      "path": "foundations/12.html",
      "title": "F12｜Mask不是黑箱：把“谁能看谁”写成一张表",
      "terms_found": [
        "qkv",
        "rope",
        "cache",
        "flash",
        "paged",
        "api"
      ],
      "worked_examples": [
        "F12"
      ]
    },
    {
      "path": "foundations/13.html",
      "title": "F13｜位置编号与RoPE：先懂位置，再懂旋转",
      "terms_found": [
        "transpose",
        "residual",
        "rope",
        "cache",
        "flash",
        "paged",
        "cosine"
      ],
      "worked_examples": [
        "F13"
      ]
    },
    {
      "path": "foundations/14.html",
      "title": "F14｜把Attention装进一层：残差、归一化与前馈网络",
      "terms_found": [
        "wo",
        "identity",
        "relu",
        "sigmoid",
        "silu",
        "swiglu",
        "ffn",
        "norm",
        "norm-params",
        "prenorm",
        "residual",
        "sqrt",
        "rope",
        "prefill",
        "sigma"
      ],
      "worked_examples": [
        "F14",
        "X02"
      ]
    },
    {
      "path": "foundations/15.html",
      "title": "F15｜从最后一排数到一个Token，再到一句回答",
      "terms_found": [
        "wout",
        "residual",
        "cache",
        "prefill",
        "bos-eos",
        "json"
      ],
      "worked_examples": [
        "F15"
      ]
    },
    {
      "path": "foundations/16.html",
      "title": "F16｜KV Cache从零解释：为什么可以少算，又记住了什么",
      "terms_found": [
        "qkv",
        "rope",
        "dtypes",
        "cache",
        "flash",
        "paged"
      ],
      "worked_examples": [
        "F16"
      ]
    },
    {
      "path": "foundations/17.html",
      "title": "F17｜微积分只学用得上的部分：导数、梯度与链式法则",
      "terms_found": [
        "relu",
        "gradient",
        "loss",
        "optimizer",
        "cache"
      ],
      "worked_examples": [
        "F17"
      ]
    },
    {
      "path": "foundations/18.html",
      "title": "F18｜一次训练从头到尾：标签、交叉熵和Adam",
      "terms_found": [
        "sum",
        "norm",
        "moe",
        "gradient",
        "loss",
        "labels",
        "optimizer",
        "rlhf",
        "kl",
        "api",
        "bos-eos"
      ],
      "worked_examples": [
        "F18",
        "X12"
      ]
    },
    {
      "path": "foundations/19.html",
      "title": "F19｜后训练的前置数学：偏好、奖励、概率比与KL",
      "terms_found": [
        "sum",
        "sigmoid",
        "moe",
        "loss",
        "optimizer",
        "beta-policy",
        "sft",
        "rlhf",
        "dpo",
        "ppo",
        "kl",
        "lora",
        "quantization",
        "api",
        "stats"
      ],
      "worked_examples": [
        "F19",
        "X04"
      ]
    },
    {
      "path": "foundations/20.html",
      "title": "F20｜低秩、量化、专家：先看究竟少算了什么",
      "terms_found": [
        "identity",
        "moe",
        "kl",
        "lora",
        "quantization"
      ],
      "worked_examples": [
        "F20",
        "X10"
      ]
    },
    {
      "path": "foundations/21.html",
      "title": "F21｜算得快与装得下：复杂度、带宽、批处理和并行",
      "terms_found": [
        "lora",
        "quantization",
        "checkpoint",
        "cache",
        "prefill",
        "flash",
        "paged",
        "flops",
        "parallel",
        "trace",
        "big-o"
      ],
      "worked_examples": [
        "F21"
      ]
    },
    {
      "path": "foundations/22.html",
      "title": "F22｜Agent不是另一个神经网络：用一次读文件讲清循环",
      "terms_found": [
        "harness",
        "api",
        "threadturn",
        "unknown",
        "idempotent",
        "json"
      ],
      "worked_examples": [
        "F22"
      ]
    },
    {
      "path": "foundations/23.html",
      "title": "F23｜API与流式协议：请求如何变成可执行数据",
      "terms_found": [
        "checkpoint",
        "api",
        "schema",
        "sse",
        "identifiers",
        "mcp",
        "idempotent",
        "json",
        "linebreak"
      ],
      "worked_examples": [
        "F23"
      ]
    },
    {
      "path": "foundations/24.html",
      "title": "F24｜状态、事件与检查点：模型知道和系统记录的区别",
      "terms_found": [
        "checkpoint",
        "api",
        "mcp",
        "unknown",
        "cas"
      ],
      "worked_examples": [
        "F24"
      ]
    },
    {
      "path": "foundations/25.html",
      "title": "F25｜工具与MCP：连接、发现、授权、执行四层拆开",
      "terms_found": [
        "checkpoint",
        "api",
        "schema",
        "mcp",
        "jsonrpc",
        "oauth",
        "idempotent",
        "json"
      ],
      "worked_examples": [
        "F25"
      ]
    },
    {
      "path": "foundations/26.html",
      "title": "F26｜上下文组装：每轮到底给模型什么，以及为什么",
      "terms_found": [
        "checkpoint",
        "cache",
        "schema",
        "mcp",
        "skills"
      ],
      "worked_examples": [
        "F26"
      ]
    },
    {
      "path": "foundations/27.html",
      "title": "F27｜压缩不是魔法：摘要、原文和执行状态怎样配合",
      "terms_found": [
        "checkpoint",
        "cache",
        "compaction",
        "unknown"
      ],
      "worked_examples": [
        "F27"
      ]
    },
    {
      "path": "foundations/28.html",
      "title": "F28｜检索入门：目录、倒排索引、向量与近似搜索",
      "terms_found": [
        "tfidf",
        "bm25",
        "cosine",
        "ann",
        "pixels"
      ],
      "worked_examples": [
        "F28"
      ]
    },
    {
      "path": "foundations/29.html",
      "title": "F29｜从搜索结果到可信答案：召回、重排和证据",
      "terms_found": [
        "idempotent",
        "bm25",
        "rrf",
        "rerank",
        "colbert",
        "rag",
        "hyde",
        "graphrag"
      ],
      "worked_examples": [
        "F29"
      ]
    },
    {
      "path": "foundations/30.html",
      "title": "F30｜代码不是普通文档：语法树、调用关系与版本",
      "terms_found": [
        "checkpoint",
        "idempotent",
        "astlsp",
        "dag",
        "patch"
      ],
      "worked_examples": [
        "F30"
      ]
    },
    {
      "path": "foundations/31.html",
      "title": "F31｜长期记忆的基础：事实、经历、流程和时间",
      "terms_found": [
        "checkpoint",
        "oauth",
        "ttl",
        "memory-types"
      ],
      "worked_examples": [
        "F31"
      ]
    },
    {
      "path": "foundations/32.html",
      "title": "F32｜Skill、路由和多Agent：先理解谁负责什么",
      "terms_found": [
        "mcp",
        "idempotent",
        "dag",
        "handoff"
      ],
      "worked_examples": [
        "F32"
      ]
    },
    {
      "path": "foundations/33.html",
      "title": "F33｜重试、幂等和事务：为什么超时不是失败证明",
      "terms_found": [
        "checkpoint",
        "api",
        "mcp",
        "unknown",
        "idempotent",
        "cas",
        "transaction",
        "wal"
      ],
      "worked_examples": [
        "F33"
      ]
    },
    {
      "path": "foundations/34.html",
      "title": "F34｜工程质量的基础：需求、反例、测试与审查",
      "terms_found": [
        "checkpoint",
        "idempotent",
        "tests"
      ],
      "worked_examples": [
        "F34"
      ]
    },
    {
      "path": "foundations/35.html",
      "title": "F35｜评测指标的分母：成功率、精确率、召回率和pass",
      "terms_found": [
        "topk",
        "metrics",
        "passk",
        "trace"
      ],
      "worked_examples": [
        "F35"
      ]
    },
    {
      "path": "foundations/36.html",
      "title": "F36｜别被几个百分点骗了：随机性、样本与统计判断",
      "terms_found": [
        "sqrt",
        "bootstrap",
        "stats",
        "trace",
        "calibration"
      ],
      "worked_examples": [
        "F36"
      ]
    },
    {
      "path": "foundations/37.html",
      "title": "F37｜安全基础：数据能影响模型，但不能因此获得权限",
      "terms_found": [
        "api",
        "mcp",
        "idempotent",
        "trace",
        "security"
      ],
      "worked_examples": [
        "F37"
      ]
    },
    {
      "path": "foundations/38.html",
      "title": "F38｜看懂生产运行：Trace、队列、成本和回滚",
      "terms_found": [
        "checkpoint",
        "api",
        "idempotent",
        "dag",
        "trace",
        "latency",
        "slo",
        "little"
      ],
      "worked_examples": [
        "F38"
      ]
    },
    {
      "path": "foundations/39.html",
      "title": "F39｜多模态与可信度：图片怎样成为输入，解释为什么有限",
      "terms_found": [
        "residual",
        "api",
        "trace",
        "patch",
        "clip",
        "sae",
        "calibration",
        "pixels"
      ],
      "worked_examples": [
        "F39"
      ]
    },
    {
      "path": "foundations/40.html",
      "title": "F40｜从基础概念到系统分析：怎样定位问题，而不是再堆技术",
      "terms_found": [
        "qkv",
        "lora",
        "quantization",
        "cache",
        "harness",
        "idempotent",
        "rag"
      ],
      "worked_examples": [
        "F40"
      ]
    },
    {
      "path": "reading-notes/chapter-00.html",
      "title": "全局认知",
      "terms_found": [
        "labels",
        "cache",
        "prefill",
        "harness",
        "patch",
        "interface-environment"
      ],
      "worked_examples": [
        "R00-01",
        "R00-02",
        "R00-03",
        "R00-04",
        "R00-05"
      ]
    },
    {
      "path": "reading-notes/chapter-01.html",
      "title": "模型内部",
      "terms_found": [
        "qkv",
        "transpose",
        "ffn",
        "norm",
        "residual",
        "sqrt",
        "dk",
        "heads",
        "rope",
        "moe",
        "rlhf",
        "quantization",
        "cache",
        "prefill",
        "api",
        "rag",
        "calibration",
        "concat",
        "mla"
      ],
      "worked_examples": [
        "R01-01",
        "R01-02",
        "R01-03",
        "R01-04",
        "R01-05",
        "R01-06",
        "R01-07",
        "R01-08",
        "R01-09",
        "R01-10",
        "R01-11",
        "R01-12",
        "R01-13",
        "R01-14"
      ]
    },
    {
      "path": "reading-notes/chapter-02.html",
      "title": "能力形成",
      "terms_found": [
        "sigmoid",
        "beta-policy",
        "sft",
        "rlhf",
        "dpo",
        "ppo",
        "api",
        "trace"
      ],
      "worked_examples": [
        "R02-01",
        "R02-02",
        "R02-03",
        "R02-04",
        "R02-05",
        "R02-06",
        "R02-07",
        "R02-08",
        "R02-09",
        "R02-10",
        "R02-11",
        "R02-12",
        "R02-13",
        "R02-14",
        "R02-15"
      ]
    },
    {
      "path": "reading-notes/chapter-03.html",
      "title": "推理与服务",
      "terms_found": [
        "residual",
        "quantization",
        "cache",
        "prefill",
        "flash",
        "paged",
        "topk",
        "speculative",
        "api",
        "dag",
        "trace",
        "concat"
      ],
      "worked_examples": [
        "R03-01",
        "R03-02",
        "R03-03",
        "R03-04",
        "R03-05",
        "R03-06",
        "R03-07",
        "R03-08",
        "R03-09",
        "R03-10",
        "R03-11",
        "R03-12"
      ]
    },
    {
      "path": "reading-notes/chapter-04.html",
      "title": "输入输出接口",
      "terms_found": [
        "prefill",
        "api",
        "schema",
        "sse",
        "identifiers",
        "calibration",
        "json"
      ],
      "worked_examples": [
        "R04-01",
        "R04-02",
        "R04-03",
        "R04-04",
        "R04-05",
        "R04-06",
        "R04-07",
        "R04-08"
      ]
    },
    {
      "path": "reading-notes/chapter-05.html",
      "title": "Agent基础",
      "terms_found": [
        "checkpoint",
        "api",
        "schema",
        "mcp",
        "threadturn",
        "idempotent",
        "handoff",
        "trace",
        "databases"
      ],
      "worked_examples": [
        "R05-01",
        "R05-02",
        "R05-03",
        "R05-04",
        "R05-05",
        "R05-06",
        "R05-07",
        "R05-08",
        "R05-09",
        "R05-10",
        "R05-11",
        "R05-12"
      ]
    },
    {
      "path": "reading-notes/chapter-06.html",
      "title": "真实编码Agent",
      "terms_found": [
        "harness",
        "api",
        "schema",
        "mcp",
        "jsonrpc",
        "threadturn",
        "concat",
        "json",
        "tool-objects",
        "interface-environment",
        "databases"
      ],
      "worked_examples": [
        "R06-01",
        "R06-02",
        "R06-03",
        "R06-04",
        "R06-05",
        "R06-06",
        "R06-07",
        "R06-08",
        "R06-09",
        "R06-10",
        "R06-11",
        "R06-12",
        "R06-13",
        "R06-14",
        "R06-15",
        "R06-16",
        "R06-17",
        "R06-18",
        "R06-19",
        "R06-20",
        "R06-21"
      ]
    },
    {
      "path": "reading-notes/chapter-07.html",
      "title": "上下文工程",
      "terms_found": [
        "cache",
        "compaction"
      ],
      "worked_examples": [
        "R07-01",
        "R07-02",
        "R07-03",
        "R07-04",
        "R07-05",
        "R07-06",
        "R07-07",
        "R07-08",
        "R07-09",
        "R07-10",
        "R07-11"
      ]
    },
    {
      "path": "reading-notes/chapter-08.html",
      "title": "检索与代码智能",
      "terms_found": [
        "api",
        "bm25",
        "rrf",
        "rerank",
        "colbert",
        "rag",
        "hyde",
        "graphrag",
        "astlsp",
        "metrics",
        "pixels"
      ],
      "worked_examples": [
        "R08-01",
        "R08-02",
        "R08-03",
        "R08-04",
        "R08-05",
        "R08-06",
        "R08-07",
        "R08-08",
        "R08-09",
        "R08-10",
        "R08-11",
        "R08-12",
        "R08-13",
        "R08-14",
        "R08-15",
        "R08-16"
      ]
    },
    {
      "path": "reading-notes/chapter-09.html",
      "title": "长期记忆",
      "terms_found": [
        "checkpoint",
        "api",
        "oauth",
        "rag",
        "graphrag",
        "memory-types"
      ],
      "worked_examples": [
        "R09-01",
        "R09-02",
        "R09-03",
        "R09-04",
        "R09-05",
        "R09-06",
        "R09-07",
        "R09-08",
        "R09-09",
        "R09-10"
      ]
    },
    {
      "path": "reading-notes/chapter-10.html",
      "title": "Skills与多Agent",
      "terms_found": [
        "cache",
        "api",
        "skills",
        "dag",
        "handoff",
        "interface-environment",
        "databases"
      ],
      "worked_examples": [
        "R10-01",
        "R10-02",
        "R10-03",
        "R10-04",
        "R10-05",
        "R10-06",
        "R10-07",
        "R10-08",
        "R10-09",
        "R10-10",
        "R10-11",
        "R10-12"
      ]
    },
    {
      "path": "reading-notes/chapter-11.html",
      "title": "AI软件工程",
      "terms_found": [
        "checkpoint",
        "harness",
        "api",
        "interface-environment",
        "databases"
      ],
      "worked_examples": [
        "R11-01",
        "R11-02",
        "R11-03",
        "R11-04",
        "R11-05",
        "R11-06",
        "R11-07",
        "R11-08",
        "R11-09",
        "R11-10",
        "R11-11",
        "R11-12",
        "R11-13"
      ]
    },
    {
      "path": "reading-notes/chapter-12.html",
      "title": "评测方法",
      "terms_found": [
        "passk",
        "bootstrap",
        "trace",
        "calibration",
        "combination",
        "json"
      ],
      "worked_examples": [
        "R12-01",
        "R12-02",
        "R12-03",
        "R12-04",
        "R12-05",
        "R12-06",
        "R12-07",
        "R12-08",
        "R12-09",
        "R12-10",
        "R12-11",
        "R12-12",
        "R12-13"
      ]
    },
    {
      "path": "reading-notes/chapter-13.html",
      "title": "安全与权限",
      "terms_found": [
        "mcp",
        "security",
        "interface-environment",
        "databases"
      ],
      "worked_examples": [
        "R13-01",
        "R13-02",
        "R13-03",
        "R13-04",
        "R13-05",
        "R13-06",
        "R13-07",
        "R13-08",
        "R13-09",
        "R13-10"
      ]
    },
    {
      "path": "reading-notes/chapter-14.html",
      "title": "运行与性能",
      "terms_found": [
        "harness",
        "api",
        "unknown",
        "idempotent",
        "backoff",
        "dag",
        "trace",
        "latency",
        "slo",
        "databases"
      ],
      "worked_examples": [
        "R14-01",
        "R14-02",
        "R14-03",
        "R14-04",
        "R14-05",
        "R14-06",
        "R14-07",
        "R14-08",
        "R14-09",
        "R14-10",
        "R14-11"
      ]
    },
    {
      "path": "reading-notes/chapter-15.html",
      "title": "高级专题",
      "terms_found": [
        "lora",
        "quantization",
        "checkpoint",
        "harness",
        "api",
        "rag",
        "sae",
        "calibration",
        "interface-environment"
      ],
      "worked_examples": [
        "R15-01",
        "R15-02",
        "R15-03",
        "R15-04",
        "R15-05",
        "R15-06",
        "R15-07",
        "R15-08",
        "R15-09",
        "R15-10",
        "R15-11",
        "R15-12",
        "R15-13",
        "R15-14",
        "R15-15",
        "R15-16",
        "R15-17"
      ]
    },
    {
      "path": "reading-notes/chapter-16.html",
      "title": "数学与实现补充",
      "terms_found": [
        "loss",
        "labels",
        "api"
      ],
      "worked_examples": [
        "R16-01",
        "R16-02",
        "R16-03",
        "R16-04",
        "R16-05",
        "R16-06"
      ]
    },
    {
      "path": "reading-notes/guide-01.html",
      "title": "图解 Transformer",
      "terms_found": [
        "q-projection",
        "k-projection",
        "v-projection",
        "qkv",
        "wo",
        "identity",
        "bias",
        "relu",
        "ffn",
        "norm",
        "norm-params",
        "prenorm",
        "residual",
        "rope",
        "prefill",
        "astlsp",
        "sigma",
        "concat"
      ],
      "worked_examples": [
        "Q005"
      ]
    },
    {
      "path": "reading-notes/guide-02.html",
      "title": "注意力机制，逐步算清",
      "terms_found": [
        "q-projection",
        "k-projection",
        "v-projection",
        "qkv",
        "transpose",
        "residual",
        "sqrt",
        "dk",
        "heads",
        "moe"
      ],
      "worked_examples": [
        "F11"
      ]
    },
    {
      "path": "reading-notes/guide-03.html",
      "title": "LLM 的完整使用链路",
      "terms_found": [],
      "worked_examples": [
        "F01"
      ]
    },
    {
      "path": "reading-notes/guide-04.html",
      "title": "怎样构建有效的 Agent",
      "terms_found": [
        "checkpoint"
      ],
      "worked_examples": [
        "F22"
      ]
    },
    {
      "path": "reading-notes/guide-05.html",
      "title": "展开 Codex 的执行循环",
      "terms_found": [
        "harness"
      ],
      "worked_examples": [
        "Q033"
      ]
    },
    {
      "path": "reading-notes/guide-06.html",
      "title": "Claude Code 怎样工作",
      "terms_found": [
        "harness"
      ],
      "worked_examples": [
        "Q046"
      ]
    },
    {
      "path": "reading-notes/guide-07.html",
      "title": "上下文工程的核心方法",
      "terms_found": [
        "cache"
      ],
      "worked_examples": [
        "Q049"
      ]
    },
    {
      "path": "reading-notes/guide-08.html",
      "title": "压缩后，怎样保持任务连续",
      "terms_found": [
        "api",
        "schema",
        "identifiers",
        "compaction"
      ],
      "worked_examples": [
        "Q054"
      ]
    },
    {
      "path": "reading-notes/guide-09.html",
      "title": "让检索提供真正需要的证据",
      "terms_found": [
        "topk",
        "rrf",
        "rerank",
        "colbert",
        "astlsp",
        "memory-types",
        "metrics"
      ],
      "worked_examples": [
        "Q062"
      ]
    },
    {
      "path": "reading-notes/guide-10.html",
      "title": "从 CoALA 理解有效记忆",
      "terms_found": [
        "memory-types"
      ],
      "worked_examples": [
        "F31"
      ]
    },
    {
      "path": "reading-notes/guide-11.html",
      "title": "用工程环境提高交付质量",
      "terms_found": [
        "harness",
        "memory-types"
      ],
      "worked_examples": [
        "Q085"
      ]
    },
    {
      "path": "reading-notes/guide-12.html",
      "title": "怎样证明 Agent 优化有效",
      "terms_found": [
        "passk",
        "stats",
        "trace",
        "calibration",
        "json"
      ],
      "worked_examples": [
        "Q091"
      ]
    },
    {
      "path": "reading-notes/lab-01.html",
      "title": "教学 BPE：字符怎样合并成 Token",
      "terms_found": [],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-02.html",
      "title": "手算注意力与因果掩码",
      "terms_found": [
        "sqrt",
        "temperature"
      ],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-03.html",
      "title": "KV缓存估算与前缀复用",
      "terms_found": [
        "cache"
      ],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-04.html",
      "title": "RRF与检索指标",
      "terms_found": [
        "rrf",
        "metrics"
      ],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-05.html",
      "title": "压缩保真：状态与否定不能丢",
      "terms_found": [
        "compaction",
        "patch",
        "calibration"
      ],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-06.html",
      "title": "记忆范围、版本、过期与冲突",
      "terms_found": [
        "oauth"
      ],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-07.html",
      "title": "模型提议与程序执行分离",
      "terms_found": [
        "oauth",
        "idempotent",
        "patch"
      ],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-08.html",
      "title": "成功率、配对比较与真实成本口径",
      "terms_found": [
        "passk",
        "bootstrap"
      ],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-09.html",
      "title": "从契约到补丁与反例测试",
      "terms_found": [],
      "worked_examples": []
    },
    {
      "path": "reading-notes/lab-10.html",
      "title": "并行Trace：墙钟与操作总量不同",
      "terms_found": [
        "sse",
        "trace"
      ],
      "worked_examples": []
    },
    {
      "path": "studies/chapters/01.html",
      "title": "01｜文本怎样成为概率：Tokenizer、模板、目标函数与梯度",
      "terms_found": [
        "sum",
        "heads",
        "rope",
        "gradient",
        "loss",
        "labels",
        "sft",
        "dtypes",
        "cache",
        "prefill",
        "api",
        "schema",
        "stats",
        "json"
      ],
      "worked_examples": [
        "S01"
      ]
    },
    {
      "path": "studies/chapters/02.html",
      "title": "02｜进入Decoder：张量形状、RoPE、GQA与KV缓存的正确性",
      "terms_found": [
        "q-projection",
        "qkv",
        "wout",
        "transpose",
        "elementwise",
        "sigmoid",
        "swiglu",
        "ffn",
        "norm",
        "norm-params",
        "residual",
        "sqrt",
        "heads",
        "rope",
        "lora",
        "quantization",
        "cache",
        "prefill",
        "cosine",
        "sigma",
        "concat",
        "dropout"
      ],
      "worked_examples": [
        "S02"
      ]
    },
    {
      "path": "studies/chapters/03.html",
      "title": "03｜训练系统内部：数据、优化器、显存与分布式代价",
      "terms_found": [
        "heads",
        "rope",
        "moe",
        "loss",
        "optimizer",
        "quantization",
        "dtypes",
        "mixed",
        "checkpoint",
        "cache",
        "prefill",
        "parallel",
        "batchnorm"
      ],
      "worked_examples": [
        "S03",
        "X05"
      ]
    },
    {
      "path": "studies/chapters/04.html",
      "title": "04｜后训练与推理模型：从偏好目标到可验证能力",
      "terms_found": [
        "gradient",
        "beta-policy",
        "sft",
        "rlhf",
        "dpo",
        "ppo",
        "kl",
        "speculative",
        "schema",
        "cosine",
        "sigma",
        "probability-symbols"
      ],
      "worked_examples": [
        "S04"
      ]
    },
    {
      "path": "studies/chapters/05.html",
      "title": "05｜输出怎样被选中：采样、推测解码与停止条件",
      "terms_found": [
        "bias",
        "sum",
        "residual",
        "flash",
        "topk",
        "speculative",
        "api",
        "schema",
        "sse",
        "bos-eos",
        "json"
      ],
      "worked_examples": [
        "S05"
      ]
    },
    {
      "path": "studies/chapters/06.html",
      "title": "06｜推理服务的真实瓶颈：内存、FlashAttention、分页与调度",
      "terms_found": [
        "sum",
        "transpose",
        "sqrt",
        "quantization",
        "cache",
        "prefill",
        "flash",
        "paged",
        "memory-hardware",
        "flops",
        "speculative",
        "sse",
        "latency",
        "slo",
        "little",
        "dropout"
      ],
      "worked_examples": [
        "S06"
      ]
    },
    {
      "path": "studies/chapters/07.html",
      "title": "07｜模型接口内部：消息、输出项、SSE与工具调用协议",
      "terms_found": [
        "flash",
        "harness",
        "api",
        "schema",
        "sse",
        "identifiers",
        "unknown",
        "idempotent",
        "skills",
        "concat",
        "json",
        "linebreak"
      ],
      "worked_examples": [
        "S07"
      ]
    },
    {
      "path": "studies/chapters/08.html",
      "title": "08｜Harness内部：决策、执行、持久化与崩溃恢复",
      "terms_found": [
        "harness",
        "api",
        "sse",
        "unknown",
        "idempotent",
        "cas",
        "transaction",
        "wal",
        "version-tools",
        "databases"
      ],
      "worked_examples": [
        "S08"
      ]
    },
    {
      "path": "studies/chapters/09.html",
      "title": "09｜Codex源码追踪：从仓库规则到历史、循环和压缩",
      "terms_found": [
        "harness",
        "schema",
        "sse",
        "mcp",
        "compaction",
        "concat",
        "tool-objects"
      ],
      "worked_examples": [
        "S09"
      ]
    },
    {
      "path": "studies/chapters/10.html",
      "title": "10｜Claude Code与Copilot：公开机制、可验证行为与未知内部",
      "terms_found": [
        "checkpoint",
        "mcp",
        "context",
        "unknown",
        "json",
        "interface-environment"
      ],
      "worked_examples": [
        "S10"
      ]
    },
    {
      "path": "studies/chapters/11.html",
      "title": "11｜上下文编译器：信息选择、依赖闭包与预算",
      "terms_found": [
        "sum",
        "mcp",
        "context",
        "skills",
        "calibration"
      ],
      "worked_examples": [
        "S11"
      ]
    },
    {
      "path": "studies/chapters/12.html",
      "title": "12｜压缩的深层问题：有损状态、证据恢复与继续执行",
      "terms_found": [
        "sum",
        "checkpoint",
        "context",
        "unknown",
        "bm25",
        "ann"
      ],
      "worked_examples": [
        "S12"
      ]
    },
    {
      "path": "studies/chapters/13.html",
      "title": "13｜检索系统内部：BM25、向量、ANN、融合与索引新鲜度",
      "terms_found": [
        "sum",
        "quantization",
        "topk",
        "context",
        "tfidf",
        "bm25",
        "rrf",
        "cosine",
        "ann",
        "colbert",
        "rag",
        "hyde",
        "astlsp",
        "metrics"
      ],
      "worked_examples": [
        "S13",
        "X09"
      ]
    },
    {
      "path": "studies/chapters/14.html",
      "title": "14｜代码智能内部：AST、LSP、依赖图与版本化证据",
      "terms_found": [
        "bm25",
        "ann",
        "rag",
        "astlsp",
        "ttl",
        "interface-environment"
      ],
      "worked_examples": [
        "S14"
      ]
    },
    {
      "path": "studies/chapters/15.html",
      "title": "15｜记忆系统内部：双时间、冲突、来源与有用的遗忘",
      "terms_found": [
        "checkpoint",
        "astlsp",
        "ttl",
        "memory-types",
        "security",
        "databases"
      ],
      "worked_examples": [
        "S15"
      ]
    },
    {
      "path": "studies/chapters/16.html",
      "title": "16｜Skills、工具与模型路由：专业能力如何真正进入任务",
      "terms_found": [
        "unknown",
        "idempotent",
        "ttl",
        "dag",
        "interface-environment"
      ],
      "worked_examples": [
        "S16"
      ]
    },
    {
      "path": "studies/chapters/17.html",
      "title": "17｜多Agent内部：DAG、上下文交接、并发冲突与相关错误",
      "terms_found": [
        "api",
        "unknown",
        "cas",
        "dag"
      ],
      "worked_examples": [
        "S17"
      ]
    },
    {
      "path": "studies/chapters/18.html",
      "title": "18｜工程质量的核心：契约、测试、反例、Review与交付证据",
      "terms_found": [
        "rope",
        "cache",
        "harness",
        "dag"
      ],
      "worked_examples": [
        "S18"
      ]
    },
    {
      "path": "studies/chapters/19.html",
      "title": "19｜高级评测：配对实验、可靠性、因果归因与判分偏差",
      "terms_found": [
        "mcp",
        "skills",
        "passk",
        "bootstrap",
        "stats",
        "security",
        "calibration",
        "combination"
      ],
      "worked_examples": [
        "S19"
      ]
    },
    {
      "path": "studies/chapters/20.html",
      "title": "20｜安全内部：可信边界、MCP授权、沙箱与副作用控制",
      "terms_found": [
        "api",
        "mcp",
        "oauth",
        "unknown",
        "idempotent",
        "cas",
        "trace",
        "security"
      ],
      "worked_examples": [
        "S20"
      ]
    },
    {
      "path": "studies/chapters/21.html",
      "title": "21｜生产可观测性与可靠运行：Trace、队列、取消和恢复",
      "terms_found": [
        "api",
        "schema",
        "mcp",
        "idempotent",
        "backoff",
        "trace",
        "slo"
      ],
      "worked_examples": [
        "S21"
      ]
    },
    {
      "path": "studies/chapters/22.html",
      "title": "22｜成本与性能决策：每个成功任务，而不是每个Token",
      "terms_found": [
        "quantization",
        "trace"
      ],
      "worked_examples": [
        "S22"
      ]
    },
    {
      "path": "studies/chapters/23.html",
      "title": "23｜微调、量化与蒸馏：改变模型，还是改变输入系统",
      "terms_found": [
        "projection",
        "lora",
        "quantization",
        "mixed",
        "harness",
        "schema",
        "calibration"
      ],
      "worked_examples": [
        "S23"
      ]
    },
    {
      "path": "studies/chapters/24.html",
      "title": "24｜多模态与计算机操作：表示、定位、观察—行动闭环",
      "terms_found": [
        "quantization",
        "api",
        "unknown",
        "idempotent",
        "calibration",
        "interface-environment",
        "pixels"
      ],
      "worked_examples": [
        "S24"
      ]
    },
    {
      "path": "studies/chapters/25.html",
      "title": "25｜可信答案与可解释性：校准、拒答、证据与因果干预",
      "terms_found": [
        "residual",
        "api",
        "rag",
        "trace",
        "sae",
        "calibration"
      ],
      "worked_examples": [
        "S25"
      ]
    },
    {
      "path": "studies/chapters/26.html",
      "title": "26｜高级研究分支：架构、搜索、RAG与记忆方法的选择逻辑",
      "terms_found": [
        "sum",
        "heads",
        "moe",
        "lora",
        "colbert",
        "rag",
        "hyde",
        "graphrag",
        "ttl",
        "memory-types",
        "calibration",
        "pixels",
        "mla"
      ],
      "worked_examples": [
        "S26"
      ]
    },
    {
      "path": "studies/chapters/27.html",
      "title": "27｜贯穿案例：修复exclude，从原始失败到可恢复交付",
      "terms_found": [
        "harness",
        "api",
        "jsonrpc",
        "unknown",
        "cas",
        "rag",
        "astlsp",
        "patch",
        "json",
        "databases"
      ],
      "worked_examples": [
        "S27"
      ]
    },
    {
      "path": "studies/chapters/28.html",
      "title": "28｜深度应用蓝图：企业问答、仓库诊断、研究与受控自动化",
      "terms_found": [
        "oauth",
        "unknown",
        "astlsp"
      ],
      "worked_examples": [
        "S28"
      ]
    },
    {
      "path": "studies/chapters/29.html",
      "title": "29｜故障诊断手册：从现象到最小有效修复",
      "terms_found": [
        "harness",
        "api",
        "unknown",
        "idempotent",
        "trace"
      ],
      "worked_examples": [
        "S29"
      ]
    },
    {
      "path": "studies/chapters/30.html",
      "title": "30｜资深能力验收：开放题、参考答案与毕业项目",
      "terms_found": [
        "heads",
        "rope",
        "sft",
        "dpo",
        "cache",
        "prefill",
        "unknown",
        "idempotent",
        "bm25",
        "ann",
        "ttl",
        "metrics",
        "trace"
      ],
      "worked_examples": [
        "S30"
      ]
    },
    {
      "path": "studies/chapters/31.html",
      "title": "31｜推导附章：注意力反向传播与可训练检索",
      "terms_found": [
        "qkv",
        "sum",
        "transpose",
        "elementwise",
        "silu",
        "swiglu",
        "norm",
        "norm-params",
        "residual",
        "sqrt",
        "rope",
        "gradient",
        "jacobian",
        "loss",
        "temperature",
        "cosine",
        "stats",
        "sigma",
        "upstream"
      ],
      "worked_examples": [
        "S31",
        "X08"
      ]
    },
    {
      "path": "walkthroughs/a.html",
      "title": "全程拆解A｜一次输入怎样变成三个输出Token",
      "terms_found": [
        "q-projection",
        "k-projection",
        "v-projection",
        "qkv",
        "wo",
        "sum",
        "transpose",
        "relu",
        "swiglu",
        "ffn",
        "norm",
        "residual",
        "sqrt",
        "heads",
        "rope",
        "cache",
        "prefill",
        "flash",
        "topk",
        "sigma",
        "concat",
        "dropout",
        "bos-eos",
        "mla"
      ],
      "worked_examples": []
    },
    {
      "path": "walkthroughs/b.html",
      "title": "全程拆解B｜一次仓库修复的每轮输入、输出、工具和恢复",
      "terms_found": [
        "checkpoint",
        "harness",
        "api",
        "schema",
        "identifiers",
        "mcp",
        "oauth",
        "unknown",
        "idempotent",
        "patch",
        "json"
      ],
      "worked_examples": []
    },
    {
      "path": "walkthroughs/c.html",
      "title": "全程拆解C｜从文档入库到检索、回答、记忆更新和遗忘",
      "terms_found": [
        "sum",
        "checkpoint",
        "oauth",
        "bm25",
        "rrf",
        "rag",
        "pixels"
      ],
      "worked_examples": []
    },
    {
      "path": "walkthroughs/d.html",
      "title": "全程拆解D｜一次“变慢且变差”的Agent回归怎样查到根因",
      "terms_found": [
        "checkpoint",
        "prefill",
        "api",
        "schema",
        "unknown",
        "idempotent",
        "dag",
        "trace"
      ],
      "worked_examples": []
    }
  ],
  "placements": [
    {
      "page": "chapters/01.html",
      "concept": "wout",
      "anchor": "concept-intro-1",
      "before": "进入第1层后，“bank”在“river bank”和“bank account”中的向量可逐渐体现不同上下文。到最后一层，每个位置得到一个 d 维隐藏状态。它仍不是一段可直接读懂"
    },
    {
      "page": "chapters/01.html",
      "concept": "schema",
      "anchor": "concept-intro-2",
      "before": "第三步发生在服务端或本地模型适配器。结构化消息必须转为模型训练时能识别的序列。开放模型可以用聊天模板渲染成类似“用户开始标记—正文—结束标记—助手开始标记”；商业服务还可能加入客户"
    },
    {
      "page": "chapters/01.html",
      "concept": "oauth",
      "anchor": "concept-intro-3",
      "before": "在执行控制面，工具调用被宿主转换成真实API或系统调用。这里才有文件系统访问权、 OAuth 范围、租户身份、沙箱目录和审批。即使模型输出 {\"path\":\"/private/ke"
    },
    {
      "page": "chapters/01.html",
      "concept": "patch",
      "anchor": "concept-intro-4",
      "before": "worked-Q001"
    },
    {
      "page": "chapters/02.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "进入深读前的小检查： 先手算q=[1,0]与两行K的分数，再用V=[[10,0],[0,20]]算结果。不要把Q、K、V当三种独立输入文本。"
    },
    {
      "page": "chapters/02.html",
      "concept": "wout",
      "anchor": "concept-intro-2",
      "before": "对每一层，先把当前隐藏状态归一化，再投影出Q/K/V；加入位置机制和可见性约束，计算注意力并混合 Value ；经输出投影后加回残差；再经过归一化与前馈网络，加第二次残差。重复各层"
    },
    {
      "page": "chapters/02.html",
      "concept": "heads",
      "anchor": "concept-intro-2",
      "before": "对每一层，先把当前隐藏状态归一化，再投影出Q/K/V；加入位置机制和可见性约束，计算注意力并混合 Value ；经输出投影后加回残差；再经过归一化与前馈网络，加第二次残差。重复各层"
    },
    {
      "page": "chapters/02.html",
      "concept": "sum",
      "anchor": "concept-intro-3",
      "before": "设 qi,ki 独立、均值0、方差1，且各维独立，则 E[qi ki]=0 ， Var(qi ki)=1 。点积 S=Σi qi ki 有 Var(S)=d ，标准差为 √d 。所"
    },
    {
      "page": "chapters/02.html",
      "concept": "elementwise",
      "anchor": "concept-intro-4",
      "before": "普通两层FFN可以写为 σ(XW1+b1)W2+b2 ：先升维，再非线性，再降回d。SwiGLU形式可写为 (SiLU(XWg) ⊙ XWu)Wd ，乘法门控控制哪些特征通过。它对"
    },
    {
      "page": "chapters/02.html",
      "concept": "silu",
      "anchor": "concept-intro-4",
      "before": "普通两层FFN可以写为 σ(XW1+b1)W2+b2 ：先升维，再非线性，再降回d。SwiGLU形式可写为 (SiLU(XWg) ⊙ XWu)Wd ，乘法门控控制哪些特征通过。它对"
    },
    {
      "page": "chapters/02.html",
      "concept": "swiglu",
      "anchor": "concept-intro-5",
      "before": "本章以教学用的decoder-only、 pre-norm 结构为主。2017年原论文是encoder-decoder架构； RMSNorm 、 RoPE 与 SwiGLU 是后来"
    },
    {
      "page": "chapters/02.html",
      "concept": "norm",
      "anchor": "concept-intro-5",
      "before": "本章以教学用的decoder-only、 pre-norm 结构为主。2017年原论文是encoder-decoder架构； RMSNorm 、 RoPE 与 SwiGLU 是后来"
    },
    {
      "page": "chapters/02.html",
      "concept": "prenorm",
      "anchor": "concept-intro-5",
      "before": "本章以教学用的decoder-only、 pre-norm 结构为主。2017年原论文是encoder-decoder架构； RMSNorm 、 RoPE 与 SwiGLU 是后来"
    },
    {
      "page": "chapters/02.html",
      "concept": "moe",
      "anchor": "concept-intro-6",
      "before": "参数量也能看出FFN不是小附件。忽略bias，MHA四个d×d投影约 4d² 参数；若普通FFN中间维度为4d，两次投影约 8d² 。SwiGLU若中间维度m，则三矩阵约 3dm "
    },
    {
      "page": "chapters/02.html",
      "concept": "gradient",
      "anchor": "concept-intro-7",
      "before": "在这个结构里，残差主路中的X没有被直接替换为注意力输出，模型学习的是在现有表示上增加什么。反向传播时， ∂U/∂X 包含恒等项I，梯度可以沿较直接路径传回；这缓解深层优化困难，但整"
    },
    {
      "page": "chapters/02.html",
      "concept": "jacobian",
      "anchor": "concept-intro-7",
      "before": "在这个结构里，残差主路中的X没有被直接替换为注意力输出，模型学习的是在现有表示上增加什么。反向传播时， ∂U/∂X 包含恒等项I，梯度可以沿较直接路径传回；这缓解深层优化困难，但整"
    },
    {
      "page": "chapters/03.html",
      "concept": "q-projection",
      "anchor": "concept-intro-1",
      "before": "对象 MHA GQA（8 KV头） MQA Wq输出宽度 4096 4096 4096 Wk/Wv各自输出宽度 4096 1024 128 单层K缓存 [B,32,T,128] ["
    },
    {
      "page": "chapters/03.html",
      "concept": "k-projection",
      "anchor": "concept-intro-1",
      "before": "对象 MHA GQA（8 KV头） MQA Wq输出宽度 4096 4096 4096 Wk/Wv各自输出宽度 4096 1024 128 单层K缓存 [B,32,T,128] ["
    },
    {
      "page": "chapters/03.html",
      "concept": "v-projection",
      "anchor": "concept-intro-1",
      "before": "对象 MHA GQA（8 KV头） MQA Wq输出宽度 4096 4096 4096 Wk/Wv各自输出宽度 4096 1024 128 单层K缓存 [B,32,T,128] ["
    },
    {
      "page": "chapters/03.html",
      "concept": "qkv",
      "anchor": "concept-intro-2",
      "before": "worked-X06"
    },
    {
      "page": "chapters/03.html",
      "concept": "elementwise",
      "anchor": "concept-intro-3",
      "before": "ds = a ⊙ (g − sum(a ⊙ g))"
    },
    {
      "page": "chapters/03.html",
      "concept": "dk",
      "anchor": "concept-intro-4",
      "before": "设隐藏维度4096，查询头H=32，每头Dh=128。MHA有32个KV头；GQA假设只有8个KV头；MQA只有1个。忽略bias时："
    },
    {
      "page": "chapters/03.html",
      "concept": "heads",
      "anchor": "concept-intro-5",
      "before": "MHA 通常每个Q头有对应K/V头； MQA 让多个Q头共享一组K/V； GQA 在两者之间，让一组Q头共享一个K/V头。主要减少K/V投影输出和缓存量，不等于所有查询头变成同一注"
    },
    {
      "page": "chapters/03.html",
      "concept": "gradient",
      "anchor": "concept-intro-6",
      "before": "定义 S=QKᵀ/√d 、 A=softmax(S) 、 O=AV ，设上游梯度 G=∂L/∂O 。先对最后一步矩阵乘法："
    },
    {
      "page": "chapters/03.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-7",
      "before": "不能只改头数。参数形状、权重组合和学习到的功能会变化。GQA论文研究了从多头检查点转换并继续训练的方式；这不是修改一个配置就获得等价模型。模型部署必须匹配权重与架构。"
    },
    {
      "page": "chapters/04.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "生成时所有模型层仍要执行。KV缓存省的是旧位置的重复计算，不是新Token只经过最后一层。每个新位置在第l层都有自己的Q/K/V，并从该层历史缓存读取信息。"
    },
    {
      "page": "chapters/04.html",
      "concept": "labels",
      "anchor": "concept-intro-2",
      "before": "训练使用真实前缀进行teacher forcing，位置i的目标已知，可以同时计算不同位置的条件概率。推理时使用自己生成的前缀，前一个选择会改变后续输入。这也是训练分布与生成分布可"
    },
    {
      "page": "chapters/04.html",
      "concept": "topk",
      "anchor": "concept-intro-3",
      "before": "模型先给词表logits，解码策略再把它们变成候选分布并选择Token。温度缩放尖锐程度， Top-k 限制候选数量， Top-p 限制高概率候选的累计概率范围。它们影响探索和多样"
    },
    {
      "page": "chapters/04.html",
      "concept": "identifiers",
      "anchor": "concept-intro-4",
      "before": "第三层是工具交接。模型生成一个完整调用项后，当前推理可能暂停，把控制交给宿主。工具完成后追加结果，再发起下一次推理。它是一个循环中的阶段完成，不是用户任务完成。返回 call_id"
    },
    {
      "page": "chapters/05.html",
      "concept": "gradient",
      "anchor": "concept-intro-1",
      "before": "设最终隐藏状态为h，输出矩阵为W， z=hW 。对 softmax 交叉熵， ∂ℓ/∂z = p−one_hot(y) 。如果正确类别概率太低，该类别logit的梯度为负；梯度下降"
    },
    {
      "page": "chapters/05.html",
      "concept": "optimizer",
      "anchor": "concept-intro-2",
      "before": "训练要先定义“希望预测什么”，才有误差和更新方向。梯度是参数小变化对损失的局部影响；Adam保存过去梯度的统计，模型参数、激活、优化器状态是不同存储对象。"
    },
    {
      "page": "chapters/05.html",
      "concept": "rlhf",
      "anchor": "concept-intro-3",
      "before": "模型在位置i读取不超过i的前缀，输出位置i+1的分布；训练代码把 logits 与右移一位的真实 Token 对齐。所有已知前缀能在一次前向中并行处理，因果mask阻止偷看未来。模"
    },
    {
      "page": "chapters/05.html",
      "concept": "lora",
      "anchor": "concept-intro-4",
      "before": "不是。量化通常主要改变底座权重存储，反向激活、适配器、优化器、量化scale和临时反量化计算仍占内存。 QLoRA 冻结量化底座、训练低秩适配器，因此不是任意4bit权重都可以直接"
    },
    {
      "page": "chapters/05.html",
      "concept": "mixed",
      "anchor": "concept-intro-5",
      "before": "平方、除法是逐元素操作。m平滑梯度方向，v估计梯度平方的尺度，偏差修正处理初始状态为零造成的偏差。权重衰减项没有先混入g再被v缩放，因此不同于一般情形下“把L2惩罚加进 Adam "
    },
    {
      "page": "chapters/05.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-6",
      "before": "继续同一条训练轨迹通常还要恢复优化器m/v、学习率调度器、步数、数据采样位置及随机状态；分布式训练还涉及分片与全局进度。只加载权重可以启动新的优化过程，但不等于无缝续训。推理部署一"
    },
    {
      "page": "chapters/05.html",
      "concept": "parallel",
      "anchor": "concept-intro-7",
      "before": "参数/梯度/优化器分片解决跨设备的冗余； tensor parallel切分层内矩阵计算；pipeline parallel按层拆分；data parallel处理不同样本后同步梯"
    },
    {
      "page": "chapters/06.html",
      "concept": "sigmoid",
      "anchor": "concept-intro-1",
      "before": "Δ = [log πθ(y⁺|x) − log πref(y⁺|x)]\n  − [log πθ(y⁻|x) − log πref(y⁻|x)]\nL = −log sigmoid(β"
    },
    {
      "page": "chapters/06.html",
      "concept": "beta-policy",
      "anchor": "concept-intro-1",
      "before": "Δ = [log πθ(y⁺|x) − log πref(y⁺|x)]\n  − [log πθ(y⁻|x) − log πref(y⁻|x)]\nL = −log sigmoid(β"
    },
    {
      "page": "chapters/06.html",
      "concept": "moe",
      "anchor": "concept-intro-2",
      "before": "MoE 在某些层把一个 FFN 替换为多个专家网络，对每个Token用路由器选择少量专家计算，再按权重合并结果。通常 attention 等共享部分仍会执行。总参数决定存储与容量，"
    },
    {
      "page": "chapters/06.html",
      "concept": "rlhf",
      "anchor": "concept-intro-3",
      "before": "SFT 用目标回答做监督学习； RLHF 通常学习或使用奖励信号，再优化策略； DPO 直接从同一问题下偏好回答对构造训练目标，不必在每个训练步骤运行完整的在线强化学习循环。它们优"
    },
    {
      "page": "chapters/06.html",
      "concept": "ppo",
      "anchor": "concept-intro-4",
      "before": "当任务结果可验证时，可以对模型生成的解答轨迹给予奖励，鼓励更有效的多步推理。 PPO 是一类受约束的策略更新方法； GRPO 使用一组候选的相对奖励构建优势估计，减少对单独价值模型"
    },
    {
      "page": "chapters/06.html",
      "concept": "lora",
      "anchor": "concept-intro-5",
      "before": "SFT提供目标答案，偏好训练比较回答，强化学习用奖励改善策略。低秩、量化和专家结构讨论参数怎样组织与计算，不是把知识库加入上下文。"
    },
    {
      "page": "chapters/06.html",
      "concept": "flops",
      "anchor": "concept-intro-6",
      "before": "负载均衡并不等于语义均衡。训练会用辅助目标、容量限制或其他机制减少拥塞，但每种做法都有代价：丢弃超额Token可能损害质量，过强均衡可能干扰最佳专家选择，通信也可能吞掉理论节省的 "
    },
    {
      "page": "chapters/06.html",
      "concept": "schema",
      "anchor": "concept-intro-7",
      "before": "worked-Q024"
    },
    {
      "page": "chapters/07.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "worked-Q025"
    },
    {
      "page": "chapters/07.html",
      "concept": "wo",
      "anchor": "concept-intro-2",
      "before": "生成新Token时，它在第l层先得到该层归一化状态，计算 q_new,k_new,v_new ，把新的K/V附加到该层缓存，执行 q_new @ K_allᵀ 、 softmax "
    },
    {
      "page": "chapters/07.html",
      "concept": "sum",
      "anchor": "concept-intro-3",
      "before": "m = max(s_j)\nl = Σ exp(s_j−m)\nu = Σ exp(s_j−m) v_j\n最终输出 o = u/l"
    },
    {
      "page": "chapters/07.html",
      "concept": "dk",
      "anchor": "concept-intro-4",
      "before": "若只保存最顶层K/V，下一Token在底层找不到所需历史表示。若保存旧Q，没有K/V，旧Q也不能让新位置恢复历史内容。常见缓存布局为K/V各 [B,H_kv,T,Dh] ，内核可能"
    },
    {
      "page": "chapters/07.html",
      "concept": "heads",
      "anchor": "concept-intro-5",
      "before": "worked-Q026"
    },
    {
      "page": "chapters/07.html",
      "concept": "lora",
      "anchor": "concept-intro-6",
      "before": "实数数学上等价，浮点加法次序、累加精度和内核融合会造成微小误差。“exact attention”主要是区别于稀疏/低秩近似，不是保证不同硬件逐bit一致。验证应设置合理数值容差，"
    },
    {
      "page": "chapters/07.html",
      "concept": "flash",
      "anchor": "concept-intro-7",
      "before": "缓存保留可复用的旧计算；FlashAttention减少中间数据搬运；分页缓存改变存储管理。三者都可能改善效率，但不是同一个算法，更不能都理解为压缩语义。"
    },
    {
      "page": "chapters/07.html",
      "concept": "paged",
      "anchor": "concept-intro-7",
      "before": "缓存保留可复用的旧计算；FlashAttention减少中间数据搬运；分页缓存改变存储管理。三者都可能改善效率，但不是同一个算法，更不能都理解为压缩语义。"
    },
    {
      "page": "chapters/07.html",
      "concept": "schema",
      "anchor": "concept-intro-8",
      "before": "在相同权重、模板、位置与运行约束下，第0至99个Token对应的缓存仍可能复用；第100个及其后继依赖已改变，需要重算。这里说的是模型实际Token前缀，不是人眼看到的相同字符。更"
    },
    {
      "page": "chapters/08.html",
      "concept": "memory-hardware",
      "anchor": "concept-intro-1",
      "before": "Roofline的简化估算：给F次浮点操作、R字节内存传输、设备有效算力C和带宽B，则时间不低于 max(F/C,R/B) 。如果算术强度 F/R 小于硬件C/B，更可能受带宽约束"
    },
    {
      "page": "chapters/08.html",
      "concept": "parallel",
      "anchor": "concept-intro-2",
      "before": "Data Parallel复制模型处理不同数据； Tensor Parallel拆层内张量计算；Pipeline Parallel按层分段； ZeRO 类技术拆分训练状态冗余；Pr"
    },
    {
      "page": "chapters/08.html",
      "concept": "topk",
      "anchor": "concept-intro-3",
      "before": "接受与残差公式必须对应实际希望采样的目标分布，以及实际草稿分布。若目标已应用 Top-p 但比值还使用原始 softmax ，就可能破坏分布一致性。贪心推测有相应更简单的匹配规则，"
    },
    {
      "page": "chapters/08.html",
      "concept": "latency",
      "anchor": "concept-intro-4",
      "before": "不一定。更大batch可能提高总Token/s，但增加排队与每步等待。在线交互通常重视 TTFT 和Token间隔的尾分位数；离线批处理更重视单位成本和总吞吐。必须先确定服务目标，"
    },
    {
      "page": "chapters/09.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "worked-Q034"
    },
    {
      "page": "chapters/09.html",
      "concept": "identifiers",
      "anchor": "concept-intro-2",
      "before": "有状态风格可能发送 previous_response_id + 新工具结果 ，服务端恢复必要上下文。它降低的是显式传输与状态管理负担，不意味着全部旧历史无限进入模型。服务仍可能截"
    },
    {
      "page": "chapters/09.html",
      "concept": "threadturn",
      "anchor": "concept-intro-3",
      "before": "Task: 目标、约束、完成条件、总体状态\nTurn: 一次用户推进或运行阶段\nModelCall: 本轮输入版本、输出项、使用量\nToolCall: 调用ID、参数、授权、执行状"
    },
    {
      "page": "chapters/10.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "开发者注册 read_file(path,start_line,end_line) ，为path注明只接受仓库内相对路径，为行号注明一基、包含端点。 Harness 把支持的 sc"
    },
    {
      "page": "chapters/10.html",
      "concept": "sse",
      "anchor": "concept-intro-2",
      "before": "网络chunk、 UTF-8 字符、 SSE 事件、JSON对象和模型调用项边界不同。应逐层增量解析，累积同一调用的参数，收到明确完成状态且通过验证后再执行。连接结束不一定意味着生"
    },
    {
      "page": "chapters/10.html",
      "concept": "identifiers",
      "anchor": "concept-intro-3",
      "before": "{\"type\":\"function_call\",\"name\":\"read_file\",\"call_id\":\"c7\",\n \"arguments\":\"{\\\"path\\\":\\\"src/f"
    },
    {
      "page": "chapters/11.html",
      "concept": "dk",
      "anchor": "concept-intro-1",
      "before": "写工具同样有取舍。 replace_entire_file 简单但容易覆盖他人修改； apply_patch 可表达局部改动，但旧片段不唯一时可能匹配错误；带 expected_v"
    },
    {
      "page": "chapters/11.html",
      "concept": "patch",
      "anchor": "concept-intro-1",
      "before": "写工具同样有取舍。 replace_entire_file 简单但容易覆盖他人修改； apply_patch 可表达局部改动，但旧片段不唯一时可能匹配错误；带 expected_v"
    },
    {
      "page": "chapters/11.html",
      "concept": "schema",
      "anchor": "concept-intro-2",
      "before": "进入深读前的小检查： 用“可以连接日历，但只能读取不能写入”解释transport、tool schema、authorization和execution的不同责任。"
    },
    {
      "page": "chapters/11.html",
      "concept": "identifiers",
      "anchor": "concept-intro-3",
      "before": "Server返回result或协议error。Host再把内容转换为模型工具结果，关联模型侧call_id。MCP的 JSON -RPC id与模型侧call_id属于不同协议层，"
    },
    {
      "page": "chapters/11.html",
      "concept": "jsonrpc",
      "anchor": "concept-intro-4",
      "before": "worked-Q042"
    },
    {
      "page": "chapters/12.html",
      "concept": "dk",
      "anchor": "concept-intro-1",
      "before": "压缩路径在 compact.rs 中克隆历史、准备模型输入、处理流完成或错误；成功后收集用户消息与摘要，构建压缩历史，重建world- state 相关上下文，再调用 replac"
    },
    {
      "page": "chapters/12.html",
      "concept": "schema",
      "anchor": "concept-intro-2",
      "before": "在本书检查的Codex提交 ce0323f2f2d3b25e82806cd555237da3db4e1897 中，ToolRouter区分注册表、模型可见 schema 与不同暴露"
    },
    {
      "page": "chapters/12.html",
      "concept": "identifiers",
      "anchor": "concept-intro-3",
      "before": "ResponseItem\n  → build_tool_call\n  → ToolCall {tool_name, call_id, payload, ...}\n  → dispa"
    },
    {
      "page": "chapters/12.html",
      "concept": "backoff",
      "anchor": "concept-intro-3",
      "before": "ResponseItem\n  → build_tool_call\n  → ToolCall {tool_name, call_id, payload, ...}\n  → dispa"
    },
    {
      "page": "chapters/13.html",
      "concept": "identity",
      "anchor": "concept-intro-1",
      "before": "worked-Q051"
    },
    {
      "page": "chapters/13.html",
      "concept": "topk",
      "anchor": "concept-intro-2",
      "before": "一种教学选择流程是：先按任务相关性选候选；对每项展开必要依赖；去重；检查版本与权限；计算预算；不足时调整本轮范围或降低非关键项。若只独立按相似度选 Top-k ，就可能选中几个看似"
    },
    {
      "page": "chapters/13.html",
      "concept": "schema",
      "anchor": "concept-intro-3",
      "before": "接下来先放不可省的本轮目标与关键约束，再放当前必要工具 schema 、确认状态与证据。历史聊天不按“越新越重要”机械排序：一个很早提出的“不改公共 API ”可能比最新十条无用搜"
    },
    {
      "page": "chapters/13.html",
      "concept": "identifiers",
      "anchor": "concept-intro-4",
      "before": "worked-Q050"
    },
    {
      "page": "chapters/13.html",
      "concept": "skills",
      "anchor": "concept-intro-5",
      "before": "同样，技能说明写“按团队规则执行Review”，却没提供团队规则路径， JIT 加载到此仍不足。摘要说“方案B已排除”，却不保留排除依据，后续模型可能重复探索B。可以保留简短理由与"
    },
    {
      "page": "chapters/14.html",
      "concept": "identifiers",
      "anchor": "concept-intro-1",
      "before": "worked-Q054"
    },
    {
      "page": "chapters/15.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "score(q,d)=Σt∈q IDF(t) × tf(t,d)(k1+1)\n                          / [tf(t,d)+k1(1−b+b|d|/av"
    },
    {
      "page": "chapters/15.html",
      "concept": "topk",
      "anchor": "concept-intro-2",
      "before": "重叠能缓解边界断裂，但会产生重复候选，挤占 Top-k 并增加存储。大量近重复还可能让模型误认为多个独立来源共同支持结论。应评估跨边界问题和候选去重，而不是固定追求高重叠。"
    },
    {
      "page": "chapters/15.html",
      "concept": "tfidf",
      "anchor": "concept-intro-3",
      "before": "BM25 结合词的区分度、词频饱和与文档长度归一化。高频出现的查询词有帮助，但收益递减；冗长文档中重复出现不应无限压倒简短相关文档。具体IDF写法和参数由实现而定。 [BM25]"
    },
    {
      "page": "chapters/15.html",
      "concept": "bm25",
      "anchor": "concept-intro-4",
      "before": "进入深读前的小检查： 先给三篇短文建立词到文档的倒排表，再对一个查询找候选。随后再看BM25和HNSW为什么不等于完整事实判断。"
    },
    {
      "page": "chapters/15.html",
      "concept": "ann",
      "anchor": "concept-intro-4",
      "before": "进入深读前的小检查： 先给三篇短文建立词到文档的倒排表，再对一个查询找候选。随后再看BM25和HNSW为什么不等于完整事实判断。"
    },
    {
      "page": "chapters/15.html",
      "concept": "clip",
      "anchor": "concept-intro-5",
      "before": "常见稠密检索用 query encoder和document encoder产生向量，通过对比学习拉近相关对、推远负例。查询与文档可以分开编码以便离线建索引。向量相似度是训练目标下"
    },
    {
      "page": "chapters/16.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "ColBERT的简化MaxSim评分是：对每个query Token向量q_i，在文档Token向量d_j里找最大相似度，再对query Token求和： score=Σ_i ma"
    },
    {
      "page": "chapters/16.html",
      "concept": "dk",
      "anchor": "concept-intro-2",
      "before": "双塔： q→q_vec ， d→d_vec ，最后一个点积。文档预计算成本低，但许多细节已被压进单向量。Cross-encoder： [query,document]→联合模型→相"
    },
    {
      "page": "chapters/16.html",
      "concept": "topk",
      "anchor": "concept-intro-3",
      "before": "面向“整个资料集有哪些主要趋势”这种全局归纳，GraphRAG的实体关系与社区摘要可能比几个局部 Top-k 片段更合适。代价是抽取、实体消歧、关系错误、建索引成本和更新复杂度。它"
    },
    {
      "page": "chapters/16.html",
      "concept": "bm25",
      "anchor": "concept-intro-4",
      "before": "BM25 排序为A、B、C，向量排序为B、C、A。取常数k=60："
    },
    {
      "page": "chapters/16.html",
      "concept": "rrf",
      "anchor": "concept-intro-5",
      "before": "进入深读前的小检查： 给两路候选榜按名次手算RRF，说明为何分数不能简单相加，以及融合后仍要核对来源版本与完整条件。"
    },
    {
      "page": "chapters/16.html",
      "concept": "rerank",
      "anchor": "concept-intro-6",
      "before": "双塔检索把 query 和doc独立压成向量，便于全库搜索；cross-encoder把query与候选文档联合编码，能做细粒度交互，但每个候选都要计算。ColBERT保留 Tok"
    },
    {
      "page": "chapters/16.html",
      "concept": "colbert",
      "anchor": "concept-intro-6",
      "before": "双塔检索把 query 和doc独立压成向量，便于全库搜索；cross-encoder把query与候选文档联合编码，能做细粒度交互，但每个候选都要计算。ColBERT保留 Tok"
    },
    {
      "page": "chapters/16.html",
      "concept": "hyde",
      "anchor": "concept-intro-7",
      "before": "这些方法针对不同问题： HyDE 改善查询表达与文档空间的匹配； RAPTOR 构造层次摘要检索； GraphRAG 利用实体关系与社区摘要回答全局问题；Self- RAG 把检索"
    },
    {
      "page": "chapters/16.html",
      "concept": "graphrag",
      "anchor": "concept-intro-7",
      "before": "这些方法针对不同问题： HyDE 改善查询表达与文档空间的匹配； RAPTOR 构造层次摘要检索； GraphRAG 利用实体关系与社区摘要回答全局问题；Self- RAG 把检索"
    },
    {
      "page": "chapters/18.html",
      "concept": "oauth",
      "anchor": "concept-intro-1",
      "before": "写入时可使用轻量结构：subject、predicate、 value 、 scope 、valid_time、source、status。对经验再加conditions与outc"
    },
    {
      "page": "chapters/18.html",
      "concept": "ttl",
      "anchor": "concept-intro-1",
      "before": "写入时可使用轻量结构：subject、predicate、 value 、 scope 、valid_time、source、status。对经验再加conditions与outc"
    },
    {
      "page": "chapters/19.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "自然语言适合开放判断，确定性程序适合可机械验证的条件。例如文件是否存在、 schema 是否合法、命令退出码是否为零，不需要模型猜。模型适合判断哪些测试相关、证据是否支持根因，但结"
    },
    {
      "page": "chapters/20.html",
      "concept": "wal",
      "anchor": "concept-intro-1",
      "before": "worked-Q079"
    },
    {
      "page": "chapters/20.html",
      "concept": "dag",
      "anchor": "concept-intro-2",
      "before": "DAG 表示子任务依赖，只有输入已满足且资源不冲突的任务才能安全并行。总时延受关键路径、协调开销与资源竞争影响；拆分增加交接和合并成本，不会自动提高质量。"
    },
    {
      "page": "chapters/21.html",
      "concept": "identity",
      "anchor": "concept-intro-1",
      "before": "取决于重做成本和副作用风险。每个 Token 持久化通常不必要；关键阶段、昂贵计算、外部写操作前后更值得保存。频率过高增加I/O和复杂度，过低增加恢复损失。"
    },
    {
      "page": "chapters/21.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-2",
      "before": "worked-Q084"
    },
    {
      "page": "chapters/21.html",
      "concept": "cas",
      "anchor": "concept-intro-3",
      "before": "CAS 式更新要求当前版本仍等于预期版本，才应用变更；原子替换避免读者看到半个文件。它们分别解决并发覆盖与可见性问题，但不能自动让文件系统和另一个数据库成为一个原子事务。 [SQL"
    },
    {
      "page": "chapters/21.html",
      "concept": "wal",
      "anchor": "concept-intro-3",
      "before": "CAS 式更新要求当前版本仍等于预期版本，才应用变更；原子替换避免读者看到半个文件。它们分别解决并发覆盖与可见性问题，但不能自动让文件系统和另一个数据库成为一个原子事务。 [SQL"
    },
    {
      "page": "chapters/21.html",
      "concept": "transaction",
      "anchor": "concept-intro-4",
      "before": "worked-Q083"
    },
    {
      "page": "chapters/21.html",
      "concept": "outbox",
      "anchor": "concept-intro-5",
      "before": "本地事务可原子地写业务数据和outbox事件，再由工作进程发送；发送本身仍可能重复，因此接收方常需去重或幂等处理。所谓 exactly-once 通常只在明确定义的处理边界、故障模"
    },
    {
      "page": "chapters/22.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "语法测试检查 SKILL 元数据可解析、必需字段和引用文件存在。结构测试检查资源关系与工具 schema 合法。行为测试给定任务，观察是否选到必要技能、是否执行相关验证。集成测试在"
    },
    {
      "page": "chapters/23.html",
      "concept": "passk",
      "anchor": "concept-intro-1",
      "before": "pass@1看一次尝试成功； pass@k 看k次尝试至少一次成功； pass^k 强调k次均成功的可靠性。前者偏向可搜索能力，后者偏向重复运行稳定性，不能混用。 [HUMANEV"
    },
    {
      "page": "chapters/23.html",
      "concept": "stats",
      "anchor": "concept-intro-2",
      "before": "不能。在独立同分布的二项模型下，100次全成功的双侧95% Clopper–Pearson下限约为 0.025^(1/100)=0.9638 。这仍依赖抽样假设，且不代表未覆盖任务"
    },
    {
      "page": "chapters/24.html",
      "concept": "oauth",
      "anchor": "concept-intro-1",
      "before": "防御要保留来源链、写入资格和状态。外部证据可以成为候选事实，不能直接升级为执行指令；程序性规则需要更高可信依据；新旧冲突应显式处理。检索时按身份和 scope 过滤，避免另一项目经"
    },
    {
      "page": "chapters/24.html",
      "concept": "cas",
      "anchor": "concept-intro-2",
      "before": "Agent计划发布版本v3到测试环境，用户批准。执行前若分支已变化到v4或目标变为生产，原批准不应继续使用。需要把目标环境、产物版本、关键参数和有效期绑定到审批。否则会出现用户同意"
    },
    {
      "page": "chapters/25.html",
      "concept": "identity",
      "anchor": "concept-intro-1",
      "before": "worked-Q100"
    },
    {
      "page": "chapters/25.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-2",
      "before": "模型：明确版本或服务返回标识\n上下文：组装策略、模板与技能版本\n检索：语料版本、embedding版本、索引构建ID\n工具：schema版本、执行器版本、权限策略\n状态：check"
    },
    {
      "page": "chapters/25.html",
      "concept": "schema",
      "anchor": "concept-intro-3",
      "before": "最终行为由模型、提示、工具 Schema 、技能、检索索引、记忆策略、权限、运行器和评测规则共同决定。上线要保存可追溯组合，灰度观察结果；回滚必须处理已写入状态和外部副作用，而不仅"
    },
    {
      "page": "chapters/25.html",
      "concept": "dag",
      "anchor": "concept-intro-4",
      "before": "若两个工具并行，各自耗时8秒和10秒，不能把18秒直接算成这段用户等待；关键路径可能约10秒加调度成本。若跨度间存在队列等待，却只给执行函数打点，监控会显示“工具很快”而用户仍等很"
    },
    {
      "page": "chapters/25.html",
      "concept": "slo",
      "anchor": "concept-intro-5",
      "before": "并发只在资源尚有余量时帮助提高利用率；超过模型、工具、数据库或配额的容量，新增任务主要进入队列。稳定系统中Little定律 L=λW 连接平均在途任务数、平均到达率和平均停留时间，"
    },
    {
      "page": "chapters/25.html",
      "concept": "little",
      "anchor": "concept-intro-5",
      "before": "并发只在资源尚有余量时帮助提高利用率；超过模型、工具、数据库或配额的容量，新增任务主要进入队列。稳定系统中Little定律 L=λW 连接平均在途任务数、平均到达率和平均停留时间，"
    },
    {
      "page": "chapters/26.html",
      "concept": "patch",
      "anchor": "concept-intro-1",
      "before": "找到候选根因后，Agent应该能回答“哪条证据排除了其他解释”。例如匹配库本身在相对路径上正确工作，而调用者传绝对路径，才支持修复归一化入口。改动形成独立 patch ，应用时核对"
    },
    {
      "page": "chapters/27.html",
      "concept": "patch",
      "anchor": "concept-intro-1",
      "before": "一种教学架构把图像切成 patch ，每个patch转换为向量，视觉Transformer生成特征，再投影到语言侧可用维度。分辨率、裁剪和patch布局影响能保留的细节；文本太小或"
    },
    {
      "page": "chapters/27.html",
      "concept": "clip",
      "anchor": "concept-intro-2",
      "before": "常见多模态架构用视觉编码器把图像转换为特征，再经投影、交叉注意力或其他融合结构供语言模型使用；具体设计并不统一。GUI Agent在模型外还需要截图采集、坐标或元素映射、操作执行和"
    },
    {
      "page": "chapters/27.html",
      "concept": "sae",
      "anchor": "concept-intro-3",
      "before": "可解释性提供研究内部表示与因果机制的方法，但一个激活相关性、注意力权重或可读推理文本不能完整解释模型决策。需要区分观察、干预与泛化证据，避免把局部现象扩展为整个系统的完整说明。 ["
    },
    {
      "page": "chapters/28.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "GQA 通过多个 Query 头共享较少的K/V头减少缓存；MLA通过学习的低维潜在表示联合表达K/V，并对位置部分作专门设计。MLA是模型架构与训练的一部分，不是把任意现有模型的"
    },
    {
      "page": "chapters/28.html",
      "concept": "heads",
      "anchor": "concept-intro-1",
      "before": "GQA 通过多个 Query 头共享较少的K/V头减少缓存；MLA通过学习的低维潜在表示联合表达K/V，并对位置部分作专门设计。MLA是模型架构与训练的一部分，不是把任意现有模型的"
    },
    {
      "page": "chapters/28.html",
      "concept": "sum",
      "anchor": "concept-intro-2",
      "before": "Σ_j a_ij v_j,i = W_upV,i · (Σ_j a_ij c_j)"
    },
    {
      "page": "chapters/28.html",
      "concept": "swiglu",
      "anchor": "concept-intro-3",
      "before": "采用列向量约定，设某位置隐藏向量为h，先计算 c=W_down h ，c的维度d_c小于全部K/V头展开后的维度。内容 Key 和 Value 可表示为 k_i=W_upK,i c"
    },
    {
      "page": "chapters/28.html",
      "concept": "moe",
      "anchor": "concept-intro-4",
      "before": "它是特定稠密Transformer训练条件下常用的近似量级估算，忽略或简化了部分注意力、嵌入、通信等成本。长上下文、 MoE 和不同实现会改变实际成本。做容量规划要回到具体算子和硬"
    },
    {
      "page": "chapters/28.html",
      "concept": "lora",
      "anchor": "concept-intro-5",
      "before": "上述等式解释的是线性部分为什么有重排空间， 不证明低秩架构与任意完整MHA模型输出完全相同 。低秩限制需要训练适应；算子融合和缓存布局也会影响真实收益。缓存更小不自动意味着所有 b"
    },
    {
      "page": "chapters/28.html",
      "concept": "flash",
      "anchor": "concept-intro-6",
      "before": "MoE改变前馈计算的稀疏选择；MLA改变注意力表示； FlashAttention 优化注意力计算的IO与中间存储。它们解决不同瓶颈，可以出现在同一系统，也不互相等价。"
    },
    {
      "page": "chapters/28.html",
      "concept": "flops",
      "anchor": "concept-intro-7",
      "before": "worked-Q109"
    },
    {
      "page": "examples/input-representation.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "你现在不需要先理解Attention的完整公式，便能解释这一步的每个对象。下一段若直接出现Q、K、V或softmax，先走F07→F09→F11；不是靠猜缩写读下去。"
    },
    {
      "page": "foundations/02.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "x_i 读“x的第i个数”； x² 是x乘x； Σ 表示“把后面规定的一组数加起来”； ∈ 表示“属于”； R 在公式中常表示实数。 X∈R^(B×T×d) 只是“X是一份形状B、"
    },
    {
      "page": "foundations/07.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "公式 Σ_i x_i y_i 只是把上面三次乘法与加法写成通用规则。点积结果是一个标量，而不是三排数。它可以用于比较方向或产生分数，但原始点积也受向量长度影响，不能无条件说它就是纯"
    },
    {
      "page": "foundations/07.html",
      "concept": "elementwise",
      "anchor": "concept-intro-2",
      "before": "worked-F07"
    },
    {
      "page": "foundations/09.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "通用写法是 p_i = exp(z_i) / Σ_j exp(z_j) 。i指当前候选，j遍历全部候选，Σ表示求和。 分母相同，因此所有项会一起竞争比例 。"
    },
    {
      "page": "foundations/09.html",
      "concept": "topk",
      "anchor": "concept-intro-2",
      "before": "Top-k 保留前k项； Top-p 通常保留累计概率达到门槛的最小高概率候选集合，再在其中归一化采样。p是阈值而非Token数量。这些策略在生成时改变候选选择，不会让错误的矩阵计"
    },
    {
      "page": "foundations/10.html",
      "concept": "silu",
      "anchor": "concept-intro-1",
      "before": "实际Transformer常用GELU、SiLU或带门的前馈结构。先懂“为什么要有非线性”，再去读具体函数，不必在第一次遇到名字时就背全部公式。"
    },
    {
      "page": "foundations/10.html",
      "concept": "gelu",
      "anchor": "concept-intro-1",
      "before": "实际Transformer常用GELU、SiLU或带门的前馈结构。先懂“为什么要有非线性”，再去读具体函数，不必在第一次遇到名字时就背全部公式。"
    },
    {
      "page": "foundations/12.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "先把缓存理解为“之前算好的中间结果”，详细内容在F16。假设已有3个历史位置，新算2个位置。这次只有2个Query，但可以读5个Key："
    },
    {
      "page": "foundations/14.html",
      "concept": "identity",
      "anchor": "concept-intro-1",
      "before": "worked-X02"
    },
    {
      "page": "foundations/14.html",
      "concept": "sigmoid",
      "anchor": "concept-intro-2",
      "before": "SiLU(x)=x×sigmoid(x) ，其中sigmoid(x)=1/(1+exp(-x))。 SwiGLU 类门控结构用一个分支调节另一个分支，常含逐元素乘。这和矩阵乘不同，"
    },
    {
      "page": "foundations/14.html",
      "concept": "silu",
      "anchor": "concept-intro-2",
      "before": "SiLU(x)=x×sigmoid(x) ，其中sigmoid(x)=1/(1+exp(-x))。 SwiGLU 类门控结构用一个分支调节另一个分支，常含逐元素乘。这和矩阵乘不同，"
    },
    {
      "page": "foundations/14.html",
      "concept": "swiglu",
      "anchor": "concept-intro-2",
      "before": "SiLU(x)=x×sigmoid(x) ，其中sigmoid(x)=1/(1+exp(-x))。 SwiGLU 类门控结构用一个分支调节另一个分支，常含逐元素乘。这和矩阵乘不同，"
    },
    {
      "page": "foundations/14.html",
      "concept": "norm",
      "anchor": "concept-intro-3",
      "before": "RMSNorm 常用均方根 r=sqrt(mean(x_i²)+ε) 缩放，不减均值。对[1,3]，忽略ε，r=√5，结果约[0.4472,1.3416]，与LayerNorm不同"
    },
    {
      "page": "foundations/14.html",
      "concept": "norm-params",
      "anchor": "concept-intro-4",
      "before": "标准化值_i = (x_i − μ) / sqrt(σ² + ε)\n输出_i = γ_i × 标准化值_i + β_i"
    },
    {
      "page": "foundations/14.html",
      "concept": "prenorm",
      "anchor": "concept-intro-5",
      "before": "一种常见的pre-norm Decoder层可这样读：先归一化输入，再算Attention，把结果加回原输入；再归一化，经过前馈网络，再加回去。"
    },
    {
      "page": "foundations/15.html",
      "concept": "wout",
      "anchor": "concept-intro-1",
      "before": "网络处理完输入后，每个位置得到一排d个数。为了生成文字，要给词表每个候选打分。这一步叫 输出投影 或语言模型输出头。"
    },
    {
      "page": "foundations/16.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "注意力中每层为已处理Token计算K和V，后面新Query需要读取这些历史K/V。保存它们，就叫 KV Cache 。"
    },
    {
      "page": "foundations/16.html",
      "concept": "flash",
      "anchor": "concept-intro-2",
      "before": "能够解释这张表，再去读FlashAttention、分页缓存和长任务压缩，才能避免把不同层面的优化混成一件事。"
    },
    {
      "page": "foundations/16.html",
      "concept": "paged",
      "anchor": "concept-intro-2",
      "before": "能够解释这张表，再去读FlashAttention、分页缓存和长任务压缩，才能避免把不同层面的优化混成一件事。"
    },
    {
      "page": "foundations/17.html",
      "concept": "gradient",
      "anchor": "concept-intro-1",
      "before": "只有一个参数时就是导数；很多参数时，把对各参数的局部变化率排在一起叫 梯度（gradient） 。符号 ∂L/∂w 表示只改变w、其余参数暂时保持不变时损失L的变化率。"
    },
    {
      "page": "foundations/17.html",
      "concept": "optimizer",
      "anchor": "concept-intro-2",
      "before": "反向传播backpropagation 按计算依赖反向计算各参数梯度； 优化器optimizer 拿到梯度后按规则更新参数。运行 backward 并不必然已经完成参数更新。"
    },
    {
      "page": "foundations/18.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "若正确候选用 one-hot 表示，即词表长度的一排0里只有正确项为1，记作y，那么通式是 L=−Σ_i y_i ln p_i 。因为其他y_i为0，最后只留下正确项。"
    },
    {
      "page": "foundations/18.html",
      "concept": "norm",
      "anchor": "concept-intro-2",
      "before": "本节的训练记号： g是当前参数的梯度；m是梯度的滑动平均；v是平方梯度的滑动平均；β₁、β₂是设置的平滑系数；t是优化步编号；帽子记号如m̂表示经过偏差修正。这里的小写v不是Att"
    },
    {
      "page": "foundations/18.html",
      "concept": "gradient",
      "anchor": "concept-intro-3",
      "before": "对softmax前分数z的导数简化为 ∂L/∂z_i=p_i−y_i 。这解释了为什么训练会推动正确项分数提高、错误项分数下降；再经输出矩阵与各层反传到前面的参数。"
    },
    {
      "page": "foundations/18.html",
      "concept": "labels",
      "anchor": "concept-intro-4",
      "before": "a所在位置根据a预测b，b所在位置根据ab预测c，c所在位置根据abc预测d。 标签label 是本次要比较的正确答案； teacher forcing 是在训练中使用数据里的真实"
    },
    {
      "page": "foundations/18.html",
      "concept": "optimizer",
      "anchor": "concept-intro-5",
      "before": "最简单梯度下降只用当前梯度g。 Adam 还保存梯度的平滑平均m和平方梯度的平滑平均v，帮助调整各参数步幅。示意式为："
    },
    {
      "page": "foundations/19.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "给两个在相同候选集合上的分布p和q， KL散度 常写作 Σ_i p_i ln(p_i/q_i) 。它衡量p与q的差异，方向不同结果可不同。"
    },
    {
      "page": "foundations/19.html",
      "concept": "sigmoid",
      "anchor": "concept-intro-2",
      "before": "s = β × [(lnπ(w)−lnπ(l)) − (lnπref(w)−lnπref(l))]\n损失 = −ln sigmoid(s)\nsigmoid(s) = 1/(1+ex"
    },
    {
      "page": "foundations/19.html",
      "concept": "beta-policy",
      "anchor": "concept-intro-2",
      "before": "s = β × [(lnπ(w)−lnπ(l)) − (lnπref(w)−lnπref(l))]\n损失 = −ln sigmoid(s)\nsigmoid(s) = 1/(1+ex"
    },
    {
      "page": "foundations/19.html",
      "concept": "rlhf",
      "anchor": "concept-intro-3",
      "before": "PPO是一类策略优化方法，常用新旧策略概率比及裁剪等机制控制更新；RLHF某些流程会训练奖励模型和价值估计。GRPO类方法利用同一问题多个采样结果的组内比较形成优势，具体实现与奖励"
    },
    {
      "page": "foundations/19.html",
      "concept": "ppo",
      "anchor": "concept-intro-4",
      "before": "优势advantage 粗略表达某次表现比基线好多少。若一组回答奖励为[0,1,1]，平均2/3，那么相对平均值的原始差值是[-2/3,1/3,1/3]。具体算法还可能归一化或使用"
    },
    {
      "page": "foundations/19.html",
      "concept": "stats",
      "anchor": "concept-intro-5",
      "before": "worked-X04"
    },
    {
      "page": "foundations/20.html",
      "concept": "identity",
      "anchor": "concept-intro-1",
      "before": "worked-F20"
    },
    {
      "page": "foundations/20.html",
      "concept": "moe",
      "anchor": "concept-intro-2",
      "before": "MoE（混合专家） 在一些层准备多组可选择的子网络，路由器根据当前Token表示选择部分专家计算，再合并结果。例如有8个专家，每个Token只选择2个。"
    },
    {
      "page": "foundations/20.html",
      "concept": "lora",
      "anchor": "concept-intro-3",
      "before": "秩rank 粗略描述矩阵含多少个线性独立方向。上例秩为1。一般不是每张大表都能用很小秩精确表示；低秩近似会限制表示能力。"
    },
    {
      "page": "foundations/21.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "训练为求梯度可能保留激活； activation checkpointing 保存部分节点、在反向时重算其他部分，用计算换内存。KV缓存则用内存换重复推理计算。它们甚至体现相反的资"
    },
    {
      "page": "foundations/21.html",
      "concept": "flash",
      "anchor": "concept-intro-2",
      "before": "普通概念实现会显式形成很大的T×T分数或权重表。FlashAttention通过分块等方法，在计算时管理局部块和归一化统计，避免把整张中间表反复存取外部显存。"
    },
    {
      "page": "foundations/21.html",
      "concept": "flops",
      "anchor": "concept-intro-3",
      "before": "FLOP 常指一次浮点运算； FLOPS 是每秒浮点运算数量。二者差一个S，却分别是工作量与速率。一次乘加是否计为两次FLOP要看统计约定。"
    },
    {
      "page": "foundations/21.html",
      "concept": "parallel",
      "anchor": "concept-intro-4",
      "before": "方法 主要分法 你需要追踪的代价 数据并行DP 多份模型处理不同样本 训练时同步梯度等 张量并行TP 拆矩阵或算子到多个设备 层内通信与组合 流水并行PP 不同层放不同设备 阶段等"
    },
    {
      "page": "foundations/22.html",
      "concept": "threadturn",
      "anchor": "concept-intro-1",
      "before": "本书把一次模型请求及其输出叫 模型调用 。用户发一个问题到收到本次答复可称一轮用户交互；其中可能包含很多模型调用和工具执行。产品中的Turn、Step、Thread具体定义可能不同"
    },
    {
      "page": "foundations/23.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "Schema（结构约束） 可以要求path是字符串且必须提供，禁止某些额外字段。它能发现“path给成数组”之类形状错误，却不证明 demo.py 存在、当前用户有权读取、或者这真"
    },
    {
      "page": "foundations/23.html",
      "concept": "sse",
      "anchor": "concept-intro-2",
      "before": "SSE（Server-Sent Events） 是一种服务器向客户端连续发送事件的文本协议。概念上， data: 行提供数据，空行结束一条事件。实际标准还有多行字段、换行差异和其他"
    },
    {
      "page": "foundations/23.html",
      "concept": "identifiers",
      "anchor": "concept-intro-3",
      "before": "{\"name\":\"read_file\",\"arguments\":{\"path\":\"demo.py\"},\"call_id\":\"c1\"}"
    },
    {
      "page": "foundations/24.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "Checkpoint（检查点） 是可供中断后继续执行的状态保存点。对于Agent，它至少可能涉及目标、已完成步骤、当前证据版本、未决工具、验证状态和下一步。"
    },
    {
      "page": "foundations/24.html",
      "concept": "cas",
      "anchor": "concept-intro-2",
      "before": "两名执行者都读取状态version=3，随后分别写结果。若后写者直接覆盖，可能丢掉先写者的更新。版本可以帮助表达“仅当状态还是3时才接受我的修改”。这叫比较后更新的思想，F33再展"
    },
    {
      "page": "foundations/25.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "worked-F25"
    },
    {
      "page": "foundations/25.html",
      "concept": "jsonrpc",
      "anchor": "concept-intro-2",
      "before": "stdio 指通过进程标准输入输出通信；如果协议消息走stdout，普通调试日志混在其中可能破坏解析。 HTTP 是常见网络请求协议；MCP可在具体版本约定下使用适合的传输。"
    },
    {
      "page": "foundations/25.html",
      "concept": "oauth",
      "anchor": "concept-intro-3",
      "before": "OAuth scope 可以理解为一类授予访问范围的声明，但具体资源仍可能有自己的访问限制。 最小权限 要求只给完成当前任务必要的能力，而不是为了避免报错直接给全部权限。"
    },
    {
      "page": "foundations/26.html",
      "concept": "skills",
      "anchor": "concept-intro-1",
      "before": "JIT（just-in-time，按需）加载 表示在需要时才读取某段内容，而非开始就全部塞入。 依赖闭包 表示当前结论依赖的必要关联信息也要被找到，例如只读函数体不够，还需了解调用"
    },
    {
      "page": "foundations/28.html",
      "concept": "tfidf",
      "anchor": "concept-intro-1",
      "before": "TF（词频） 描述某个词在一篇文档出现多少次。 DF（文档频率） 描述多少篇文档含这个词； IDF（逆文档频率） 通常让罕见、区分度更高的词占更大权重。"
    },
    {
      "page": "foundations/28.html",
      "concept": "bm25",
      "anchor": "concept-intro-2",
      "before": "BM25把词频、稀有程度和文档长度等组合成排序分数。词频收益常有饱和：出现10次不一定是出现1次价值的10倍；较长文档也要考虑长度影响。完整公式在高级Q058逐项展开。"
    },
    {
      "page": "foundations/28.html",
      "concept": "ann",
      "anchor": "concept-intro-3",
      "before": "ANN（近似最近邻） 用额外结构减少搜索范围，牺牲一定召回以换速度。HNSW通过分层近邻图导航：先在较稀疏层跳到接近区域，再在较细层扩大候选。具体过程高级章节展开。"
    },
    {
      "page": "foundations/29.html",
      "concept": "bm25",
      "anchor": "concept-intro-1",
      "before": "直接把BM25分数8.2加到余弦0.7上不一定有意义，因为量纲和分布不同。 RRF（倒数排名融合） 按排名而不是原始分数融合。一种形式是对每条路径贡献 1/(c+排名) ，再相加。"
    },
    {
      "page": "foundations/29.html",
      "concept": "rrf",
      "anchor": "concept-intro-1",
      "before": "直接把BM25分数8.2加到余弦0.7上不一定有意义，因为量纲和分布不同。 RRF（倒数排名融合） 按排名而不是原始分数融合。一种形式是对每条路径贡献 1/(c+排名) ，再相加。"
    },
    {
      "page": "foundations/29.html",
      "concept": "rerank",
      "anchor": "concept-intro-2",
      "before": "双编码器bi-encoder 分别把查询和文档变成向量，再快速比较，可以预存文档向量。 交叉编码器cross-encoder 把查询与候选文档一起交给模型，允许更细的词项互动，但每"
    },
    {
      "page": "foundations/29.html",
      "concept": "colbert",
      "anchor": "concept-intro-3",
      "before": "ColBERT 一类方法保留多Token表示后进行细粒度交互，处在另外的计算与存储取舍点。不要只把它们按“高级程度”排顺序，要看规模、预算和任务。"
    },
    {
      "page": "foundations/29.html",
      "concept": "hyde",
      "anchor": "concept-intro-4",
      "before": "HyDE 利用生成的假设性文档帮助检索；该文档是检索辅助，不是实际证据。 RAPTOR 用分层摘要组织检索； GraphRAG 利用实体关系或社区摘要等组织跨文档信息。它们解决不同"
    },
    {
      "page": "foundations/29.html",
      "concept": "graphrag",
      "anchor": "concept-intro-4",
      "before": "HyDE 利用生成的假设性文档帮助检索；该文档是检索辅助，不是实际证据。 RAPTOR 用分层摘要组织检索； GraphRAG 利用实体关系或社区摘要等组织跨文档信息。它们解决不同"
    },
    {
      "page": "foundations/30.html",
      "concept": "dag",
      "anchor": "concept-intro-1",
      "before": "DAG（有向无环图） 是没有沿箭头绕回自己的依赖图。例如A完成后才能B，A完成后也可C，最后D依赖B和C。它适合安排任务先后，而不是神经网络独有概念。"
    },
    {
      "page": "foundations/30.html",
      "concept": "patch",
      "anchor": "concept-intro-2",
      "before": "diff或patch 描述修改前后哪些内容改变。补丁能应用，只说明某种文本或结构匹配成功，不证明业务语义正确。"
    },
    {
      "page": "foundations/31.html",
      "concept": "oauth",
      "anchor": "concept-intro-1",
      "before": "作用域scope 限制记忆适用的项目、用户、环境和任务。不要把A项目的部署规则拿到B项目；不要把一个用户偏好跨到另一用户。"
    },
    {
      "page": "foundations/31.html",
      "concept": "ttl",
      "anchor": "concept-intro-2",
      "before": "有效时间valid time 是事实在业务上何时成立； 记录时间recorded time 是系统何时知道或写下它。"
    },
    {
      "page": "foundations/31.html",
      "concept": "memory-types",
      "anchor": "concept-intro-3",
      "before": "工作记忆 服务当前任务，例如下一步要测试哪个函数； 情景记忆episodic 保存发生过的一次经历； 语义记忆semantic 保存相对稳定的事实； 程序性记忆procedural"
    },
    {
      "page": "foundations/32.html",
      "concept": "dag",
      "anchor": "concept-intro-1",
      "before": "假设A准备输入需2单位时间，B与C是独立检查各需3和4，D整合需1。串行总计10；B/C并行的理想关键路径是2+max(3,4)+1=7。"
    },
    {
      "page": "foundations/32.html",
      "concept": "handoff",
      "anchor": "concept-intro-2",
      "before": "交接handoff 要说清目标、证据范围、已确认事实、未确认假设、输出要求及何时算完成。只给“调查问题”四个字，可能让子Agent重复检索、走错范围或形成不兼容结论。"
    },
    {
      "page": "foundations/33.html",
      "concept": "cas",
      "anchor": "concept-intro-1",
      "before": "CAS（compare-and-swap，比较后交换） 表达“只有当前状态仍与我读到的一样，才写入新状态”。例如读取文件版本7，准备补丁；提交前发现已变8，就拒绝覆盖并重新检查。"
    },
    {
      "page": "foundations/33.html",
      "concept": "transaction",
      "anchor": "concept-intro-2",
      "before": "事务transaction 将一组数据库操作作为受控单元处理，常讨论原子性、一致性、隔离性和持久性。这里的“原子”是外部观察者不看到这组操作的半完成状态，具体保证取决于数据库与隔离"
    },
    {
      "page": "foundations/33.html",
      "concept": "wal",
      "anchor": "concept-intro-3",
      "before": "“原子替换”不是“任何断电都绝无丢失”，也不等于多个文件与远端API一起形成事务。需要明确具体平台保证。"
    },
    {
      "page": "foundations/35.html",
      "concept": "topk",
      "anchor": "concept-intro-1",
      "before": "Top-k 表示只看排名前k个结果，不是信心等级； Recall@k 是在这个截断下看召回。"
    },
    {
      "page": "foundations/35.html",
      "concept": "metrics",
      "anchor": "concept-intro-1",
      "before": "Top-k 表示只看排名前k个结果，不是信心等级； Recall@k 是在这个截断下看召回。"
    },
    {
      "page": "foundations/35.html",
      "concept": "passk",
      "anchor": "concept-intro-2",
      "before": "一次成功：pass@1 = 0.8\n三次至少成功一次：1−(1−0.8)^3 = 0.992\n三次全部成功：0.8^3 = 0.512"
    },
    {
      "page": "foundations/36.html",
      "concept": "stats",
      "anchor": "concept-intro-1",
      "before": "在独立同分布的简单二项设定下，成功率估计的标准误差近似 √[p(1−p)/n] 。p是成功概率或其估计，n是尝试数。n变大，误差规模通常变小。"
    },
    {
      "page": "foundations/38.html",
      "concept": "dag",
      "anchor": "concept-intro-1",
      "before": "若工具测试是最大项，仅压缩最后总结的Token不会把总时长降低一半。若步骤并行，总时间要看关键路径，不能把每个span耗时盲目相加。"
    },
    {
      "page": "foundations/38.html",
      "concept": "latency",
      "anchor": "concept-intro-2",
      "before": "TTFT 是从请求开始到第一个输出Token到达的时间； TPOT 描述后续每Token生成时间的某种统计； 端到端延迟 是用户任务整体完成时间。"
    },
    {
      "page": "foundations/38.html",
      "concept": "slo",
      "anchor": "concept-intro-3",
      "before": "SLI 是服务水平指标，例如规定时间内正确完成的请求比例； SLO 是该指标目标，例如某业务对可靠性和时间的要求。目标应连接用户结果，而不是只保证API返回200。"
    },
    {
      "page": "foundations/38.html",
      "concept": "little",
      "anchor": "concept-intro-4",
      "before": "在稳定系统和相应条件下，Little定律常写 L=λW ：平均在系统中的任务数=平均到达率×平均停留时间。它帮助核对队列与延迟，但不是无条件适用于任何瞬时波动的精确预测。"
    },
    {
      "page": "foundations/39.html",
      "concept": "patch",
      "anchor": "concept-intro-1",
      "before": "一张彩色图片可以表示为高H、宽W、颜色通道C的数字数组。RGB有3个通道；某些库用 [H,W,3] ，另一些模型用 [B,3,H,W] ，次序不同但需一致理解。"
    },
    {
      "page": "foundations/39.html",
      "concept": "clip",
      "anchor": "concept-intro-2",
      "before": "CLIP 式图文对比训练让匹配图文的表示接近，提供视觉语言关联，但这不等于自动具备完整对话生成或可靠GUI操作能力。"
    },
    {
      "page": "foundations/39.html",
      "concept": "sae",
      "anchor": "concept-intro-3",
      "before": "查看注意力权重、某些中间激活或稀疏特征，可以提供机制线索。 稀疏自编码器SAE 尝试用相对稀疏的特征组合重构激活；稀疏表示只让部分特征活跃，不等于每个特征天然对应唯一人类概念。"
    },
    {
      "page": "foundations/40.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "合上正文，解释从两条文字到 [2,3,4] 发生了什么；再解释模型怎样用Q/K/V产生新表示；再解释它如何提出工具调用，以及宿主怎样判断动作完成。最后拿一个真实任务，说出你会收集哪"
    },
    {
      "page": "reading-notes/chapter-00.html",
      "concept": "labels",
      "anchor": "concept-intro-1",
      "before": "worked-R00-05"
    },
    {
      "page": "reading-notes/chapter-00.html",
      "concept": "patch",
      "anchor": "concept-intro-2",
      "before": "worked-R00-03"
    },
    {
      "page": "reading-notes/chapter-01.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "设当前表示X有n个位置、d个特征，投影得到Query、Key、Value："
    },
    {
      "page": "reading-notes/chapter-01.html",
      "concept": "norm",
      "anchor": "concept-intro-2",
      "before": "注意力交换位置信息，前馈网络进行逐位置非线性变换，残差连接帮助信息与梯度传播，归一化控制内部尺度。一个教学用Pre-Norm块为："
    },
    {
      "page": "reading-notes/chapter-01.html",
      "concept": "dk",
      "anchor": "concept-intro-3",
      "before": "Q = XW_Q，K = XW_K，V = XW_V\nA = softmax(QKᵀ / √d_k + M)\nAttention(X) = AV"
    },
    {
      "page": "reading-notes/chapter-01.html",
      "concept": "heads",
      "anchor": "concept-intro-4",
      "before": "MHA通常为不同查询头提供独立KV；MQA共享单组KV；GQA让查询头分组共享。减少KV头有助于缓存和带宽，但不保证相同比例端到端加速。MoE是另一层面的稀疏性：路由器选择少数专家"
    },
    {
      "page": "reading-notes/chapter-01.html",
      "concept": "moe",
      "anchor": "concept-intro-5",
      "before": "这不等于2017年原论文的全部排列。现代模型还可能使用不同归一化、激活、位置编码和MoE结构。学习部件之后，真实实现仍应检查具体架构。 [S008] [S016] [S017]"
    },
    {
      "page": "reading-notes/chapter-01.html",
      "concept": "rlhf",
      "anchor": "concept-intro-6",
      "before": "阅读时记录每项技术属于哪一层、解决什么问题、依赖什么假设。RAG改变证据来源，RLHF改变训练行为，KV Cache改变计算复用，三者不是同类Prompt技巧。"
    },
    {
      "page": "reading-notes/chapter-02.html",
      "concept": "sigmoid",
      "anchor": "concept-intro-1",
      "before": "worked-R02-07"
    },
    {
      "page": "reading-notes/chapter-02.html",
      "concept": "beta-policy",
      "anchor": "concept-intro-1",
      "before": "worked-R02-07"
    },
    {
      "page": "reading-notes/chapter-02.html",
      "concept": "rlhf",
      "anchor": "concept-intro-2",
      "before": "经典RLHF流程包括监督微调、偏好数据、奖励模型、策略优化及相对参考模型的约束。奖励是代理目标，不是客观真理；标注者可能偏好流畅、自信或冗长回答，而不充分验证事实。PPO是一种策略"
    },
    {
      "page": "reading-notes/chapter-02.html",
      "concept": "ppo",
      "anchor": "concept-intro-2",
      "before": "经典RLHF流程包括监督微调、偏好数据、奖励模型、策略优化及相对参考模型的约束。奖励是代理目标，不是客观真理；标注者可能偏好流畅、自信或冗长回答，而不充分验证事实。PPO是一种策略"
    },
    {
      "page": "reading-notes/chapter-03.html",
      "concept": "flash",
      "anchor": "concept-intro-1",
      "before": "FlashAttention优化注意力计算的数据搬运，原始工作关注精确注意力的IO效率。PagedAttention改善KV内存组织与共享；vLLM是相关服务实现生态。Specul"
    },
    {
      "page": "reading-notes/chapter-03.html",
      "concept": "paged",
      "anchor": "concept-intro-1",
      "before": "FlashAttention优化注意力计算的数据搬运，原始工作关注精确注意力的IO效率。PagedAttention改善KV内存组织与共享；vLLM是相关服务实现生态。Specul"
    },
    {
      "page": "reading-notes/chapter-03.html",
      "concept": "topk",
      "anchor": "concept-intro-2",
      "before": "贪心选择最高分，Sampling从分布抽样，Beam Search维护多条候选。温度常通过 softmax(logits/T) 调整尖锐程度；T=0通常是接口的特殊贪心模式，不是数"
    },
    {
      "page": "reading-notes/chapter-03.html",
      "concept": "dag",
      "anchor": "concept-intro-3",
      "before": "原创练习：记录一次任务关键路径，分别估计减少一轮调用、减少日志和并行两个搜索的影响。只改变一个机制后重测，避免把多种变化混为原因。"
    },
    {
      "page": "reading-notes/chapter-04.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "合法JSON保证语法；Schema保证结构、类型和枚举等约束；字段中的事实、引用与业务状态仍需验证。Schema中应允许证据不足、工具失败等真实状态，避免强迫中间结果冒充完成。 ["
    },
    {
      "page": "reading-notes/chapter-04.html",
      "concept": "sse",
      "anchor": "concept-intro-2",
      "before": "worked-R04-06"
    },
    {
      "page": "reading-notes/chapter-05.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "worked-R05-11"
    },
    {
      "page": "reading-notes/chapter-05.html",
      "concept": "schema",
      "anchor": "concept-intro-2",
      "before": "工具执行失败不能用空字符串冒充成功。区分无匹配、无权限、超时和语法错误，才能让模型采取正确恢复动作。自动执行器仍要验证模型参数，不应因为Schema合法就允许任意路径或命令。"
    },
    {
      "page": "reading-notes/chapter-05.html",
      "concept": "threadturn",
      "anchor": "concept-intro-3",
      "before": "worked-R05-04"
    },
    {
      "page": "reading-notes/chapter-05.html",
      "concept": "handoff",
      "anchor": "concept-intro-4",
      "before": "完成标准是理解框架背后的状态机。不要在尚未定义失败语义时直接堆叠Handoff和多Agent，否则调试会更困难。"
    },
    {
      "page": "reading-notes/chapter-06.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "worked-R06-07"
    },
    {
      "page": "reading-notes/chapter-06.html",
      "concept": "jsonrpc",
      "anchor": "concept-intro-2",
      "before": "worked-R06-16"
    },
    {
      "page": "reading-notes/chapter-06.html",
      "concept": "threadturn",
      "anchor": "concept-intro-3",
      "before": "Codex App Server公开说明以双向协议连接客户端与核心，并用Thread、Turn、Item组织交互。应理解长期会话、一次请求推进和中间事件的层次，而不只记字段名。客户"
    },
    {
      "page": "reading-notes/chapter-08.html",
      "concept": "bm25",
      "anchor": "concept-intro-1",
      "before": "BM25等词项方法利用词出现与统计重要性；稠密检索把查询和文档编码为向量；DPR展示双编码器问答检索；ColBERT使用更细粒度Token表示与晚交互。向量距离不是事实正确率， i"
    },
    {
      "page": "reading-notes/chapter-08.html",
      "concept": "rerank",
      "anchor": "concept-intro-1",
      "before": "BM25等词项方法利用词出现与统计重要性；稠密检索把查询和文档编码为向量；DPR展示双编码器问答检索；ColBERT使用更细粒度Token表示与晚交互。向量距离不是事实正确率， i"
    },
    {
      "page": "reading-notes/chapter-08.html",
      "concept": "colbert",
      "anchor": "concept-intro-1",
      "before": "BM25等词项方法利用词出现与统计重要性；稠密检索把查询和文档编码为向量；DPR展示双编码器问答检索；ColBERT使用更细粒度Token表示与晚交互。向量距离不是事实正确率， i"
    },
    {
      "page": "reading-notes/chapter-08.html",
      "concept": "rrf",
      "anchor": "concept-intro-2",
      "before": "RRF对不同排序按 1/(k+r) 累加，避免直接相加量纲不同的BM25和余弦分数。排名融合不能补回所有召回器都遗漏的文档。Reranker对候选作更精细判断，成本较高，通常用于较"
    },
    {
      "page": "reading-notes/chapter-08.html",
      "concept": "hyde",
      "anchor": "concept-intro-3",
      "before": "HyDE生成假设文档帮助检索，但假设不是证据。RAPTOR建立层次摘要索引，GraphRAG组织关系与全局信息，两者适合不同需求，也会增加抽取误差与维护成本。 [S100] [S1"
    },
    {
      "page": "reading-notes/chapter-08.html",
      "concept": "graphrag",
      "anchor": "concept-intro-3",
      "before": "HyDE生成假设文档帮助检索，但假设不是证据。RAPTOR建立层次摘要索引，GraphRAG组织关系与全局信息，两者适合不同需求，也会增加抽取误差与维护成本。 [S100] [S1"
    },
    {
      "page": "reading-notes/chapter-08.html",
      "concept": "metrics",
      "anchor": "concept-intro-4",
      "before": "Precision@k = 前k条相关数 / k\nRecall@k = 前k条相关数 / 全部相关数\nMRR = 各查询首条相关结果排名倒数的平均"
    },
    {
      "page": "reading-notes/chapter-09.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "LangGraph的会话检查点与长期Store承担不同职责。前者帮助恢复当前线程状态，后者支持跨线程组织信息；具体持久化能力取决于所用实现。"
    },
    {
      "page": "reading-notes/chapter-09.html",
      "concept": "oauth",
      "anchor": "concept-intro-2",
      "before": "{\"subject\":\"path-normalization\",\"scope\":\"build-v3\",\n \"claim\":\"使用仓库相对路径匹配exclude\",\n \"eviden"
    },
    {
      "page": "reading-notes/chapter-09.html",
      "concept": "graphrag",
      "anchor": "concept-intro-3",
      "before": "对应资料：GraphRAG"
    },
    {
      "page": "reading-notes/chapter-09.html",
      "concept": "memory-types",
      "anchor": "concept-intro-4",
      "before": "CoALA提供分析语言Agent的认知架构视角，连接记忆、决策和动作。它不是所有Agent都复制人类认知的证明，也不是安装后自动获得长期智能的组件。工作、情景、语义与程序性记忆承担"
    },
    {
      "page": "reading-notes/chapter-10.html",
      "concept": "skills",
      "anchor": "concept-intro-1",
      "before": "worked-R10-02"
    },
    {
      "page": "reading-notes/chapter-10.html",
      "concept": "dag",
      "anchor": "concept-intro-2",
      "before": "worked-R10-07"
    },
    {
      "page": "reading-notes/chapter-10.html",
      "concept": "handoff",
      "anchor": "concept-intro-3",
      "before": "Handoff常表示控制权移交；Agent作为工具通常由调用方保持外层控制；多Agent对话是另一种协作方式。具体SDK语义与状态过滤不同。 [S126] [S127] [S129"
    },
    {
      "page": "reading-notes/chapter-11.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "worked-R11-01"
    },
    {
      "page": "reading-notes/chapter-12.html",
      "concept": "passk",
      "anchor": "concept-intro-1",
      "before": "pass@1关注一次正常尝试，pass@k关注允许k次时至少一次成功，pass^k强调多次全部成功的可靠性。τ-bench使用重复执行考察稳定性。 [S153] [S143]"
    },
    {
      "page": "reading-notes/chapter-14.html",
      "concept": "backoff",
      "anchor": "concept-intro-1",
      "before": "指数退避和抖动可以减少集中重试，但不能修复无效参数或授权不足。具有副作用的动作重试前还要确认是否已执行。"
    },
    {
      "page": "reading-notes/chapter-14.html",
      "concept": "dag",
      "anchor": "concept-intro-2",
      "before": "worked-R14-03"
    },
    {
      "page": "reading-notes/chapter-14.html",
      "concept": "latency",
      "anchor": "concept-intro-3",
      "before": "TTFT是首Token等待，生成吞吐是输出速度，工具延迟是外部依赖，总耗时才反映完整任务。平均值与高分位都重要。很快说“开始处理”不代表很快完成。SRE强调从用户可见行为定义监控和"
    },
    {
      "page": "reading-notes/chapter-14.html",
      "concept": "slo",
      "anchor": "concept-intro-4",
      "before": "SLO需说明任务范围、成功定义、时间窗与预算。只读问答与自动修改应有不同目标。依赖不可用时可以降级为证据和建议，不能声称已经执行；权限不足时停止对应动作，仍可完成独立部分。 [S1"
    },
    {
      "page": "reading-notes/chapter-15.html",
      "concept": "lora",
      "anchor": "concept-intro-1",
      "before": "LoRA冻结基础权重，以低秩增量 W'=W+BA 训练。原创计算：1024×1024矩阵有1,048,576参数，r=8的两个增量矩阵共16,384参数。这只说明该矩阵的训练增量，"
    },
    {
      "page": "reading-notes/chapter-15.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-2",
      "before": "原创练习：设计“打开表单→填写→保存→检查结果”的循环，明确每步成功证据，而不是只检查点击位置。"
    },
    {
      "page": "reading-notes/chapter-15.html",
      "concept": "sae",
      "anchor": "concept-intro-3",
      "before": "Towards Monosemanticity探索从激活中分解更易解释的特征，提示单个神经元未必是最佳单位。稀疏自编码器平衡重建与稀疏性，后续研究评价规模与特征质量。关联激活不等于"
    },
    {
      "page": "reading-notes/chapter-16.html",
      "concept": "labels",
      "anchor": "concept-intro-1",
      "before": "worked-R16-02"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "q-projection",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "k-projection",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "v-projection",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "wo",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "identity",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "norm",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "norm-params",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-01.html",
      "concept": "prenorm",
      "anchor": "concept-intro-1",
      "before": "worked-G01"
    },
    {
      "page": "reading-notes/guide-02.html",
      "concept": "q-projection",
      "anchor": "concept-intro-1",
      "before": "Q = X Wq       K = X Wk       V = X Wv\nscores = Q Kᵀ / √d_k\nweights = softmax(scores + mas"
    },
    {
      "page": "reading-notes/guide-02.html",
      "concept": "k-projection",
      "anchor": "concept-intro-1",
      "before": "Q = X Wq       K = X Wk       V = X Wv\nscores = Q Kᵀ / √d_k\nweights = softmax(scores + mas"
    },
    {
      "page": "reading-notes/guide-02.html",
      "concept": "v-projection",
      "anchor": "concept-intro-1",
      "before": "Q = X Wq       K = X Wk       V = X Wv\nscores = Q Kᵀ / √d_k\nweights = softmax(scores + mas"
    },
    {
      "page": "reading-notes/guide-02.html",
      "concept": "dk",
      "anchor": "concept-intro-1",
      "before": "Q = X Wq       K = X Wk       V = X Wv\nscores = Q Kᵀ / √d_k\nweights = softmax(scores + mas"
    },
    {
      "page": "reading-notes/guide-02.html",
      "concept": "qkv",
      "anchor": "concept-intro-2",
      "before": "本篇对应《Attention Is All You Need》的核心机制。设三个Token的当前表示为矩阵X，投影得到Q、K、V。Query用来与Key匹配，匹配权重再作用于Val"
    },
    {
      "page": "reading-notes/guide-02.html",
      "concept": "heads",
      "anchor": "concept-intro-3",
      "before": "GQA让多个查询头共享较少KV头，影响缓存成本；MoE改变前馈专家的选择。二者都属于模型内部结构，和外部多个Agent协作不是一回事。 [S013] [S014]"
    },
    {
      "page": "reading-notes/guide-02.html",
      "concept": "moe",
      "anchor": "concept-intro-3",
      "before": "GQA让多个查询头共享较少KV头，影响缓存成本；MoE改变前馈专家的选择。二者都属于模型内部结构，和外部多个Agent协作不是一回事。 [S013] [S014]"
    },
    {
      "page": "reading-notes/guide-04.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "一个最小循环不需要十种框架部件：组装输入、获得动作、验证、执行、记录观察、判断结束。随着真实问题出现，再增加检查点、并发和恢复。"
    },
    {
      "page": "reading-notes/guide-08.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "这是一份原创教学格式，不是厂商内部压缩Schema。格式可以简化，但不能把意图、事实和环境结果混成一句模糊总结。"
    },
    {
      "page": "reading-notes/guide-08.html",
      "concept": "identifiers",
      "anchor": "concept-intro-2",
      "before": "worked-G08"
    },
    {
      "page": "reading-notes/guide-09.html",
      "concept": "topk",
      "anchor": "concept-intro-1",
      "before": "完成本篇后，应能为一次错误回答定位：来源错、索引缺、查询偏、重排删、截断漏，还是模型误用。这样的诊断比无条件扩大Top-k更有价值。"
    },
    {
      "page": "reading-notes/guide-09.html",
      "concept": "rrf",
      "anchor": "concept-intro-2",
      "before": "RRF按名次融合多个列表，不直接相加不同分数。重排进一步判断候选相关性，但无法补回所有召回器都漏掉的证据。 [S097]"
    },
    {
      "page": "reading-notes/guide-09.html",
      "concept": "rerank",
      "anchor": "concept-intro-3",
      "before": "worked-G09"
    },
    {
      "page": "reading-notes/guide-09.html",
      "concept": "colbert",
      "anchor": "concept-intro-3",
      "before": "worked-G09"
    },
    {
      "page": "reading-notes/guide-09.html",
      "concept": "metrics",
      "anchor": "concept-intro-4",
      "before": "假设正确判断需要文件A和B，返回A、X、Y，则Precision@3为1/3，Recall@3为1/2。虽然找到了一个相关文件，任务仍可能因缺B而失败。所有数值均为原创教学例子。 "
    },
    {
      "page": "reading-notes/guide-10.html",
      "concept": "memory-types",
      "anchor": "concept-intro-1",
      "before": "对应资料：CoALA [S111]"
    },
    {
      "page": "reading-notes/guide-12.html",
      "concept": "passk",
      "anchor": "concept-intro-1",
      "before": "pass@k可以体现多次尝试与选择的收益，却不等于用户正常一次运行成功率。报告必须说明预算、重试和筛选方式。"
    },
    {
      "page": "reading-notes/guide-12.html",
      "concept": "stats",
      "anchor": "concept-intro-2",
      "before": "worked-G12"
    },
    {
      "page": "reading-notes/lab-04.html",
      "concept": "rrf",
      "anchor": "concept-intro-1",
      "before": "\"\"\"合成排名上的 RRF、Precision、Recall、MRR 和 nDCG。\"\"\"\nimport math\n\n\ndef unique(seq):\n    return li"
    },
    {
      "page": "reading-notes/lab-04.html",
      "concept": "metrics",
      "anchor": "concept-intro-2",
      "before": "需要A、B却只返回A、X、Y时，Precision@3为1/3，Recall@3为1/2。增加噪声或交换排序，观察不同指标反应。"
    },
    {
      "page": "reading-notes/lab-05.html",
      "concept": "patch",
      "anchor": "concept-intro-1",
      "before": "\"\"\"结构化命题保真检查。不是自然语言理解器，也不是 LLM 压缩实现。\"\"\"\nfrom copy import deepcopy\n\nCANONICAL = {\n    \"publ"
    },
    {
      "page": "reading-notes/lab-06.html",
      "concept": "oauth",
      "anchor": "concept-intro-1",
      "before": "\"\"\"作用域、版本、证据、到期与冲突演示；所有记忆仅在本进程内。\"\"\"\nfrom dataclasses import dataclass, asdict\nfrom datetim"
    },
    {
      "page": "reading-notes/lab-07.html",
      "concept": "oauth",
      "anchor": "concept-intro-1",
      "before": "\"\"\"确定性模拟模型与工具循环；不调用LLM、不读写实际工程文件。\"\"\"\nfrom dataclasses import dataclass, field\n\n\n@dataclass"
    },
    {
      "page": "reading-notes/lab-07.html",
      "concept": "patch",
      "anchor": "concept-intro-1",
      "before": "\"\"\"确定性模拟模型与工具循环；不调用LLM、不读写实际工程文件。\"\"\"\nfrom dataclasses import dataclass, field\n\n\n@dataclass"
    },
    {
      "page": "reading-notes/lab-08.html",
      "concept": "passk",
      "anchor": "concept-intro-1",
      "before": "\"\"\"合成样本评测：pass@k、独立重复假设、配对Bootstrap、成功成本。\"\"\"\nimport math\nimport random\n\n\ndef pass_at_k(n: "
    },
    {
      "page": "reading-notes/lab-10.html",
      "concept": "sse",
      "anchor": "concept-intro-1",
      "before": "\"\"\"用合成叶子Span说明并行耗时。没有真实计时或外部遥测。\"\"\"\nfrom dataclasses import dataclass,asdict\nimport math\n\n\n"
    },
    {
      "page": "studies/chapters/01.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "P(x₀,…,xT) = P(x₀) × ∏(t=1…T) P(xt | x₀,…,x(t−1))\n训练输入：x₀, x₁, …, x(T−1)\n训练标签：x₁, x₂, …, x"
    },
    {
      "page": "studies/chapters/01.html",
      "concept": "gradient",
      "anchor": "concept-intro-2",
      "before": "pi = exp(zi−m) / Σj exp(zj−m)\n目标类别为y：L = log Σj exp(zj−m) + m − zy\n∂L/∂zi = pi − 1[i=y]"
    },
    {
      "page": "studies/chapters/01.html",
      "concept": "labels",
      "anchor": "concept-intro-3",
      "before": "numerics.cross_entropy 返回损失和解析梯度。有限差分检查每个维度： (L(z+εei)−L(z−εei))/(2ε) 。如果梯度误差很大，先排查标签移位、求和"
    },
    {
      "page": "studies/chapters/01.html",
      "concept": "schema",
      "anchor": "concept-intro-4",
      "before": "当提示“完全相同”却行为变化，先比较模型标识、模板/系统配置、工具Schema、仓库指令、上下文历史和采样参数。再看缓存与服务是否使用了不同版本。只有这些条件足够一致，才谈模型随机"
    },
    {
      "page": "studies/chapters/01.html",
      "concept": "stats",
      "anchor": "concept-intro-5",
      "before": "本书 bpe_train 与 bpe_encode 的验收不是“看起来切得合理”，而是对中英混合、代码、空格、换行做 decode(encode(text)) == text 。缩"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "q-projection",
      "anchor": "concept-intro-1",
      "before": "Token IDs                [B,T]\nEmbedding                [B,T,d]\nQ = norm(X) Wq           ["
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "wout",
      "anchor": "concept-intro-1",
      "before": "Token IDs                [B,T]\nEmbedding                [B,T,d]\nQ = norm(X) Wq           ["
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "qkv",
      "anchor": "concept-intro-2",
      "before": "在因果模型中，追加新Token不会改变旧位置在各层的表示：旧位置不能看到未来。因此旧位置投影后的K、V可以保存，新位置只计算自己的Q、K、V，并读取历史缓存。它缓存的是该层、该前缀"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "elementwise",
      "anchor": "concept-intro-3",
      "before": "RMSNorm对最后一维计算均方根： norm(x)=x/sqrt(mean(x²)+ε) ⊙ γ 。它与减均值的LayerNorm不同。前置归一化的残差结构可写成 u=x+Att"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "norm-params",
      "anchor": "concept-intro-3",
      "before": "RMSNorm对最后一维计算均方根： norm(x)=x/sqrt(mean(x²)+ε) ⊙ γ 。它与减均值的LayerNorm不同。前置归一化的残差结构可写成 u=x+Att"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "sigmoid",
      "anchor": "concept-intro-4",
      "before": "SwiGLU前馈结构在本实验写为 (silu(uWgate) ⊙ uWup) Wdown ，其中 silu(a)=a×sigmoid(a) 。它对每个位置独立进行非线性变换；注意力"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "swiglu",
      "anchor": "concept-intro-5",
      "before": "2017年Transformer论文提出编码器—解码器架构；本书数值实验是现代风格的仅解码器教学模型，采用前置RMSNorm、RoPE、GQA与SwiGLU。组合这些机制是为了暴露"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "norm",
      "anchor": "concept-intro-5",
      "before": "2017年Transformer论文提出编码器—解码器架构；本书数值实验是现代风格的仅解码器教学模型，采用前置RMSNorm、RoPE、GQA与SwiGLU。组合这些机制是为了暴露"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "heads",
      "anchor": "concept-intro-5",
      "before": "2017年Transformer论文提出编码器—解码器架构；本书数值实验是现代风格的仅解码器教学模型，采用前置RMSNorm、RoPE、GQA与SwiGLU。组合这些机制是为了暴露"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "lora",
      "anchor": "concept-intro-6",
      "before": "实验中缓存存储旋转后的K和原投影V。另一些架构可能有不同缓存表示，不应套用这个假设。模型权重、LoRA适配器、模板前缀、位置策略变化，都可能使已有cache不能复用；缓存命中条件不"
    },
    {
      "page": "studies/chapters/03.html",
      "concept": "moe",
      "anchor": "concept-intro-1",
      "before": "数据并行让各设备处理不同样本，再同步梯度；张量并行拆分单层矩阵运算，需要层内通信；流水线并行拆分层，microbatch在阶段间流动，会产生流水线空泡；专家并行把MoE专家分配到设"
    },
    {
      "page": "studies/chapters/03.html",
      "concept": "parallel",
      "anchor": "concept-intro-1",
      "before": "数据并行让各设备处理不同样本，再同步梯度；张量并行拆分单层矩阵运算，需要层内通信；流水线并行拆分层，microbatch在阶段间流动，会产生流水线空泡；专家并行把MoE专家分配到设"
    },
    {
      "page": "studies/chapters/03.html",
      "concept": "optimizer",
      "anchor": "concept-intro-2",
      "before": "AdamW分别维护梯度的一阶、二阶矩，偏差修正后用于归一化步长；解耦权重衰减是在参数更新中直接施加缩减，不应把它与所有参数统一施加L2惩罚简单等同。不同实现对哪些参数衰减、何时累计"
    },
    {
      "page": "studies/chapters/03.html",
      "concept": "mixed",
      "anchor": "concept-intro-3",
      "before": "训练可能同时持有模型权重、梯度、优化器矩、主权重副本、中间激活、临时算子缓冲和通信buffer。常见混合精度Adam实现中的某些配置可接近每参数16字节的模型状态开销，但这不是普遍"
    },
    {
      "page": "studies/chapters/03.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-4",
      "before": "激活检查点通过不保存部分中间值、反向时重新计算，换取更低显存。这里的checkpoint是自动求导内存优化，不是Agent任务断点，也不是训练状态持久化。相同英文词在三个系统层次含"
    },
    {
      "page": "studies/chapters/04.html",
      "concept": "gradient",
      "anchor": "concept-intro-1",
      "before": "z = β[(logπ(yw|x) − logπref(yw|x))\n     −(logπ(yl|x) − logπref(yl|x))]\nL = −log σ(z)\n∂L/∂l"
    },
    {
      "page": "studies/chapters/04.html",
      "concept": "beta-policy",
      "anchor": "concept-intro-2",
      "before": "maxπ  E(y~π)[r(x,y)] − β KL(π(.|x) || πref(.|x))\n最优分布：π*(y|x) ∝ πref(y|x) exp(r(x,y)/β)\n因此"
    },
    {
      "page": "studies/chapters/04.html",
      "concept": "rlhf",
      "anchor": "concept-intro-3",
      "before": "目标：理解SFT、RLHF、DPO与推理强化学习各自改变什么；能从目标函数判断一个“行为提升”是否意味着事实可靠性提升。实验： numerics.dpo_loss 。"
    },
    {
      "page": "studies/chapters/04.html",
      "concept": "ppo",
      "anchor": "concept-intro-4",
      "before": "worked-S04"
    },
    {
      "page": "studies/chapters/04.html",
      "concept": "schema",
      "anchor": "concept-intro-5",
      "before": "预训练优化文本分布，SFT通过示范数据强化某些条件下的回答形式与任务策略。给模型看到高质量“请求—回答—工具结果—继续行动”轨迹，可以让它学习这些模式；但格式学会不等于任何一次调用"
    },
    {
      "page": "studies/chapters/05.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "接受质量 Ax = q(x) × min(1,p(x)/q(x)) = min(p(x),q(x))\n总拒绝概率 R = Σx max(p(x)−q(x),0)\n拒绝分支给x的质量"
    },
    {
      "page": "studies/chapters/05.html",
      "concept": "topk",
      "anchor": "concept-intro-2",
      "before": "温度把logits除以τ，τ较小使分布更集中，较大使分布更平缓。它不是“错误率旋钮”，不会把缺少证据的答案变成事实。Top-k保留固定数量的候选；Top-p选择累计概率达到阈值的最"
    },
    {
      "page": "studies/chapters/05.html",
      "concept": "schema",
      "anchor": "concept-intro-3",
      "before": "在约束输出中，解码器还可能屏蔽不符合语法的Token。这样能帮助满足结构约束，但有三层必须分开：字节能否解析、结构是否满足Schema、字段是否符合业务事实。一个合法JSON仍可以"
    },
    {
      "page": "studies/chapters/05.html",
      "concept": "sse",
      "anchor": "concept-intro-4",
      "before": "例如模型返回 finish_reason 或相应状态表明因长度停止，最后几行看起来像总结，也不能视为任务成功。工具参数可能只生成一半，不能执行。网络流关闭也不证明服务已结束，因为客"
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "对于一个查询行，已处理分数的最大值m、指数和l、未归一化加权和a为： l=Σexp(s−m) ， a=Σexp(s−m)v 。看到新块S、V时："
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "flash",
      "anchor": "concept-intro-2",
      "before": "普通实现可能把 S=QKᵀ/√d 、softmax概率等T×T矩阵写入高带宽内存。分块算法在更近的片上存储中处理块，并维护归一化统计，使结果不必依赖完整矩阵同时存在。FlashAt"
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "paged",
      "anchor": "concept-intro-3",
      "before": "长请求长度不一，若每条请求预留连续最大KV空间，容易造成浪费与碎片。PagedAttention把逻辑Token位置映射到固定大小的KV块，物理块可以非连续；共享前缀可引用共享块，"
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "memory-hardware",
      "anchor": "concept-intro-4",
      "before": "设一次操作需要F个浮点运算，搬运M字节，设备峰值算力P和带宽W。粗略下界可写为 时间≥max(F/P,M/W) ，实际还有启动、同步、通信、调度和利用率损失。算术强度F/M帮助判断"
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "flops",
      "anchor": "concept-intro-5",
      "before": "例如减少中间矩阵写回能改善内存受限部分，即使数学运算次数略增加，仍可能更快。反过来，对已经算力饱和的部分，增加重新计算可能变慢。不能只凭FLOPs数量或GPU利用率一个数字判断服务"
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "latency",
      "anchor": "concept-intro-6",
      "before": "指标要分开：TTFT看首次响应，TPOT看输出Token间隔，端到端时间看用户任务，多租户还要看尾延迟。为了吞吐提高batch，可能牺牲交互体验；为了最低延迟，每次只跑一条，又可能"
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "slo",
      "anchor": "concept-intro-6",
      "before": "指标要分开：TTFT看首次响应，TPOT看输出Token间隔，端到端时间看用户任务，多租户还要看尾延迟。为了吞吐提高batch，可能牺牲交互体验；为了最低延迟，每次只跑一条，又可能"
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "little",
      "anchor": "concept-intro-7",
      "before": "Little定律在稳定系统中给出 在途量L=到达率λ×平均逗留时间W 。它不描述具体队列尾部分布，却能帮助检查容量规划是否自洽。接近饱和后延迟非线性上升，不能用低负载单请求基准直接"
    },
    {
      "page": "studies/chapters/07.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "JSON Schema可以约束字段类型、枚举、必填项和额外字段，但不能判断某个订单是否属于当前用户，也不能证明 path 指向的是用户授权的仓库。结构化输出是协议可靠性的基础，不是"
    },
    {
      "page": "studies/chapters/07.html",
      "concept": "sse",
      "anchor": "concept-intro-2",
      "before": "网络字节流可以把一个中文字符、一个JSON转义序列或SSE边界拆开。正确解析顺序应是：字节增量UTF-8解码，按SSE行规则组装事件，遇到空行形成完整事件，拼接data字段，然后解"
    },
    {
      "page": "studies/chapters/07.html",
      "concept": "identifiers",
      "anchor": "concept-intro-3",
      "before": "worked-S07"
    },
    {
      "page": "studies/chapters/07.html",
      "concept": "skills",
      "anchor": "concept-intro-4",
      "before": "当前工具Schema也占用上下文。工具很多时可以先提供发现入口，再加载相关定义；只有宿主支持该机制时才这样做。技能文件里写“自动JIT”不代表执行器已经实现按需工具发现。"
    },
    {
      "page": "studies/chapters/08.html",
      "concept": "cas",
      "anchor": "concept-intro-1",
      "before": "模型根据版本A生成补丁，用户此时改成版本B。执行器若不检查就写入，会覆盖用户修改。CAS要求“当前内容仍等于我读到的expected”，否则返回stale并重新读取。版本可用com"
    },
    {
      "page": "studies/chapters/08.html",
      "concept": "transaction",
      "anchor": "concept-intro-2",
      "before": "SQLite事务能够约束自身数据库的更新，但不能自动覆盖外部文件替换或远程API；两个系统没有共享事务时，需要对账、幂等或补偿，而不是在表里写一个 transaction_id 就"
    },
    {
      "page": "studies/chapters/08.html",
      "concept": "wal",
      "anchor": "concept-intro-3",
      "before": "本地文件也有类似窗口：已原子替换文件，但进程在写“完成”日志前崩溃。下次执行不能只看日志 started 就再次修改。必须比较当前工件是否已经是期望结果。"
    },
    {
      "page": "studies/chapters/09.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "调试时应问每条信息在什么角色、什么阶段进入。项目规则在客户端通常作为某类用户上下文项目，不应因文件名像“系统规则”便获得无限权限。工具Schema也不一定和聊天文本存放在同一字段中"
    },
    {
      "page": "studies/chapters/09.html",
      "concept": "sse",
      "anchor": "concept-intro-2",
      "before": "项目规则、初始上下文、循环与本地压缩来自提交 99f47d6e9a3546c14c43af99c7a58fa6bd130548 ；SSE事件转换来自另一个提交 2a68b74b9b"
    },
    {
      "page": "studies/chapters/10.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "一些工具提供文件编辑回退或会话恢复，但不应推断它能撤销外部邮件、远程部署或数据库写入。文件checkpoint、会话历史、执行日志与远程世界是不同状态空间。第08章的unknown"
    },
    {
      "page": "studies/chapters/11.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "设候选项i有成本ci、估计价值vi、选择变量xi。最简单选择问题类似背包：最大化 Σvi xi ，满足 Σci xi≤B 。但现实还存在必须保留项和依赖：如果读取调用点需要类型定义"
    },
    {
      "page": "studies/chapters/11.html",
      "concept": "skills",
      "anchor": "concept-intro-2",
      "before": "因此JIT的评价不是“加载Token减少”，而是必需能力召回、不必要加载、首次有效行动时间和最终工程结果。专业技能必须包含能改变动作的知识，如特定语言并发语义、存储事务边界、框架测"
    },
    {
      "page": "studies/chapters/12.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "设压缩本次成本Cc，剩余k轮，压缩后每轮节省Si，但前缀缓存损失为Li，重新检索成本为Ri。粗略计算： 净节省=Σ(Si−Li−Ri)−Cc 。还需考虑压缩错误的返工成本和质量损失"
    },
    {
      "page": "studies/chapters/12.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-2",
      "before": "目标：能设计和评估压缩后的任务连续性，而不是只检验摘要是否流畅。实验： validate_checkpoint 只验证结构与版本；自然语言语义压缩效果本书没有实测商业模型。"
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "idf(t)=log(1+(N−df(t)+0.5)/(df(t)+0.5))\nscore(q,d)=Σt∈q idf(t) × f(t,d)(k1+1)\n            "
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "topk",
      "anchor": "concept-intro-2",
      "before": "元数据过滤会影响ANN行为。如果先取全局top-k再过滤权限，可能只剩一两项，授权用户反而拿不到本可找到的材料。可采用权限预过滤、适当过取、分区或支持过滤的索引方案，但需测严格AC"
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "tfidf",
      "anchor": "concept-intro-3",
      "before": "本书采用一种常见的非负IDF形式："
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "bm25",
      "anchor": "concept-intro-4",
      "before": "目标：能从语料与查询分布设计检索管线，并定位遗漏发生在召回、过滤、排序还是上下文选择。实验： retrieval.py ，提供真实BM25和RRF，不把字符串匹配称为Embeddi"
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "rrf",
      "anchor": "concept-intro-4",
      "before": "目标：能从语料与查询分布设计检索管线，并定位遗漏发生在召回、过滤、排序还是上下文选择。实验： retrieval.py ，提供真实BM25和RRF，不把字符串匹配称为Embeddi"
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "ann",
      "anchor": "concept-intro-5",
      "before": "精确向量搜索扫描全部向量，容易建立正确性基线。近似最近邻索引用可控的召回损失换速度或存储。HNSW用分层图导航候选邻居；搜索候选集合更大通常提高召回但增加工作量。IVF先按粗聚类选"
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "colbert",
      "anchor": "concept-intro-6",
      "before": "Cross-encoder让查询与文档共同编码，能做更细相关性判定，但候选对数量直接增加成本。它适合对已召回的小集合重排，无法找回从未进入候选的关键材料。ColBERT则保留多To"
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "hyde",
      "anchor": "concept-intro-7",
      "before": "查询改写与HyDE可以扩大语义召回：先形成可能的描述，再检索。但假设文档是查询辅助，不是真实证据；生成的错误前提不应进入最后答案的事实链。 [N72]"
    },
    {
      "page": "studies/chapters/13.html",
      "concept": "metrics",
      "anchor": "concept-intro-8",
      "before": "不要把ANN检索的Recall@k与业务证据召回混为一谈。ANN指标可能只是与精确向量排序相比，证明近似索引没有丢太多邻居；若Embedding本来就没把正确文档排前，这个指标再高"
    },
    {
      "page": "studies/chapters/15.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "任务checkpoint和长期经验要分开。前者需要精确的已执行动作与未决状态，后者应浓缩成能改变未来行动的信息。把整个任务对话永久塞进经验库，会产生检索噪声并保存大量无效猜测。"
    },
    {
      "page": "studies/chapters/15.html",
      "concept": "ttl",
      "anchor": "concept-intro-2",
      "before": "这是真实SQLite查询，不是模拟模型记忆。当前实现没有完整事务时间历史、撤回事件、并发合并和自然语言冲突判断；它说明最小元数据如何避免时间混淆。生产要不要双时间，取决于是否有追溯"
    },
    {
      "page": "studies/chapters/15.html",
      "concept": "memory-types",
      "anchor": "concept-intro-3",
      "before": "CoALA用记忆、行动和决策组织语言Agent；MemGPT讨论有限上下文与外部存储的分层管理。它们帮助建立结构，但不是必须照搬的生产数据库模式。 [N41] [N42]"
    },
    {
      "page": "studies/chapters/17.html",
      "concept": "cas",
      "anchor": "concept-intro-1",
      "before": "对同一文件的修改，先定义责任范围或串行化关键部分。内容哈希/CAS可防覆盖，但失败后仍需人工或Agent理解冲突，不能自动选择最后写者。某些任务适合子Agent只研究，主Agent"
    },
    {
      "page": "studies/chapters/17.html",
      "concept": "dag",
      "anchor": "concept-intro-2",
      "before": "以两个独立模块各自修改、最后集成为例，理想耗时是二者最大值加集成时间，而不是两者相加。但如果第二模块需要第一模块确定接口，存在依赖边，不能真正并行。任务DAG应表达产出依赖，而不是"
    },
    {
      "page": "studies/chapters/19.html",
      "concept": "skills",
      "anchor": "concept-intro-1",
      "before": "对Skill路由，可以分别比较描述变更、专业正文变更、默认加载策略。对记忆，比较无记忆、只检索、检索加验证。对压缩，比较未压缩、普通摘要、结构状态加证据入口。保持其他条件一致，保存"
    },
    {
      "page": "studies/chapters/19.html",
      "concept": "passk",
      "anchor": "concept-intro-2",
      "before": "当已生成n个候选，其中c个成功，从中无放回选k个，常用pass@k估计为："
    },
    {
      "page": "studies/chapters/19.html",
      "concept": "stats",
      "anchor": "concept-intro-3",
      "before": "样本量小或成功接近0/1时，简单正态区间容易失真。Wilson区间是二项比例的一种更稳健选择，但同样要求理解抽样单位。对配对二元结果，McNemar检验主要利用“仅A成功”和“仅B"
    },
    {
      "page": "studies/chapters/20.html",
      "concept": "oauth",
      "anchor": "concept-intro-1",
      "before": "本书核查的授权规范版本为2026-07-28。其HTTP授权流程使用OAuth相关机制，明确资源目标与令牌用途；STDIO传输的凭据处理与HTTP流程不同，不能把同一套网页登录步骤"
    },
    {
      "page": "studies/chapters/21.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "指数退避加抖动能减少集中重试，但应只用于适合重试的错误。权限拒绝、Schema错误、确定性业务失败不应盲目退避；外部副作用未知需对账。重试总次数、时间和成本应有上界。"
    },
    {
      "page": "studies/chapters/21.html",
      "concept": "backoff",
      "anchor": "concept-intro-1",
      "before": "指数退避加抖动能减少集中重试，但应只用于适合重试的错误。权限拒绝、Schema错误、确定性业务失败不应盲目退避；外部副作用未知需对账。重试总次数、时间和成本应有上界。"
    },
    {
      "page": "studies/chapters/21.html",
      "concept": "slo",
      "anchor": "concept-intro-2",
      "before": "SLO应该围绕用户价值，例如在规定资源与时间内完成合法任务的比例，或高风险动作零未授权执行。可用性、正确性、延迟和安全是不同维度，不一定能合成一个数字。Google SRE关于SL"
    },
    {
      "page": "studies/chapters/23.html",
      "concept": "lora",
      "anchor": "concept-intro-1",
      "before": "目标：能够判断何时确实需要参数适配，理解LoRA与量化的内部约束，避免拿训练技术解决数据新鲜度问题。"
    },
    {
      "page": "studies/chapters/23.html",
      "concept": "mixed",
      "anchor": "concept-intro-2",
      "before": "均匀量化通常把浮点映射到有限整数格点，需要尺度与可能的零点；按张量、按通道或按组共享尺度，存储与误差不同。离群值可能迫使范围变大，降低大多数值的有效分辨率。裁剪、分组和混合精度都有"
    },
    {
      "page": "studies/chapters/23.html",
      "concept": "schema",
      "anchor": "concept-intro-3",
      "before": "模型不知道最新接口，优先检索当前文档；模型反复使用错误输出格式，可先修Schema与示例；模型在稳定领域任务中系统性表现不足，才考虑微调。记忆解决跨会话信息利用，Skill提供程序"
    },
    {
      "page": "studies/chapters/25.html",
      "concept": "sae",
      "anchor": "concept-intro-1",
      "before": "机制可解释性尝试研究内部特征与电路。稀疏自编码器把激活表示分解为较稀疏的特征组合，常见形式是用重构误差加稀疏约束训练编码器/解码器。特征可能比原始神经元更易解释，但重构误差、特征拆"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "稠密前馈层对每个Token执行同样的参数计算；MoE通过路由器选择部分专家，可写成 y=Σe∈TopK gate_e(x) Expert_e(x) 。总参数量与每Token激活参数"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "moe",
      "anchor": "concept-intro-1",
      "before": "稠密前馈层对每个Token执行同样的参数计算；MoE通过路由器选择部分专家，可写成 y=Σe∈TopK gate_e(x) Expert_e(x) 。总参数量与每Token激活参数"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "heads",
      "anchor": "concept-intro-2",
      "before": "GQA通过共享KV头减少缓存；MLA类结构通过低秩潜在表示压缩注意力相关状态，并结合特定位置处理设计。DeepSeek-V3报告包含MLA与MoE等具体方案，不能把它简单描述为“G"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "lora",
      "anchor": "concept-intro-2",
      "before": "GQA通过共享KV头减少缓存；MLA类结构通过低秩潜在表示压缩注意力相关状态，并结合特定位置处理设计。DeepSeek-V3报告包含MLA与MoE等具体方案，不能把它简单描述为“G"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "colbert",
      "anchor": "concept-intro-3",
      "before": "经典RAG把检索文档与生成结合；DPR研究稠密段落检索；ColBERT用多Token延迟交互；HyDE借助假设文档改写查询。这些首先作用于召回或匹配，并不能自动解决来源权限与更新。"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "hyde",
      "anchor": "concept-intro-3",
      "before": "经典RAG把检索文档与生成结合；DPR研究稠密段落检索；ColBERT用多Token延迟交互；HyDE借助假设文档改写查询。这些首先作用于召回或匹配，并不能自动解决来源权限与更新。"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "graphrag",
      "anchor": "concept-intro-4",
      "before": "RAPTOR通过聚类与递归摘要构建层级表示，适合需要跨片段理解的任务；GraphRAG围绕实体/关系与社区摘要支持某些全局问题。它们增加了摘要与图抽取的成本，也需要处理抽取错误、来"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "ttl",
      "anchor": "concept-intro-5",
      "before": "评价要分写入准确性、更新、时间推理、冲突、忘记与取回；再看是否改善最终任务。LoCoMo与LongMemEval提供不同长期交互测试视角，本书第15章的双时间与冲突模型是原创工程示"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "memory-types",
      "anchor": "concept-intro-6",
      "before": "Generative Agents、MemGPT、A-MEM、Mem0分别体现事件流/反思、分层存储、动态关联与工程化提取等思路；它们不共享一个完全相同的任务目标。长期会话记忆成绩"
    },
    {
      "page": "studies/chapters/27.html",
      "concept": "jsonrpc",
      "anchor": "concept-intro-1",
      "before": "实际运行8项测试，初始有5项失败，涉及嵌套路径、同名边界、目录规则、Windows分隔符与父级跳转。测试stdout、退出码和工件版本保存在 reports/test_result"
    },
    {
      "page": "studies/chapters/27.html",
      "concept": "cas",
      "anchor": "concept-intro-2",
      "before": "更新通过动作日志的CAS入口提交。expected必须等于刚读到的内容，防止覆盖并发修改；操作ID重复但参数不一致会被拒绝。工具写入范围限制在 matcher.py ，测试文件由教"
    },
    {
      "page": "studies/chapters/27.html",
      "concept": "patch",
      "anchor": "concept-intro-3",
      "before": "可选 live_readonly.py 展示真实API接入结构，但只允许只读文件分析，该入口未实测。若要升级为真实写代码评测，应先在可销毁仓库中提供受限patch工具、外部验收与预"
    },
    {
      "page": "studies/chapters/28.html",
      "concept": "oauth",
      "anchor": "concept-intro-1",
      "before": "证据对象可包含 claim, source, scope, date, method, limitation, status 。这不是强制数据库表，而是避免把“某研究集上有效”写成"
    },
    {
      "page": "studies/chapters/30.html",
      "concept": "heads",
      "anchor": "concept-intro-1",
      "before": "参考答案：固定参数、关闭随机算子；比较第一步，再找首次分歧位置；检查cache拼接轴、每层独立缓存、位置偏移、非方形因果mask、GQA映射和dtype。使用整段/逐Token/多"
    },
    {
      "page": "studies/chapters/30.html",
      "concept": "bm25",
      "anchor": "concept-intro-2",
      "before": "参考答案：该指标只说明近似索引保留了向量近邻，Embedding可能没把关键源码排前；还可能有切块、版本过滤、权限或查询表达问题。先建立精确符号/BM25基线，检查候选证据召回，再"
    },
    {
      "page": "studies/chapters/30.html",
      "concept": "ann",
      "anchor": "concept-intro-3",
      "before": "题目：ANN相对精确向量搜索Recall@10为99%，但关键源码仍找不到，为什么？"
    },
    {
      "page": "studies/chapters/30.html",
      "concept": "metrics",
      "anchor": "concept-intro-3",
      "before": "题目：ANN相对精确向量搜索Recall@10为99%，但关键源码仍找不到，为什么？"
    },
    {
      "page": "studies/chapters/30.html",
      "concept": "ttl",
      "anchor": "concept-intro-4",
      "before": "参考答案：需要区分valid time与recorded/transaction time。查询当时认知只允许使用第25天之前记录的证据；今天回看可使用后来到达但对第25天有效的资"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "Q、K、V若都由同一个X通过不同投影产生，X梯度是三条路径贡献之和；每个投影权重梯度分别由输入转置乘对应输出梯度得到。残差支路还要把上游梯度直接加回。多头实现只是额外的形状重排和各"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "sum",
      "anchor": "concept-intro-2",
      "before": "ds = p ⊙ (g − Σj pj gj)"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "elementwise",
      "anchor": "concept-intro-2",
      "before": "ds = p ⊙ (g − Σj pj gj)"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "silu",
      "anchor": "concept-intro-3",
      "before": "SwiGLU由乘法门控组成，两个分支都应接收另一分支值乘以上游的梯度。SiLU还需要自身导数。实现时先验证单算子，再组合整层，通常比只看最终训练loss更容易定位。"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "swiglu",
      "anchor": "concept-intro-3",
      "before": "SwiGLU由乘法门控组成，两个分支都应接收另一分支值乘以上游的梯度。SiLU还需要自身导数。实现时先验证单算子，再组合整层，通常比只看最终训练loss更容易定位。"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "norm",
      "anchor": "concept-intro-4",
      "before": "RMSNorm设 r=sqrt(mean(x²)+ε) ， y=γ⊙x/r 。令 g=上游⊙γ ，则输入梯度为 g/r−x·mean(g⊙x)/r³ 。这是直接项减去归一化尺度反馈"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "norm-params",
      "anchor": "concept-intro-4",
      "before": "RMSNorm设 r=sqrt(mean(x²)+ε) ， y=γ⊙x/r 。令 g=上游⊙γ ，则输入梯度为 g/r−x·mean(g⊙x)/r³ 。这是直接项减去归一化尺度反馈"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "stats",
      "anchor": "concept-intro-4",
      "before": "RMSNorm设 r=sqrt(mean(x²)+ε) ， y=γ⊙x/r 。令 g=上游⊙γ ，则输入梯度为 g/r−x·mean(g⊙x)/r³ 。这是直接项减去归一化尺度反馈"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "gradient",
      "anchor": "concept-intro-5",
      "before": "∂L/∂V = Pᵀ G                    [n,dv]\n∂L/∂P = G Vᵀ                    [m,n]"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "jacobian",
      "anchor": "concept-intro-6",
      "before": "对一行p，Jacobian是 diag(p)−ppᵀ 。直接建立n×n矩阵会浪费；设该行上游梯度为g，可写："
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "q-projection",
      "anchor": "concept-intro-1",
      "before": "归一化后的每行分别乘 Wq,Wk,Wv ，三者在本实验都是 [4,4] 。得到Q、K、V各 [3,4] 。它们由同一输入生成，但使用不同权重，因此不是同一份向量换个名字。"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "k-projection",
      "anchor": "concept-intro-1",
      "before": "归一化后的每行分别乘 Wq,Wk,Wv ，三者在本实验都是 [4,4] 。得到Q、K、V各 [3,4] 。它们由同一输入生成，但使用不同权重，因此不是同一份向量换个名字。"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "v-projection",
      "anchor": "concept-intro-1",
      "before": "归一化后的每行分别乘 Wq,Wk,Wv ，三者在本实验都是 [4,4] 。得到Q、K、V各 [3,4] 。它们由同一输入生成，但使用不同权重，因此不是同一份向量换个名字。"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "qkv",
      "anchor": "concept-intro-1",
      "before": "归一化后的每行分别乘 Wq,Wk,Wv ，三者在本实验都是 [4,4] 。得到Q、K、V各 [3,4] 。它们由同一输入生成，但使用不同权重，因此不是同一份向量换个名字。"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "wo",
      "anchor": "concept-intro-2",
      "before": "回到四维Decoder：每个位置的聚合向量乘Wo，得到宽度4，再与该层原输入做残差相加。随后第二次归一化，经过 4→8→4 的前馈网络，本实验用 ReLU ，最后再加残差。实际模型"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "swiglu",
      "anchor": "concept-intro-2",
      "before": "回到四维Decoder：每个位置的聚合向量乘Wo，得到宽度4，再与该层原输入做残差相加。随后第二次归一化，经过 4→8→4 的前馈网络，本实验用 ReLU ，最后再加残差。实际模型"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "sum",
      "anchor": "concept-intro-3",
      "before": "均值 μ = (x₁+x₂+x₃+x₄)/4\n方差 σ² = Σ(xⱼ−μ)²/4\nLN(x)ⱼ = (xⱼ−μ)/sqrt(σ²+ε)"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "norm",
      "anchor": "concept-intro-4",
      "before": "这里只为简洁省略可学习缩放和偏移，不能据此推断完整 LayerNorm 没有这些参数。归一化跨的是特征维，不是三个Token一起归一化；否则新增Token就可能改变旧位置数值，破坏"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "heads",
      "anchor": "concept-intro-5",
      "before": "真实系统需要更大的参数、多个头或 GQA /MLA、真实Tokenizer、训练过的权重、模型对应的归一化和激活、正确位置方案、批处理、精度与设备内核。服务还要管理请求取消、KV分"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "flash",
      "anchor": "concept-intro-6",
      "before": "但诊断方法不变：先明确接口契约和每一步对象，再做可对照的小规模验证，最后测性能。不能因为某技术叫 FlashAttention 就省略数值检查，也不能因为KV公式算得对就断言显存足"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "topk",
      "anchor": "concept-intro-7",
      "before": "采用采样时还要按温度、 top-k / top-p 等规则处理分布。温度改变分布，不改变已经算出的历史K/V。若Token对应文本字节片段，显示层还要正确处理多字节字符和控制Tok"
    },
    {
      "page": "walkthroughs/b.html",
      "concept": "schema",
      "anchor": "concept-intro-1",
      "before": "Schema 告诉模型可以表达什么动作、参数叫什么。实际系统可能只暴露部分工具，其他工具通过发现机制按需加载。工具已经在注册表中，不表示每轮都必须把完整定义放进上下文。"
    },
    {
      "page": "walkthroughs/b.html",
      "concept": "identifiers",
      "anchor": "concept-intro-2",
      "before": "{\"kind\":\"tool_call\",\"call_id\":\"c1\",\"name\":\"search_code\",\n \"arguments\":{\"query\":\"exclude\",\""
    },
    {
      "page": "walkthroughs/b.html",
      "concept": "oauth",
      "anchor": "concept-intro-3",
      "before": "{\n  \"instructions\":\"完成用户指定修复；用证据定位；遵守授权范围。\",\n  \"user_task\":\"修复exclude路径处理。模式相对项目根目录；不改包含规则"
    },
    {
      "page": "walkthroughs/b.html",
      "concept": "patch",
      "anchor": "concept-intro-4",
      "before": "{\n  \"task_id\":\"t7\",\n  \"goal\":\"修复exclude路径处理\",\n  \"constraints\":[\"按项目根目录相对路径匹配\",\"保留包含规则\",\"不提"
    },
    {
      "page": "walkthroughs/c.html",
      "concept": "sum",
      "anchor": "concept-intro-1",
      "before": "RRF 对每个候选计算 Σ1/(k+rank) 。它解决不同评分尺度不可直接相加的问题，但不理解“项目A含敏感字段”这个逻辑条件，也不保证排名靠前的片段能单独回答完整问题。"
    },
    {
      "page": "walkthroughs/c.html",
      "concept": "oauth",
      "anchor": "concept-intro-2",
      "before": "{\n \"principal\":\"user_in_project_A\",\n \"project\":\"A\",\n \"as_of\":\"2026-10-17\",\n \"claims_needed"
    },
    {
      "page": "walkthroughs/c.html",
      "concept": "bm25",
      "anchor": "concept-intro-3",
      "before": "本例使用虚构的“项目A日志保留规则”，不是任何公司的真实制度。日期、文档和检索排名均为教学数据。目的是跟踪信息在每个对象中的变化，尤其解释为什么“检索到了相关文档”仍不足以正确回答"
    },
    {
      "page": "walkthroughs/c.html",
      "concept": "rrf",
      "anchor": "concept-intro-3",
      "before": "本例使用虚构的“项目A日志保留规则”，不是任何公司的真实制度。日期、文档和检索排名均为教学数据。目的是跟踪信息在每个对象中的变化，尤其解释为什么“检索到了相关文档”仍不足以正确回答"
    },
    {
      "page": "walkthroughs/d.html",
      "concept": "checkpoint",
      "anchor": "concept-intro-1",
      "before": "新运行器上线后，旧checkpoint里可能仍有“失败”但实际unknown的记录。只修摘要模板不能自动修复这些存量任务。需要识别相关版本和状态，按受控策略核验或暂停，不能批量盲目"
    },
    {
      "page": "walkthroughs/d.html",
      "concept": "schema",
      "anchor": "concept-intro-2",
      "before": "回滚也不能只切回旧提示。如果新状态 schema 包含unknown而旧版不理解，回退可能重新引入危险重复。兼容读取、状态迁移与明确停止，是比“回滚按钮存在”更实在的恢复能力。"
    },
    {
      "page": "walkthroughs/d.html",
      "concept": "dag",
      "anchor": "concept-intro-3",
      "before": "本例的压缩13到20秒在关键路径上，无法被后续模型计算隐藏。若压缩后节省的 Prefill 时间小于这7秒，并且任务本来只剩一轮，压缩可能得不偿失。但在更长任务中，压缩可以降低后续"
    },
    {
      "page": "chapters/01.html",
      "concept": "probability-symbols",
      "anchor": "symbol-intro-1",
      "before": "这里必须明确区分三种写法： 2 在计算机中可以保存成二进制 00000010 ；在6项词表里可以概念性地写成One-hot [0,0,1,0,0,0] ；而真正进入后续模型层的初始"
    },
    {
      "page": "chapters/01.html",
      "concept": "json",
      "anchor": "symbol-intro-2",
      "before": "第三步发生在服务端或本地模型适配器。结构化消息必须转为模型训练时能识别的序列。开放模型可以用聊天模板渲染成类似“用户开始标记—正文—结束标记—助手开始标记”；商业服务还可能加入客户"
    },
    {
      "page": "chapters/01.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-3",
      "before": "第一步是确定会话身份和环境。宿主知道当前目录、工作区、连接的工具、已有对话等。这里大部分是普通程序操作，不需要模型“思考”。用户只写“这个Bug”，宿主未必知道指哪个Bug；IDE"
    },
    {
      "page": "chapters/01.html",
      "concept": "pixels",
      "anchor": "symbol-intro-4",
      "before": "输入Embedding是 Token ID 查表得到的初始向量；隐藏状态是该Token在特定层、特定前缀下的上下文化表示； logits 是最后隐藏状态对词表的未归一化评分；检索向"
    },
    {
      "page": "chapters/02.html",
      "concept": "sigma",
      "anchor": "symbol-intro-1",
      "before": "普通两层FFN可以写为 σ(XW1+b1)W2+b2 ：先升维，再非线性，再降回d。SwiGLU形式可写为 (SiLU(XWg) ⊙ XWu)Wd ，乘法门控控制哪些特征通过。它对"
    },
    {
      "page": "chapters/02.html",
      "concept": "concat",
      "anchor": "symbol-intro-2",
      "before": "每个头在自己的子空间给出结果，拼接只把它们并排放置， Wo 使模型能学习如何跨头线性组合并映射回残差宽度。没有 Wo 并非数学上不可能构造模型，但表达结构改变，需要重新训练评价，不"
    },
    {
      "page": "chapters/02.html",
      "concept": "batchnorm",
      "anchor": "symbol-intro-3",
      "before": "LayerNorm 对每个位置的特征减均值，再除标准差并应用可学习缩放/平移。RMSNorm通常不减均值，而用均方根缩放并应用可学习权重。它们不是跨整个 batch 统计；所以这里"
    },
    {
      "page": "chapters/02.html",
      "concept": "probability-symbols",
      "anchor": "symbol-intro-4",
      "before": "设 qi,ki 独立、均值0、方差1，且各维独立，则 E[qi ki]=0 ， Var(qi ki)=1 。点积 S=Σi qi ki 有 Var(S)=d ，标准差为 √d 。所"
    },
    {
      "page": "chapters/03.html",
      "concept": "upstream",
      "anchor": "symbol-intro-1",
      "before": "定义 S=QKᵀ/√d 、 A=softmax(S) 、 O=AV ，设上游梯度 G=∂L/∂O 。先对最后一步矩阵乘法："
    },
    {
      "page": "chapters/03.html",
      "concept": "dropout",
      "anchor": "symbol-intro-2",
      "before": "固定权重、关闭dropout，先保存前缀输出；然后只改变未来Token，前缀对应 logits 不应变化。再比较整段、逐Token和多种分块推理的输出，三者应在合理浮点容差内一致。"
    },
    {
      "page": "chapters/03.html",
      "concept": "bos-eos",
      "anchor": "symbol-intro-3",
      "before": "不一定。 EOS 是序列内容标记，不自动禁止注意力跨文档边界。若目标是严格隔离样本，需要分段 attention mask ，并同步处理位置和loss范围。若允许跨文档上下文，则可"
    },
    {
      "page": "chapters/04.html",
      "concept": "bos-eos",
      "anchor": "symbol-intro-1",
      "before": "第一层是Token序列结束。模型可对 EOS 或消息结束Token给概率并采样，具体标记取决于模板。结束标记也经过训练，不是一个知道所有用户要求都已满足的独立证明器。"
    },
    {
      "page": "chapters/04.html",
      "concept": "json",
      "anchor": "symbol-intro-2",
      "before": "第二层是模型响应结束。服务可能因为最大输出预算终止；这种情况常有incomplete或长度相关状态。半截 JSON 、未闭合代码块或未完成工具参数不能因连接关闭就当作有效结果。停止"
    },
    {
      "page": "chapters/05.html",
      "concept": "dropout",
      "anchor": "symbol-intro-1",
      "before": "梯度累积把大batch切为K个micro-batch，连续反向但延后更新。若每个micro-batch包含相同有效Token数，loss除以K通常能得到对应平均梯度；有效Token"
    },
    {
      "page": "chapters/05.html",
      "concept": "bos-eos",
      "anchor": "symbol-intro-2",
      "before": "设训练序列为 [BOS, 我, 爱, 编程, EOS] 。常见实现把整段作为输入，再在计算loss时对齐如下："
    },
    {
      "page": "chapters/07.html",
      "concept": "big-o",
      "anchor": "symbol-intro-1",
      "before": "设模型宽度d、前缀P、生成M个Token。忽略常数，单层对长度T全量前向的线性投影/FFN约 O(Td²) ，attention约 O(T²d) 。没有缓存，每生成一步都重做越来越"
    },
    {
      "page": "chapters/10.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "进入深读前的小检查： 把一个包含中文和JSON的消息切成不完整字节片段，想清楚应该在哪里缓冲、在哪里解析、在哪里才允许执行。"
    },
    {
      "page": "chapters/10.html",
      "concept": "linebreak",
      "anchor": "symbol-intro-2",
      "before": "worked-Q038"
    },
    {
      "page": "chapters/11.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "Server返回result或协议error。Host再把内容转换为模型工具结果，关联模型侧call_id。MCP的 JSON -RPC id与模型侧call_id属于不同协议层，"
    },
    {
      "page": "chapters/11.html",
      "concept": "databases",
      "anchor": "symbol-intro-2",
      "before": "worked-Q041"
    },
    {
      "page": "chapters/12.html",
      "concept": "tool-objects",
      "anchor": "symbol-intro-1",
      "before": "在本书检查的Codex提交 ce0323f2f2d3b25e82806cd555237da3db4e1897 中，ToolRouter区分注册表、模型可见 schema 与不同暴露"
    },
    {
      "page": "chapters/12.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-2",
      "before": "Copilot包含不同使用表面，工具、上下文来源、自定义Agent、权限和执行环境不应混为一谈。CLI的自定义Agent文档描述了基于配置的专用行为与工具集合；同名能力在IDE或云"
    },
    {
      "page": "chapters/15.html",
      "concept": "pixels",
      "anchor": "symbol-intro-1",
      "before": "常见稠密检索用 query encoder和document encoder产生向量，通过对比学习拉近相关对、推远负例。查询与文档可以分开编码以便离线建索引。向量相似度是训练目标下"
    },
    {
      "page": "chapters/16.html",
      "concept": "pixels",
      "anchor": "symbol-intro-1",
      "before": "双塔检索把 query 和doc独立压成向量，便于全库搜索；cross-encoder把query与候选文档联合编码，能做细粒度交互，但每个候选都要计算。ColBERT保留 Tok"
    },
    {
      "page": "chapters/17.html",
      "concept": "version-tools",
      "anchor": "symbol-intro-1",
      "before": "worked-Q066"
    },
    {
      "page": "chapters/17.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-2",
      "before": "安全的读取接口应尽可能返回内容来源与版本标识。编辑时核对预期旧内容或版本；测试实际运行磁盘或构建环境中的哪份代码也要明确。对IDE集成，可设计工作区overlay优先读取未保存内容"
    },
    {
      "page": "chapters/19.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "worked-Q075"
    },
    {
      "page": "chapters/19.html",
      "concept": "databases",
      "anchor": "symbol-intro-2",
      "before": "“用于所有存储、数据库、缓存、文件、性能、安全与架构任务”覆盖太广，几乎任何后端修改都会触发。相反，“仅在用户明确说优化SQL索引时使用”又可能漏掉“接口查询太慢，帮我定位”的自然"
    },
    {
      "page": "chapters/22.html",
      "concept": "databases",
      "anchor": "symbol-intro-1",
      "before": "一个description把“数据库查询”改为“SQL与数据库查询”，hash会变，但功能可能更好；行为测试应该允许这种改进。相反，删除一句关键禁止条件后文档仍格式正确，只有相应负"
    },
    {
      "page": "chapters/23.html",
      "concept": "combination",
      "anchor": "symbol-intro-1",
      "before": "pass@k = 1 − C(n−c,k)/C(n,k),  n≥k"
    },
    {
      "page": "chapters/23.html",
      "concept": "json",
      "anchor": "symbol-intro-2",
      "before": "确定性检查优先： JSON 可解析、测试退出码、文件存在、数值计算、权限范围不需要模型评语。开放设计可用模型辅助，但对重要缺陷仍需证据验证。"
    },
    {
      "page": "chapters/26.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "若系统提供语义明确、可查询结果的 API ，优先使用它更容易处理幂等、错误和状态。必须操作GUI时，观察来自截图、DOM或可访问性树；这些观察都有采集时间，点击前页面可能已变化。坐"
    },
    {
      "page": "chapters/26.html",
      "concept": "pixels",
      "anchor": "symbol-intro-2",
      "before": "把问答拆为身份与时间范围确定、证据检索、适用性检查、主张生成、引用验证和答复。检索相似度只负责找候选，版本、权限和条件决定候选是否能作为依据；必要时承认证据不足，而不是补造政策。 "
    },
    {
      "page": "chapters/27.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "GUI系统先采集时间t的截图，模型选择某元素或坐标，执行器在t+Δ操作。若页面在Δ期间重排，正确识别也可能点错。因此执行器可以结合DOM或可访问性树定位稳定对象，并在关键动作后重新"
    },
    {
      "page": "chapters/28.html",
      "concept": "mla",
      "anchor": "symbol-intro-1",
      "before": "GQA 通过多个 Query 头共享较少的K/V头减少缓存；MLA通过学习的低维潜在表示联合表达K/V，并对位置部分作专门设计。MLA是模型架构与训练的一部分，不是把任意现有模型的"
    },
    {
      "page": "foundations/05.html",
      "concept": "probability-symbols",
      "anchor": "symbol-intro-1",
      "before": "原文Token 对应编号 从E中查找 取出的4个数字 我 1 E[1] [0.2,-0.1,0.7,0.4] 爱 2 E[2] [-0.3,0.8,0.1,0.5] 学习 3 E["
    },
    {
      "page": "foundations/14.html",
      "concept": "sigma",
      "anchor": "symbol-intro-1",
      "before": "对一排数 [1,3] ： 均值 μ=(1+3)/2=2；每项偏离均值为[-1,1]；平方后[1,1]；平均得 方差 σ²=1；开平方得 标准差 σ=1。"
    },
    {
      "page": "foundations/15.html",
      "concept": "bos-eos",
      "anchor": "symbol-intro-1",
      "before": "模型可以生成特殊 EOS（结束）Token ；宿主也可以设置最大输出长度、停止字符串或接收取消请求。这些只是不同的停止原因，不能都读成“任务成功完成”。"
    },
    {
      "page": "foundations/15.html",
      "concept": "json",
      "anchor": "symbol-intro-2",
      "before": "网络传输也会将数据分成不固定大小的片段，F23会解释为什么半段JSON不能执行。这里先分清生成单位、文本编码单位、网络分片单位。"
    },
    {
      "page": "foundations/18.html",
      "concept": "bos-eos",
      "anchor": "symbol-intro-1",
      "before": "worked-F18"
    },
    {
      "page": "foundations/23.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "JSON 是一种表示结构化数据的文本格式。花括号表示对象，键后面冒号给值；方括号表示列表；引号里的内容是字符串。例如："
    },
    {
      "page": "foundations/23.html",
      "concept": "linebreak",
      "anchor": "symbol-intro-2",
      "before": "worked-F23"
    },
    {
      "page": "foundations/25.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "JSON-RPC 是一种用JSON表达远程方法、参数、请求标识与结果/错误的调用约定。它解决消息组织，不自动解决身份认证和操作幂等。"
    },
    {
      "page": "foundations/39.html",
      "concept": "pixels",
      "anchor": "symbol-intro-1",
      "before": "worked-F39"
    },
    {
      "page": "reading-notes/chapter-00.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "界面、CLI和IDE扩展是交互入口；模型、工具与状态管理是执行部件。相同界面不保证相同上下文，不同界面也可能共享核心执行逻辑。具体是否共享，应依据产品说明或某个版本源码，而非从外观"
    },
    {
      "page": "reading-notes/chapter-01.html",
      "concept": "concat",
      "anchor": "symbol-intro-1",
      "before": "多头机制在不同投影空间计算并拼接。不能把每个头固定命名为“语法头”“事实头”后当作完整解释。原始论文提出的是编码器—解码器架构；GPT类因果解码器是另一种组织方式，不能混画。 [S"
    },
    {
      "page": "reading-notes/chapter-01.html",
      "concept": "mla",
      "anchor": "symbol-intro-2",
      "before": "DeepSeek-V3报告讨论MoE、MLA和训练系统等设计。MLA与常规KV组织存在差异，提醒标准缓存公式不是所有架构通用。多Token预测训练目标也不等于部署时无需验证地一次输"
    },
    {
      "page": "reading-notes/chapter-04.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "合法JSON保证语法；Schema保证结构、类型和枚举等约束；字段中的事实、引用与业务状态仍需验证。Schema中应允许证据不足、工具失败等真实状态，避免强迫中间结果冒充完成。 ["
    },
    {
      "page": "reading-notes/chapter-05.html",
      "concept": "databases",
      "anchor": "symbol-intro-1",
      "before": "worked-R05-07"
    },
    {
      "page": "reading-notes/chapter-06.html",
      "concept": "tool-objects",
      "anchor": "symbol-intro-1",
      "before": "worked-R06-04"
    },
    {
      "page": "reading-notes/chapter-06.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-2",
      "before": "Codex、Claude Code、Copilot包含客户端、模型、工具和服务，并持续变化。公开文档说明能力，开源代码说明某版本实现，一次日志只证明某次运行。不能从界面表现推断隐藏"
    },
    {
      "page": "reading-notes/chapter-06.html",
      "concept": "databases",
      "anchor": "symbol-intro-3",
      "before": "worked-R06-18"
    },
    {
      "page": "reading-notes/chapter-08.html",
      "concept": "pixels",
      "anchor": "symbol-intro-1",
      "before": "BM25等词项方法利用词出现与统计重要性；稠密检索把查询和文档编码为向量；DPR展示双编码器问答检索；ColBERT使用更细粒度Token表示与晚交互。向量距离不是事实正确率， i"
    },
    {
      "page": "reading-notes/chapter-10.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "worked-R10-04"
    },
    {
      "page": "reading-notes/chapter-10.html",
      "concept": "databases",
      "anchor": "symbol-intro-2",
      "before": "原创选择：全局代码风格放指导，迁移专用检查放技能，SQL执行放工具，提交前静态检查放Hook或CI，真正独立任务才需要专门Agent。必须禁止的动作不能仅写进Skill。"
    },
    {
      "page": "reading-notes/chapter-11.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "Copilot的Agent代码审查功能提供发现和处理问题的产品入口，但不能代替项目验收。支持方式与权限应按具体CLI版本核查。"
    },
    {
      "page": "reading-notes/chapter-11.html",
      "concept": "databases",
      "anchor": "symbol-intro-2",
      "before": "worked-R11-03"
    },
    {
      "page": "reading-notes/chapter-12.html",
      "concept": "combination",
      "anchor": "symbol-intro-1",
      "before": "原创理想化例子： 每次独立、p=0.8，三次至少一次成功为 1-(1-p)^3=0.992 ，三次全成功为 p^3=0.512 。真实尝试可能相关，不能无条件套用。常见估计 1-C"
    },
    {
      "page": "reading-notes/chapter-12.html",
      "concept": "json",
      "anchor": "symbol-intro-2",
      "before": "原创练习：将某平台上的评测导出为独立任务JSON与评分脚本，说明哪些能力仍依赖平台，哪些可以迁移。"
    },
    {
      "page": "reading-notes/chapter-13.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "worked-R13-08"
    },
    {
      "page": "reading-notes/chapter-13.html",
      "concept": "databases",
      "anchor": "symbol-intro-2",
      "before": "工具输出可能错误或被操纵，模型代码也不天然可信。用于Shell、SQL或HTML前仍需对应校验。MCP标准化交互，不为服务实现背书；插件可能增加脚本与外部连接，应检查实际权限。 ["
    },
    {
      "page": "reading-notes/chapter-14.html",
      "concept": "databases",
      "anchor": "symbol-intro-1",
      "before": "worked-R14-11"
    },
    {
      "page": "reading-notes/chapter-15.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "worked-R15-14"
    },
    {
      "page": "reading-notes/guide-12.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "保存任务JSON、评分代码、配置和执行证据，使平台变化后仍能比较。拓展阅读目录涉及的某些平台有生命周期公告，书中保留核验日期与计划日期，不把未来计划写成已发生。"
    },
    {
      "page": "studies/chapters/01.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "用户可见的字符串、客户端消息对象、服务端序列化模板、Token ID序列、模型中的浮点张量，不是同一个对象。客户端可能发送带有 role 和 content 的JSON；服务将角色"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "concat",
      "anchor": "symbol-intro-1",
      "before": "阅读 Decoder.forward 时应定位：归一化、投影、RoPE的位置、缓存拼接轴、非方形mask、softmax轴、合头顺序、前馈残差。每项都应对应至少一个不变性或负对照。"
    },
    {
      "page": "studies/chapters/02.html",
      "concept": "dropout",
      "anchor": "symbol-intro-2",
      "before": "验收题：若整段和缓存输出不同，先查什么？先检查dropout是否关闭、参数是否一致、位置偏移与mask对齐，再检查dtype和数值容差。不能仅通过放宽容差掩盖逻辑错误。若误差因长度"
    },
    {
      "page": "studies/chapters/03.html",
      "concept": "batchnorm",
      "anchor": "symbol-intro-1",
      "before": "worked-S03"
    },
    {
      "page": "studies/chapters/04.html",
      "concept": "sigma",
      "anchor": "symbol-intro-1",
      "before": "如果成对偏好概率采用Bradley–Terry形式 σ(rw−rl) ，同一提示下的 log Z(x) 在相减时消失，得到DPO损失："
    },
    {
      "page": "studies/chapters/04.html",
      "concept": "probability-symbols",
      "anchor": "symbol-intro-2",
      "before": "maxπ  E(y~π)[r(x,y)] − β KL(π(.|x) || πref(.|x))\n最优分布：π*(y|x) ∝ πref(y|x) exp(r(x,y)/β)\n因此"
    },
    {
      "page": "studies/chapters/05.html",
      "concept": "bos-eos",
      "anchor": "symbol-intro-1",
      "before": "生成停止可能因为EOS、停止字符串、最大输出Token、取消、网络中断、服务错误或工具调用交接。它们不是同一种“完成”。在API层，应读取响应状态、错误和输出项类型；在Agent层"
    },
    {
      "page": "studies/chapters/05.html",
      "concept": "json",
      "anchor": "symbol-intro-2",
      "before": "在约束输出中，解码器还可能屏蔽不符合语法的Token。这样能帮助满足结构约束，但有三层必须分开：字节能否解析、结构是否满足Schema、字段是否符合业务事实。一个合法JSON仍可以"
    },
    {
      "page": "studies/chapters/06.html",
      "concept": "dropout",
      "anchor": "symbol-intro-1",
      "before": "本书 online_attention 实现上述恒等式，并与普通softmax注意力比较不同块大小。它没有CUDA核、共享内存布局、反向算子或硬件性能测量。反向中可利用保存的统计重"
    },
    {
      "page": "studies/chapters/07.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "目标：构建不把半截JSON当动作、不把断流当完成的模型适配器。实验： sse_protocol.py ；可选在线适配器： live_readonly.py ，本书未运行付费调用。"
    },
    {
      "page": "studies/chapters/07.html",
      "concept": "linebreak",
      "anchor": "symbol-intro-2",
      "before": "本书实现支持分块字节、CRLF换行和多data行，并对未结束的最后一事件报截断。测试把中文内容逐字节送入，验证不会因多字节切分损坏文本。不要对每个网络chunk直接 json.lo"
    },
    {
      "page": "studies/chapters/08.html",
      "concept": "version-tools",
      "anchor": "symbol-intro-1",
      "before": "模型根据版本A生成补丁，用户此时改成版本B。执行器若不检查就写入，会覆盖用户修改。CAS要求“当前内容仍等于我读到的expected”，否则返回stale并重新读取。版本可用com"
    },
    {
      "page": "studies/chapters/08.html",
      "concept": "databases",
      "anchor": "symbol-intro-2",
      "before": "journal.py 使用SQLite记录 task_id/op_id 、相对路径、修改前哈希、修改后哈希和状态。写入前先比较当前内容与expected。若操作ID已存在但参数不同"
    },
    {
      "page": "studies/chapters/09.html",
      "concept": "tool-objects",
      "anchor": "symbol-intro-1",
      "before": "build_initial_context 在这个快照中从执行策略构造开发者级指令，加入可选开发者指令、用户项目规则和环境信息。它返回的是 ResponseItem 集合，不是最终"
    },
    {
      "page": "studies/chapters/10.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "探针不应让模型仅回答“我已经加载了技能”。应设置必须使用该规则才能满足的可验证结果，例如生成一个规定键名的JSON，但同时避免把该键名直接泄露到用户任务中。即使结果符合，也只能作为"
    },
    {
      "page": "studies/chapters/10.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-2",
      "before": "Claude Code CLI、IDE中的聊天、Copilot CLI、GitHub托管编码Agent，并非同一个运行环境。某项工具、Skill、记忆或MCP功能在一个产品面可用，"
    },
    {
      "page": "studies/chapters/14.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "在IDE场景，应明确以未保存编辑器buffer还是磁盘文件为准；在CLI场景，应检查工作树已有用户修改并避免覆盖。不能因为AI承担开发，就降低普通软件工程中的变更隔离要求。"
    },
    {
      "page": "studies/chapters/15.html",
      "concept": "databases",
      "anchor": "symbol-intro-1",
      "before": "这是真实SQLite查询，不是模拟模型记忆。当前实现没有完整事务时间历史、撤回事件、并发合并和自然语言冲突判断；它说明最小元数据如何避免时间混淆。生产要不要双时间，取决于是否有追溯"
    },
    {
      "page": "studies/chapters/16.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "Agent Skills规范描述元数据、主体和资源组织；宿主如何发现、加载和执行资源仍需查具体实现。遵循文件格式，只能说明可被识别的条件之一，不等于所有CLI行为完全一致。 [N2"
    },
    {
      "page": "studies/chapters/19.html",
      "concept": "combination",
      "anchor": "symbol-intro-1",
      "before": "pass@k = 1 − C(n−c,k) / C(n,k)"
    },
    {
      "page": "studies/chapters/24.html",
      "concept": "interface-environment",
      "anchor": "symbol-intro-1",
      "before": "结构化API可以用对象ID指定目标；GUI Agent可能只能看到截图或DOM，从中定位按钮、输入框和当前状态。截图到动作之间界面可能变化，坐标可能因滚动、缩放或窗口尺寸失效。点击"
    },
    {
      "page": "studies/chapters/24.html",
      "concept": "pixels",
      "anchor": "symbol-intro-2",
      "before": "如果模型在缩放后的截图上预测坐标，执行器必须按原始窗口尺寸转换；裁剪区域还需加偏移。坐标变换应作为确定性程序验证，不交给模型口头估算。窗口缩放、DPI和滚动位置要纳入当前观察状态。"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "pixels",
      "anchor": "symbol-intro-1",
      "before": "经典RAG把检索文档与生成结合；DPR研究稠密段落检索；ColBERT用多Token延迟交互；HyDE借助假设文档改写查询。这些首先作用于召回或匹配，并不能自动解决来源权限与更新。"
    },
    {
      "page": "studies/chapters/26.html",
      "concept": "mla",
      "anchor": "symbol-intro-2",
      "before": "GQA通过共享KV头减少缓存；MLA类结构通过低秩潜在表示压缩注意力相关状态，并结合特定位置处理设计。DeepSeek-V3报告包含MLA与MoE等具体方案，不能把它简单描述为“G"
    },
    {
      "page": "studies/chapters/27.html",
      "concept": "databases",
      "anchor": "symbol-intro-1",
      "before": "RecoveryTests.test_real_crash_and_reconcile 在独立子进程中调用文件更新器，在 os.replace 之后、SQLite标记完成之前立即退"
    },
    {
      "page": "studies/chapters/31.html",
      "concept": "upstream",
      "anchor": "symbol-intro-1",
      "before": "对一行p，Jacobian是 diag(p)−ppᵀ 。直接建立n×n矩阵会浪费；设该行上游梯度为g，可写："
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "sigma",
      "anchor": "symbol-intro-1",
      "before": "均值 μ = (x₁+x₂+x₃+x₄)/4\n方差 σ² = Σ(xⱼ−μ)²/4\nLN(x)ⱼ = (xⱼ−μ)/sqrt(σ²+ε)"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "dropout",
      "anchor": "symbol-intro-2",
      "before": "固定权重、关闭随机dropout、使用相同Token序列，分别运行全量前向与分段缓存前向，比较对应位置logits，设置合理浮点容差。再覆盖不同分段长度、位置偏移和前缀编辑。"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "bos-eos",
      "anchor": "symbol-intro-3",
      "before": "若调用者把整段 [1,2,3,6] 和旧缓存一起送入一个只接受新Token的接口，就可能重复追加前缀；若把位置重置为0，位置编码错误；若生成 EOS 后还盲目执行工具，则把语言停止"
    },
    {
      "page": "walkthroughs/a.html",
      "concept": "mla",
      "anchor": "symbol-intro-4",
      "before": "真实系统需要更大的参数、多个头或 GQA /MLA、真实Tokenizer、训练过的权重、模型对应的归一化和激活、正确位置方案、批处理、精度与设备内核。服务还要管理请求取消、KV分"
    },
    {
      "page": "walkthroughs/b.html",
      "concept": "json",
      "anchor": "symbol-intro-1",
      "before": "下面是一段 作者设计的协议级教学轨迹 ，不是从商业LLM运行中导出的真实会话。工具结构是简化的 Harness 自定义格式，不要求与任何厂商 JSON 字段完全相同。它用于回答：“"
    },
    {
      "page": "walkthroughs/c.html",
      "concept": "pixels",
      "anchor": "symbol-intro-1",
      "before": "本例使用虚构的“项目A日志保留规则”，不是任何公司的真实制度。日期、文档和检索排名均为教学数据。目的是跟踪信息在每个对象中的变化，尤其解释为什么“检索到了相关文档”仍不足以正确回答"
    }
  ],
  "scope": "扫描各阅读页，按配置的术语模式定位首次语义使用；F11另行完整重写。覆盖报告不声称穷尽所有专业词或证明所有文字无歧义。"
}