拓展阅读

全局认知

建立模型、Agent、上下文与工程系统的完整地图

阶段 05 项展开讲义正文全部展开

沿着对象与状态理解本章

先沿着实际对象追踪:用户文字不是消息包,消息包不是Token数组,编号也不是Embedding。把这四种对象分别认出来,后面的shape和API角色才有落点。下图的词表是独立教学约定;不要把它当成所有Tokenizer的真实结果。

下方图解的固定输入在“输入与适用条件”中声明。它用于解释本章机制,不与本章其他独立例子的数值暗中接续。

动态图解 · F03

文字、字节、Token、编号是四件事

为什么不能把“一个汉字”当成“一次生成”?

Token是分词规则选出来的片段,编号是它在词表中的地址。一个Token可以跨越多个字符,也可能只覆盖字符编码的一部分。教学中把“学习”合成一个Token,只是明确的演示规则,不能当成所有模型的实际分词。

字节存储和传输文本的单位;UTF-8里的汉字通常占多个字节。
Token分词器处理的片段单位。
词表片段与编号的对照。

输入与适用条件:本图使用人为词表:PAD0、我1、爱2、学习3、你4、!5;不演示真实BPE训练。

1 / 6 · 原文字

第1步,共6步

窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。

文字、字节、Token、编号是四件事:原文字原文字我爱学习 / 你爱文本片段我/爱/学习;你/爱词表对应我1、爱2、学习3、你4整数序列[1,2,3] 与 [4,2]解码校验按同一规则还原片段明确边界不等于按字分词,也不是语义打分教学流程;高亮表示当前步骤,不表示真实耗时比例。

先确定待编码原文,两句之间不能直接接起来当作同一人的上下文。

本步状态由图形与说明共同给出。

默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。

为什么需要

弄清计数单位,可避免上下文预算、输出长度和界面刷新混为一谈。

怎样实现

用目标模型配套分词器编码和解码,并分开观察字符数、字节数、Token数。

可能的代价与误解

更换分词器后沿用旧编号,会读到错误的词表项。

如何判断是否做对

对实际输入做一次往返编解码,并按所用分词器规则处理特殊Token。

先建立完整系统模型

把AI用于工作,不只是输入一句话再等待答案,而是建立一个能够获取信息、形成判断、执行动作、检查结果的系统。先区分四个对象:模型根据输入计算输出;Harness(运行框架)组织调用和执行;环境提供文件、终端、数据库与业务系统;任务目标决定什么才算完成。课程与Agent工程资料分别解释这些不同层面。[S001][S003][S004]

用户目标、约束与当前状态
          ↓
Harness选择本轮需要的信息
          ↓
LLM生成回答或候选工具调用
          ↓
程序检查参数、权限并执行工具
          ↓
环境返回观察,状态发生变化
          ↓
更新上下文 → 继续执行或验证结束

这是一张教学职责图,不是某个产品的完整内部实现。模型能访问代码,不代表代码已经进入本轮输入;文件被读取,不代表其中每条约束都被正确利用。要分别追踪“可以访问、确实读取、正确理解、已经验证”,不能把其中一个状态当成全部。

一个贯穿全书的工程案例

本书使用一个假设任务:为构建流水线增加exclude,使它跳过指定目录,同时不改变未配置该字段时的旧行为。案例不是对用户真实仓库的审计,也不代表某产品已完成这些修改。

任务涉及参数语义、配置入口、路径基准、过滤时机、兼容性和测试。如果模型说“已修复”,仍要检查补丁是否真正应用、对应哪一版代码、测试是否在修改后运行、是否覆盖默认行为。完整工作证据比流畅的完成声明更重要。

本书采用的工程分析方法是:遇到错误,先寻找第一处关键断点。没有读取正确文件是证据供给问题;读取后误解条件是推理问题;补丁未应用是执行问题;代码改错却未发现是验证问题。相同的最终失败,可能需要完全不同的修复。

一次模型调用与一个完整任务

一次调用处理有限输入并产生输出;一个任务可能涉及许多次模型调用。第1轮选择搜索,第2轮读取文件,第3轮产生修改,第4轮根据测试继续。各轮的信息不同,不能只看用户最初的Prompt解释整个任务。Codex公开的Agent Loop正是这种模型与工具交替的组织方式。[S004]

界面、CLI和IDE扩展是交互入口;模型、工具与状态管理是执行部件。相同界面不保证相同上下文,不同界面也可能共享核心执行逻辑。具体是否共享,应依据产品说明或某个版本源码,而非从外观推测。

五类容易混淆的“知识”

对象 存放什么 怎样变化 不能替代什么
模型参数 训练形成的语言和任务规律 训练、微调 最新外部事实
本轮上下文 指令、证据、历史与状态 输入组装 跨会话持久化
外部知识源 源码、文档、数据库 源系统更新 正确检索与解释
执行状态 已做动作、测试、待审批事项 工具与Harness更新 实际环境核验
计算缓存 可复用的中间计算 服务端策略 经验记忆

