首页/Agent 核心
模块 02 · 原理

Agent 核心

LLM 原理与 Agent 体系:Token、注意力、Transformer、采样,到 Tool Calling、ReAct、MCP、多 Agent 与评测。

15 章Agent Core

这是一套写给应用开发者的 Agent 开发教程:默认你会写代码、懂基本的编程概念,但不要求机器学习背景。我们从「模型眼里的文字长什么样」一路讲到「如何交付一个值得托付的生产级 Agent」——原理讲直觉,实战给代码。

这套文档解决什么问题

市面上的 Agent 资料两极分化:一边是学术论文和模型原理,门槛高、离工程远;另一边是框架速成教程,教你调 API,但讲不清背后发生了什么。结果是很多人能跑通 Demo,却回答不了这些问题:

  • 为什么模型有时"理解"不了我的指令,有时又表现出色?
  • 温度(temperature)到底在控制什么?设成 0 是什么效果?
  • 上下文窗口满了会发生什么?该怎么设计应对策略?
  • Tool Calling 的原理是什么?为什么模型会"调用"工具?
  • Skill、MCP、子代理分别在什么场景下使用?

这套文档的目标:让你从"会用"到"理解",再从"理解"到"能造"。读完第三章,你可以不依赖任何框架,用几百行 Python 写出自己的 Agent;读完第五章,你知道怎么让它值得托付。

五个问题,十五章

与其罗列一堆知识点,不如用五个问题组织整个旅程——每一章都在回答其中一问,前一问的答案又是后一问的地基:

部分 回答的问题 章节
第一章 它是什么? 01-04
第二章 怎么用好它? 05-06
第三章 怎么让它干活? 07-09
第四章 怎么扩展它? 10-12
第五章 怎么做得可靠? 13-15

完整目录

第一章 · 它是什么(01-04)

章 标题 一句话简介
01 Token 与词嵌入 AI/ML/DL/LLM 的关系;BPE 分词与语义空间
02 前向传播与反向传播 神经元与矩阵变换;梯度下降与过拟合
03 注意力机制与 Transformer 架构 Q/K/V 的直觉;Transformer 的完整拼装
04 预训练、RLHF 与采样(KV Cache) SFT、RLHF 与对齐;自回归、采样与 KV Cache

第二章 · 怎么用好它(05-06)

章 标题 一句话简介
05 本地模型与消息结构 Ollama 实战;role 体系与系统提示词
06 会话管理与 JSON 输出 上下文裁剪与缓存命中;结构化输出与校验

第三章 · 怎么让它干活(07-09)

章 标题 一句话简介
07 Tool Calling:协议与封装 调用协议全貌;好工具的特征与 Tool 类
08 ReAct 模式与主循环 思想源头;轮次、事件、闸门与终止条件
09 实战:Deep Research Agent 联网查证、给出带引用答案的完整 Agent

第四章 · 怎么扩展它(10-12)

章 标题 一句话简介
10 Skill 与渐进式披露 SKILL.md 文档格式;按需加载
11 MCP 全景 协议、Server、Client 与 Agent 接入
12 多 Agent 与选型策略 Skill vs MCP;子代理与任务分解

第五章 · 怎么做得可靠(13-15)

章 标题 一句话简介
13 提示词工程与上下文工程 提示词五模式;上下文预算与压缩
14 循环、图与骨架工程 Loop/Graph/Harness 三大工程
15 记忆、权限与评测 记忆系统、权限控制、评测与可观测

三条阅读路线

完整路线(推荐第一次学习使用):00 → 01 → … → 15 顺序阅读。第一章的数学直觉和第二章的消息体系会在后面反复出现。

快速路线(已有 ML 基础,想尽快上手 Agent):从 05 开始 → 06 → 07 → 08 → 09,然后按需阅读 10-12。遇到理解不了的概念再回查第 1-4 章。

方法论路线(已会开发,想提升设计能力):13 → 14 → 12 → 11 → 15。

环境准备

全部代码基于 Python 3.12+,依赖极少:

# 建议使用 uv 管理环境
uv init agent-lab && cd agent-lab
uv add numpy openai pydantic

# 安装 Ollama(第二章起需要):https://ollama.com
# 拉取一个轻量模型用于练习
ollama pull qwen3:4b

代码约定:

  • 第一章(01-04)只用 numpy,每个示例都可直接运行、打印结果
  • 第二章起用 openai SDK 直连 Ollama,不引入任何 Agent 框架——目的是看清每一层
  • 第四章按需引入 mcp 等标准库
  • 所有代码完整可运行,不省略 import,方便你逐行敲一遍

开始之前:一个心态

第一章的数学可以用"直觉优先"的方式读:看不懂公式时,先读公式旁边的文字解释和代码示例,代码跑一遍再看公式,往往就通了。这套文档里每个数学概念都配了能运行的代码,因为对开发者来说,一段可运行的 numpy 代码比三页推导更有说服力。

从 01 开始吧。

章节清单