In-Context Learning利用输入示例改善当前表现,不要求在该次推理中更新模型权重。因此,“告诉模型十个例子后它做对了”不等于永久学会。KV Cache和Prompt Cache同样不是把业务知识写进参数。[S015][S036][S039]

从最小有效系统开始

已知步骤的工作流与动态Agent可以混合。参数校验、测试执行、补丁应用适合确定性程序;未知Bug的调查方向可以由模型决定;发布、删除等高风险副作用仍需要明确授权。不要为了“更像Agent”而把成熟的控制流全部改成概率判断。[S003]

一个原创反问是:去掉这个环节,会发生什么具体错误?如果答案只是“不够专业”,还不足以支持增加它;如果缺少权限校验会泄露凭据,则有明确保留理由。这个方法用于判断工程必要性,不是某篇论文证明的普遍定律。

本章自检与答案

问题:读取源码后仍修改错误,一定是检索问题吗?不是。可能读取范围不足,也可能误解、执行或验证出错,应检查证据、补丁和测试。

问题:把架构写进AGENTS.md是否属于微调?不是。只要运行时读取而未训练参数,它属于上下文供给;是否加载取决于Harness。

问题:学习完成的标准是什么?能追踪一次任务的信息、动作、状态与验证,并判断该改模型、Prompt、检索、工具还是流程,而不只是会背技术名称。

逐项中文讲义

保留拓展阅读目录编号与A/B/C优先级;每项包括机制解释、边界与原创练习。

A0.1 · LLM课程:概念与工具全景

对应资料:Hugging Face LLM Course

Hugging Face课程把Tokenizer、模型、数据与任务接口连接起来。理解一个高层pipeline时,应继续追踪输入如何变成ID、模型怎样产生张量、后处理怎样还原为结果。调用成功不等于已经理解内部机制。

Token ID只是词表索引,数值大小不代表语义距离。模型输出也可能是分类分数、隐藏表示或生成Token,不同任务头的语义不同。一个分类模型不会因为使用了Transformer就自动运行Agent循环。

运行示例 · R00-01

从文本输入到工具结果分清边界

输入与条件。任务是询问config.txt的timeout,文件内容为3,单位未提供。

步骤与对象内部动作中间结果 / 新状态
1模型输入先只有任务和工具说明还不知道文件值。
2工具结果程序读到timeout=3新事实来自文件。
3回答边界可以报告数值3不能无依据补“秒”。

把过程连起来。每一步问“这份信息从哪里来”,就能分清模型与系统。

边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。

依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。

原创练习:用同一意思的中文、英文与代码表达,分别记录输入长度、特殊符号和预期输出形式。不要使用固定汉字/Token比例,真正计数依赖配套Tokenizer。再把工具调用结果加入上下文,指出这是新增输入而不是参数更新。

完成标准是能把一次调用拆成编码、计算、解释三个阶段,说明错误可能出现在哪一层。课程是基础入口,不需要先读完全部训练内容才开始构建小Agent,但不能把工具库封装当作底层知识的替代。

拓展阅读目录事实依据 [S001] · 练习与工程推导为本书独立编写。

A0.2 · 图解GPT-2:自回归模型

对应资料:The Illustrated GPT-2

图解GPT-2以Decoder-only结构解释自回归生成。已有序列进入模型,当前位置产生下一Token分布,选中的Token又成为后续输入。它是理解聊天生成的桥梁,但不代表所有现代模型保留GPT-2的全部组件与参数。

逐Token输出不意味着模型一次只利用一个Token。预测可以依赖完整可见前缀;缓存使部分历史计算可复用。第一步处理长提示与后续生成在计算安排上也不同。

运行示例 · R00-02

两个输出Token分两次决定

输入与条件。输入A/B后,先选出C,再根据A/B/C选D。

步骤与对象内部动作中间结果 / 新状态
1第1次依据输入A/B的末位置状态得到C。
2第2次把C送入下一步并延续缓存得到D。
3停止若生成上限为2D不必再前向处理才能展示给用户。

把过程连起来。输出不是先在隐藏空间写好完整句子,再统一翻译出来。

边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。

依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。

原创练习:为“文件不存在,因此需要……”列出几个合理续写,再问它们是否证明真实文件状态。答案是否定的,模型可以按语言模式补全,而文件存在性需要工具观察。继续把“文件其实存在”的新证据加入,分析下一轮条件分布为何变化。

完成标准是区分条件生成、证据验证与工具执行。不要把流畅续写解释成模型查过磁盘,也不要把后来依据证据改口描述成模型参数在会话中重新训练。

拓展阅读目录事实依据 [S002] · 练习与工程推导为本书独立编写。

A0.3 · 构建有效的智能体

对应资料:Building Effective Agents

Building Effective Agents区分预设流程与动态Agent,并讨论链式、路由、并行、协调工作者和反馈等模式。文章强调从简单方案开始,复杂性应有任务需要,而不是把所有模式串成固定长流程。

原创例子:字段提取可用一次模型加校验;未知Bug需要依据观察调整搜索;互不依赖的材料可并行研究。三者都调用LLM,却不应采用相同编排。

每种模式都有反例。链式会传播前一步错误;路由会分错领域;并行增加整合;评估循环可能没有新证据,只反复修饰表达。只有识别这些代价,才能判断额外步骤是否值得。

练习是为自己的一个任务画最短可行流程,再逐个提出“去掉这一环会造成什么具体失败”。若不能给出实际风险,就先不要增加。完成标准是依据不确定性与验证成本选模式,而不是依据流行架构名称。

运行示例 · R00-03

固定工作流与Agent的分岔点

输入与条件。流程收到测试失败日志,候选动作有读文件、修改、重测。

步骤与对象内部动作中间结果 / 新状态
1固定工作流预先规定read→patch→test动作顺序由程序决定。
2Agent循环模型看到结果再决定下一动作可能先补读调用方。
3共同边界两者都必须校验写权限和测试结果自主选择不等于无限执行。

把过程连起来。区别在谁决定控制流,不在是否调用了LLM。

边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。

依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。

拓展阅读目录事实依据 [S003] · 练习与工程推导为本书独立编写。

A0.4 · 展开Codex智能体循环

对应资料:Unrolling the Codex Agent Loop

Codex Agent Loop展示模型、工具与用户之间的循环组织:组装输入,接收动作或回答,执行工具,把结果回填,再继续。模型提出动作与环境已经执行是两种状态,必须分开。

把“用户输入”扩展为“每轮实际输入”,才能解释后期为何出现源码、日志与压缩状态。第一轮不天然拥有整个仓库,工具返回构成增量证据。模型生成Shell参数,也不说明命令成功。

运行示例 · R00-04

用户的一句话变成多轮请求

输入与条件。请求“修复配置”后,模型先请求读文件。

步骤与对象内部动作中间结果 / 新状态
1轮1任务+工具定义输出读取提议c1。
2轮2加入c1返回的文件内容输出修改提议c2。
3轮3加入写入和验证结果才能形成有证据的完成说明。

把过程连起来。工具反馈改变下一轮输入,因此一个任务通常不止一次推理。

边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。

依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。

原创练习:画搜索、读取、修改、测试四次动作之间的消息边界,标明每条边新增的信息。删除测试返回后,指出“通过验证”的结论失去了什么依据。若只保留模型说过的话,而没有执行观察,就无法建立可靠审计链。

本条用于全局认知,后面产品章进一步讨论会话原语与上下文。它不是对Codex隐藏系统Prompt的猜测,也不声称已审计当前完整源码提交。

拓展阅读目录事实依据 [S004] · 练习与工程推导为本书独立编写。

B0.5 · 从零构建语言模型的知识版图

对应资料:Stanford CS336

CS336从零构建语言模型,把Tokenizer、架构、数据、优化、推理系统和评测串起来。它的价值是展示各组件相互约束,而不是让学习者只背注意力公式或参数量。

词表影响序列长度,序列影响计算和缓存,数据影响能力,预算决定可行规模,评测决定是否真的进步。某个局部指标更好,不代表整套系统更适合业务。

运行示例 · R00-05

从零实现时最小验收顺序

输入与条件。准备一个只含A/B/C的教学语言模型。

步骤与对象内部动作中间结果 / 新状态
1先表示A/B/C有稳定编号,形状可检查不要先调学习率。
2再计算前向给合法概率,损失可计算确定数值链路。
3最后训练反传使参数改变,独立样本检验训练损失下降不等于泛化通过。

把过程连起来。把整个系统拆成可核验中间对象,定位错误会更直接。

边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。

依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。

原创练习:在有限计算预算下,比较增加参数、增加训练数据、改善清洗和改变序列长度。先说明目标是训练损失、下游任务还是总服务成本,再讨论取舍,不凭空给出提分比例。

第一轮学习只需掌握依赖关系。深入时再实现优化和系统实验。完成标准是能解释“为什么更大不一定更划算”,并把训练系统知识与后续Agent中的成本、延迟和能力边界联系起来。

拓展阅读目录事实依据 [S005] · 练习与工程推导为本书独立编写。

记录保存在本机浏览器。

输入关键词即可检索。

↑ ↓ 选择 Enter 打开Esc 关闭 · 仅本地搜索

阅读设置

阅读设置仅保存在本机浏览器,不上传任何数据。