01Token 与词嵌入本章是「第一章 · 它是什么」的开篇。我们先建立一张概念地图——AI、机器学习、深度学习、大模型谁包含谁,监督、自监督、强化三大学习范式如何塑造了 LLM 的训练方式;再回答一个最根本的问题:模型根本"看不见"文字,它眼…29 分钟 · 22 个代码示例02前向传播与反向传播上一章的结尾,文字已经变成了向量——但一组固定的向量还谈不上"智能"。机器怎么从数据中自己学到规律?这一章回答这个问题,顺便完成一次彻底的祛魅:所谓深度学习模型,就是一连串嵌套的矩阵运算加非线性函数,没有魔法、没有神秘主…24 分钟 · 14 个代码示例03注意力机制与 Transformer 架构第 2 章搭好的神经网络已经就位:它有了嵌入表和可训练的权重。但一个先天缺陷还没解决——嵌入表是一词一向量,静态不变的。"苹果发布了新手机"和"我吃了个苹果"里,"苹果"查的是嵌入表的同一行,含义却天差地别。本章讲 Tr…20 分钟 · 6 个代码示例04预训练、RLHF 与采样(KV Cache)第 3 章拼出了完整的架构,但一台随机初始化的模型只会输出乱码——把它变成能对话、能推理、能调用工具的助手,要经过一条两级流水线:预训练(学知识)+ 后训练(学做人)。这是模型的"前半生"。"后半生"则是每次你按下回车后…18 分钟 · 12 个代码示例05本地模型与消息结构前 4 章讲完了原理:语言如何变成 token,模型如何靠注意力理解上下文、如何从海量语料中学到知识、如何一个 token 一个 token 地开口说话。从本章起进入第二章「怎么用好它」——所有代码都在真实模型上运行。我…18 分钟 · 12 个代码示例06会话管理与 JSON 输出第 5 章把模型跑通了:本地推理服务就位,system / user / assistant 的消息体系也建立起来。但离"用好"还差两块拼图。其一是跨轮次的记忆管理——所谓"连续对话",其实是你的代码在维护一个不断增长的…24 分钟 · 15 个代码示例07Tool Calling:协议与封装第三章「怎么让它干活」从这里开始。前面两章里,模型再好用也只有一张嘴:它能告诉你"今天适合跑步",却查不了实时天气、读不了你的文件、调不了你的接口——嘴上功夫再好,也伸不出一只手。给模型接上工具,就是补上这只手。这是 A…24 分钟 · 13 个代码示例08ReAct 模式与主循环第 7 章我们把工具接到了模型手上,但每一步都是你牵着模型走:何时调用、传什么参数,全由代码写死。Agent 的关键一跃是反过来——让模型自己决定何时用工具、何时停止。这一章分两步走:先回到原生 tool calling…24 分钟 · 11 个代码示例09实战:Deep Research Agent第 8 章我们造出了自主执行的引擎:把工具调用装进循环,让模型自己决定下一步。这一章是第三章「怎么让它干活」的收官——把前面的装备全部综合运用起来:系统提示词(第 5 章)、会话管理(第 6 章)、工具设计(第 7 章)…11 分钟 · 5 个代码示例10Skill 与渐进式披露第 9 章的搜索助手打完了“模型 + 工具 + 循环”的组合拳;从这一章起进入第四章「怎么扩展它」——当能力越攒越多,怎么组织?第 7 章末尾说过:工具越多,Agent 越笨——schema 挤占窗口、选择困难。但有些能…9 分钟 · 7 个代码示例11MCP 全景第 10 章的 Skill 证明了一件事:一份写得清楚的说明书,就能让模型获得一项新技能。但文档型能力有自己的边界——它教模型「怎么把一件事做好」,模型的手还是原来那双。想让任意 Agent 都能直接查天气、读数据库、操…49 分钟 · 28 个代码示例12多 Agent 与选型策略上一章看完了 MCP 的全景,工具箱里已经有了本地工具、Skill、MCP 三类能力。能力多了,新问题随之而来:怎么组织它们?本章分两层回答:前半是工具层的组织——Skill(第 10 章)和 MCP(第 11 章)经常…18 分钟 · 11 个代码示例13提示词工程与上下文工程这里是第五章「怎么做得可靠」的第一章。前四章解决了"能干活":模型接上了工具、跑起了自主循环、长出了文档能力、说起了通用协议。但把一个 Agent 从"能跑"带到"可靠",第一站不在模型、也不在工具,而在一个容易被忽视的…18 分钟 · 14 个代码示例14循环、图与骨架工程第 13 章经营的是模型"看到什么"——窗口里装什么、裁掉什么、留下什么。这一章换个视角:模型之外的所有工程结构。同一个模型,装进不同的骨架,表现可以天差地别;循环怎么跑怎么停、复杂流程怎么编排、整套骨架怎么分层搭起来—…32 分钟 · 20 个代码示例15记忆、权限与评测这里是第五章「怎么做得可靠」的收官,也是全系列的最后一章。前两章让 Agent 稳了下来:上下文有经营、骨架有章法。但要真正值得托付,还差三件事——记忆,让它有过去;安全,让它有边界;度量,让它有未来。本章分三部分讲完这…37 分钟 · 21 个代码示例