课程目录

第 9 周 · 进阶

第9周:微调与提示工程

掌握模型定制与Prompt技巧

周目标:掌握Prompt Engineering技巧,了解微调方法

课程成果:CO4 CO8

已学习 0 / 7 天

本周 7 个学习日

Day 57

Prompt基础

建议时长:75 分钟

本日 CO:CO4 CO8

本日概要

提示工程的核心不是找到某句「咒语」,而是把任务说清楚:明确角色与目标、给出输入与输出的确切格式、提供边界条件与反例、必要时给出示例。官方指南推荐的做法高度一致——先写清楚任务与成功标准,再逐步增加结构(分隔符、标签、输出模板),最后才考虑示例数量。同样重要的是建立评估:没有一组固定的测试样例和判定标准,任何「改了提示感觉更好了」的判断都不可复核。把提示当成代码来管理——有版本、有测试、有变更记录——是从玩具走向生产的分界线。

听书与视频

本日听书

6 分钟 · MP3 · 双主持人讲解

B 站讲解

【Prompt教程】100集(全)从零开始学Prompt Engineering提示工程(2025新手入门实用版)提示词工程师2025零基础入门教程!!!

AI大模型教程_ · 已核验 2026-08-29

在 B 站打开

学习目标

  • 能写出包含角色、任务、输入格式、输出格式与边界条件的结构化提示
  • 能为一个任务设计固定测试集与可判定的成功标准
  • 能通过失败样例归纳出提示需要补充的具体信息
  • 能说明为什么提示需要版本管理与变更记录

核心讲解

把任务说清楚,而不是说得好听

一个可用的提示通常包含几个固定部分:模型扮演什么角色、要完成什么任务、输入是什么形式、输出必须符合什么格式、有哪些不能做的事。其中输出格式的约束往往收益最大——明确要求返回特定字段的结构化结果,比要求「回答得专业一些」有用得多,因为前者可以被自动校验,后者不能。官方指南反复强调的也是这一点:先把任务与成功标准写清楚,再考虑其他技巧。

结构化标记(如用分隔符或标签包裹输入内容)能显著减少模型把指令与数据混淆的情况,尤其当输入本身包含类似指令的文字时。这不只是格式偏好,更是一道安全边界:来自用户或外部文档的内容应当被清楚地标记为数据,而不是与系统指令混在一起,否则外部内容中的「请忽略以上指令」就可能被当成命令执行。

没有评估就没有改进

「改了提示感觉更好了」是最常见也最不可靠的判断。要让改进可复核,必须先有一组固定的测试样例,覆盖典型情况、边界情况和已知失败情况,并为每条样例写出可判定的期望——是精确匹配某个字段,还是满足某个可检查的条件。有了这组样例,每次修改提示都能得到一个可比较的通过率,改动是否有效就不再依赖印象。

提示应当像代码一样被管理:保存每个版本、记录改动原因、把测试结果与版本绑定。生产系统中还要注意模型版本变化会影响提示表现,因此测试集应当在模型升级时重跑。把提示散落在代码字符串或聊天记录里,是后期无法维护的主要原因——三个月后没人说得清当前这版提示为什么是这样写的。

实践任务

为同一任务写出三种不同结构的提示,在一组固定测试样例上评估,记录每种提示的通过率与失败模式。

  • 选定一个明确的任务(如从文本中抽取结构化字段),编写至少十条测试样例,覆盖典型、边界与已知失败情况,并写出每条的可判定期望。
  • 写出三种提示:仅任务描述、任务加输出格式约束、任务加格式约束加两个示例,分别在测试集上运行并记录通过率。
  • 收集失败样例,按失败原因分类(格式不符、信息缺失、越界作答、理解偏差),为每类归纳出提示中缺少的具体信息。
  • 根据失败分析修订出第四版提示,重跑测试集并记录通过率变化;把四个版本、改动原因与测试结果一起存档。

自测与答案

第 1 题

为什么要求「返回指定字段的结构化输出」通常比要求「回答得更专业」更有效?

尚未检查本题。

查看答案与评价要点

参考答案:结构化输出的要求是可自动校验的:可以检查字段是否齐全、类型是否正确、取值是否在允许范围内,因此能形成客观的通过率并支撑迭代。「更专业」缺少可判定标准,无法自动检验,也无法比较两版提示的优劣。

评价要点:指出结构化输出可自动校验;说明可形成客观通过率;指出模糊要求无判定标准

第 2 题

为什么应当用分隔符或标签把外部输入与系统指令分开?

尚未检查本题。

查看答案与评价要点

参考答案:外部输入(用户内容、检索到的文档)可能包含类似指令的文字,若与系统指令混排,模型可能把其中的「忽略以上指令」之类内容当作命令执行。用明确的标记把外部内容标注为数据,是降低此类注入风险的基本手段,同时也减少指令与数据的混淆。

评价要点:指出外部内容可能含类指令文字;说明混排会被当作命令执行;把结构化标记作为安全边界

尚未完成自测。

今日完成标准

  • 提交不少于十条测试样例及其可判定期望
  • 提交四个提示版本的通过率对比与失败样例分类统计
  • 提交版本存档,每版附改动原因与对应测试结果

常见错误与纠正提示

  • 凭单次输出的观感判断提示是否变好,没有固定测试集
  • 把外部文档内容与系统指令直接拼接,留下注入风险
  • 提示散落在代码字符串中,无版本与改动记录

分层任务

基础任务

使用教师提供的测试集完成两个提示版本的对比,并对失败样例分类。

标准任务

独立构建测试集与四个提示版本,完成通过率对比与失败分析。

挑战任务

构造一条包含注入式文字的输入,验证有无结构化标记时模型行为的差异并记录。

关联知识点

延伸阅读

学习状态:未学习

Day 58

高级Prompt

建议时长:75 分钟

本日 CO:CO4 CO8

本日概要

当任务需要多步推理或需要外部信息时,单轮提示往往不够。让模型显式写出中间推理步骤,在多步算术与常识推理类任务上能明显提升准确率,但它增加输出词元与延迟,且中间步骤看起来合理不代表结论正确。ReAct 的思路是把推理与行动交替进行:模型先思考下一步要做什么,然后调用工具获取真实信息,再根据结果继续推理。这让模型的结论有了外部依据,也让整个过程可被记录和审计。工程上真正重要的是:每一步工具调用的输入输出都要留痕,失败时能定位到具体的哪一步。

听书与视频

本日听书

6 分钟 · MP3 · 双主持人讲解

B 站讲解

如何调Prompt?怎么调Prompt?真正有用的实操指南

郑同学是我 · 已核验 2026-08-29

在 B 站打开

学习目标

  • 能说明显式中间推理的适用任务与代价,并指出它不保证结论正确
  • 能描述推理与行动交替的循环结构,并画出一次完整调用的时序
  • 能为工具调用设计输入校验、超时与失败处置
  • 能设计可审计的执行记录,使任意一次失败都能定位到具体步骤

核心讲解

让中间步骤显式化的收益与代价

对需要多步推导的任务,要求模型先写出推理过程再给结论,通常比直接给答案的准确率更高。原始研究在多步算术与符号推理任务上观察到了这一效果,并指出该收益主要出现在规模较大的模型上。代价也很直接:输出更长意味着更高的延迟与成本,而且在简单任务上收益有限甚至可能引入无谓的绕路。

必须警惕的是,看起来条理清晰的推理过程并不保证结论正确——中间步骤同样可能是编造的,甚至可能出现「推理正确但结论与推理不一致」的情况。因此中间步骤的价值主要在于可审查性:它让人能够看出模型在哪一步走错,而不是让结论自动变得可信。任何关键结论仍需要外部依据或独立校验。

推理与行动交替的工程要点

推理与行动交替的循环大致是:模型输出「下一步要做什么」以及对应的工具调用请求,系统执行工具并把结果返回给模型,模型基于新信息继续推理,直到给出最终答案。这个结构的价值在于把「模型凭记忆回答」变成「模型基于查询到的事实回答」,减少了对参数化知识的依赖。官方的工具使用文档给出了工具定义、调用与结果回传的标准形式。

工程上有三件事必须做好。第一是工具输入校验:模型生成的参数可能不合法或越界,必须在执行前校验,不能直接把参数拼进命令或查询。第二是失败处置:工具超时、返回错误或返回空结果时,要有明确的策略——重试、换工具还是告知用户无法完成,而不是让模型自行编造。第三是执行留痕:每一步的思考、调用参数、返回结果都应记录,这样出问题时可以定位到具体步骤,而不是只看到一个错误的最终答案。

实践任务

实现一个包含推理与工具调用交替的流程,记录每一步的思考、调用与结果,并构造一次工具失败观察系统行为。

  • 定义至少两个工具(如检索与计算),为每个工具写出参数结构、取值范围与校验规则。
  • 实现推理与行动交替的循环,为一个需要多步的问题记录完整轨迹:每步的思考、调用参数、返回结果。
  • 构造三类工具失败(超时、返回错误、返回空结果),分别记录系统行为,并写出各自的处置策略。
  • 构造一个中间推理看似合理但结论错误的样例,说明为什么中间步骤不能作为结论可信的依据,并给出独立校验方案。

自测与答案

第 1 题

让模型显式写出中间推理步骤,是否意味着结论更可信?为什么?

尚未检查本题。

查看答案与评价要点

参考答案:不意味着。中间步骤同样可能是编造的,也可能出现推理与结论不一致的情况。显式中间步骤的主要价值是可审查性——让人能看出在哪一步走错,而不是使结论自动可信。关键结论仍需外部依据或独立校验。

评价要点:明确否定「中间步骤即可信」;指出步骤可能编造或与结论不一致;把价值定位在可审查性并要求独立校验

第 2 题

工具调用失败时,为什么必须有明确的处置策略而不能交由模型自行处理?

尚未检查本题。

查看答案与评价要点

参考答案:工具失败意味着模型缺少完成任务所需的真实信息,若不加约束,模型可能用参数化知识编造一个看似合理的答案,且用户无法分辨。明确策略(重试、换工具、或如实告知无法完成)能保证失败可见;同时执行留痕使问题可定位到具体步骤。

评价要点:指出缺少真实信息时模型可能编造;要求失败对用户可见;给出重试/换工具/如实告知等具体策略

尚未完成自测。

今日完成标准

  • 提交工具定义与参数校验规则,覆盖非法与越界输入
  • 提交一次完整执行轨迹,每步含思考、调用参数与返回结果
  • 提交三类工具失败的系统行为记录与处置策略,以及一个中间推理正确但结论错误的样例分析

常见错误与纠正提示

  • 把模型生成的参数直接拼接进查询或命令,不做校验
  • 工具失败时无处置策略,模型转而编造答案
  • 只保存最终答案不保存执行轨迹,出问题无法定位步骤

分层任务

基础任务

在教师提供的循环骨架上补齐两个工具的参数校验,并读懂一份执行轨迹。

标准任务

独立实现循环与三类失败处置,提交完整轨迹记录。

挑战任务

为循环加入最大步数与成本上限保护,并验证超限时的降级行为是否符合预期。

关联知识点

延伸阅读

学习状态:未学习

Day 59

微调概览

建议时长:75 分钟

本日 CO:CO4 CO8

本日概要

微调是在已有模型上用领域数据继续训练,改变的是模型参数本身。它适合让模型稳定掌握特定的输出格式、专业术语或风格,不适合用来注入频繁变化的事实知识——后者应当交给检索。判断是否需要微调之前,应当先穷尽提示工程与检索的空间,因为微调引入了持续成本:数据构造与清洗、训练与评估、模型版本管理、以及每次基础模型升级后的重新微调。数据质量决定微调效果的上限,一份两千条经过人工核对的高质量样本,通常胜过几万条自动生成但未经检查的样本。

听书与视频

本日听书

6 分钟 · MP3 · 双主持人讲解

B 站讲解

模型微调训练参数讲解与Loss曲线解读分享

暴躁哐哐 · 已核验 2026-08-29

在 B 站打开

学习目标

  • 能说明微调与检索各自适合解决的问题类型,并给出判断顺序
  • 能列出微调引入的持续成本,并据此论证是否值得
  • 能设计指令数据集的字段结构、来源与质量核对流程
  • 能设计微调效果的评估方案,包含与提示工程基线的对比

核心讲解

先问该不该微调

微调擅长的是「教会模型怎么做」——固定的输出结构、领域术语的正确用法、特定的语气与风格、以及某类任务的处理模式。它不擅长「让模型记住新事实」,因为事实一旦变化就需要重新训练,而检索只需更新文档。因此判断顺序应当是:先看提示工程能否解决,再看检索能否解决,最后才考虑微调。跳过前两步直接微调,往往是用高成本方案解决低成本问题。

微调的成本不止一次训练。数据需要构造、清洗与人工核对;训练需要算力与调参;效果需要独立评估;模型产出需要版本管理与部署;更重要的是,基础模型升级后,之前的微调成果通常需要重做。把这些持续成本写进方案,才能得到一个诚实的投入产出判断,而不是只算一次训练的费用。

数据质量决定上限

指令数据集的基本结构是「指令、可选输入、期望输出」三元组。构造时的关键不是数量而是一致性:同类任务的输出格式必须统一,边界情况的处理方式必须一致,否则模型学到的是矛盾的信号。实践中,一份两千条经过逐条人工核对的样本,效果通常好过几万条自动生成而未经检查的样本——后者的错误会被模型忠实地学会。

数据来源必须可追溯并合规。使用真实业务数据时要完成脱敏,并确认使用范围;使用模型生成的数据时要标注其为合成数据并抽样人工核对,不能默认其正确。数据集还应当预留一部分不参与训练的评估样本,且这部分样本要与训练样本来自同一分布但不重叠——用训练数据评估微调效果,与用训练集分数汇报模型效果是同一类错误。

实践任务

为一个具体任务写出微调必要性论证,并构造一份小规模高质量的指令数据集,说明每条样本的来源与核对方式。

  • 为选定任务写出微调必要性论证:说明提示工程与检索分别尝试到什么程度、为何不足,以及微调预期解决什么。
  • 列出微调的持续成本清单(数据、训练、评估、版本管理、基础模型升级后的重做),并对每项给出量级估计与依据。
  • 构造不少于五十条指令样本,统一字段结构与输出格式,为每条标注来源与核对方式;单独划出不参与训练的评估样本。
  • 设计评估方案:与提示工程基线的对比指标、评估样本的选取方式、以及判断微调是否值得的量化标准。

自测与答案

第 1 题

为什么不应该用微调来注入频繁变化的事实知识?

尚未检查本题。

查看答案与评价要点

参考答案:微调把知识固化进参数,事实一旦变化就需要重新构造数据并重新训练,成本高且滞后;而检索只需更新文档即可生效,还能提供可追溯的来源。因此变化的事实应交给检索,微调用于教会模型固定的输出结构、术语用法与处理模式。

评价要点:指出参数化知识更新需重新训练;指出检索更新成本低且可追溯;给出微调擅长的替代用途

第 2 题

两千条人工核对样本与五万条未经检查的自动生成样本,为什么前者往往效果更好?

尚未检查本题。

查看答案与评价要点

参考答案:模型会忠实地学习数据中的模式,包括错误与不一致。未经检查的自动生成数据中,格式不统一、边界处理矛盾、事实错误都会被学进去,形成互相冲突的信号;而经过逐条核对的样本在格式与处理方式上一致,学习信号清晰,因此在更小的数据量上也能获得更好的效果。

评价要点:指出模型会学到数据中的错误;强调一致性比数量更重要;说明矛盾信号会损害效果

尚未完成自测。

今日完成标准

  • 提交微调必要性论证,说明提示与检索的尝试程度及其不足
  • 提交持续成本清单,每项有量级估计与依据
  • 提交不少于五十条结构统一、逐条标注来源的指令样本,并划分出独立评估样本

常见错误与纠正提示

  • 跳过提示工程与检索直接微调,用高成本方案解决低成本问题
  • 用微调注入会频繁变化的事实,导致模型知识很快过时
  • 用参与训练的样本评估微调效果,得到虚高结论

分层任务

基础任务

在教师给出的样本模板上补齐二十条数据并统一格式,说明核对了什么。

标准任务

独立完成必要性论证、成本清单与五十条数据集构造。

挑战任务

对一批模型生成的合成数据做抽样人工核对,统计错误率并据此判断是否可用于训练。

关联知识点

延伸阅读

学习状态:未学习

Day 60

LoRA与QLoRA

建议时长:75 分钟

本日 CO:CO4 CO8

本日概要

全量微调需要更新模型的全部参数,显存与存储开销都很大。低秩适配的思路是:训练时冻结原始权重,只为部分权重矩阵引入一对低秩矩阵来表示更新量,需要训练与保存的参数因此大幅减少,一个适配器通常只有几十兆,可以为不同任务分别训练并按需加载。量化版本进一步把基础模型以低位宽存放,使单卡也能微调较大的模型,代价是引入量化误差。要注意的是,参数量减少不等于效果一定持平——秩的大小、作用在哪些层、学习率都会影响结果,必须在自己的评估集上验证。

听书与视频

本日听书

6 分钟 · MP3 · 双主持人讲解

B 站讲解

【12】LoRA、QLoRA 讲解

LLM张老师 · 已核验 2026-08-29

在 B 站打开

学习目标

  • 能说明低秩适配为什么能大幅减少可训练参数与保存体积
  • 能列出影响低秩适配效果的主要超参数,并设计对比实验
  • 能说明量化基础模型带来的收益与引入的误差
  • 能设计适配器的版本管理与切换方案,说明多任务场景下的优势

核心讲解

为什么低秩更新是可行的

低秩适配的基本假设是:微调所需的权重更新量具有较低的内在维度,因此可以用两个较小矩阵的乘积来近似表示,而不必更新整个大矩阵。训练时原始权重被冻结,只有这对小矩阵参与更新;推理时可以把它们合并回原权重,也可以保持分离以便动态切换。这样需要训练与保存的参数量相比全量微调下降了一到两个数量级。

实践收益非常具体:显存占用大幅下降使单卡训练成为可能;每个任务的产物只是一个小适配器而非一份完整模型,存储与分发成本极低;同一个基础模型可以挂载不同适配器服务不同任务,切换成本很小。这个特性在需要为多个业务线各自定制行为时尤其有价值——不必为每条业务线维护一份完整模型副本。

超参数与量化的取舍

低秩适配不是「设一个默认值就好」。秩决定了可表示更新的容量:太小可能欠拟合,太大则失去参数效率优势并更易过拟合小数据集。作用范围也很关键——只作用在注意力的部分投影矩阵,还是同时覆盖前馈层,效果差别明显。缩放系数与学习率也需要与秩配合调整。这些都应当用自己的评估集做对比实验确定,而不是照搬他人配置。

量化版本把冻结的基础模型以更低位宽存放,显存占用进一步下降,使更大的模型能在单卡上微调。代价是量化引入的误差会叠加在训练过程中,某些任务上可能出现效果损失。判断方法与上周的量化评估一致:在自己的评估集上对比量化与非量化两种设置的效果,同时记录显存与训练时长,用三项指标共同做取舍,而不是只看「能不能跑起来」。

实践任务

用低秩适配微调一个小模型,对比不同秩与作用范围的显存占用、训练时长与评估效果。

  • 选择一个小规模开源模型与上一天构造的数据集,完成一次基础的低秩适配微调,记录可训练参数量、显存占用与训练时长。
  • 固定其他条件,对比至少两个不同的秩,记录三项指标与评估集效果的变化。
  • 固定秩,对比只作用于注意力投影与同时覆盖前馈层两种范围,记录差异。
  • 若条件允许,对比量化与非量化基础模型下的显存、训练时长与评估效果;把适配器按任务命名归档,说明多任务切换方案。

自测与答案

第 1 题

低秩适配为什么能把可训练参数量降低一到两个数量级?

尚未检查本题。

查看答案与评价要点

参考答案:它冻结原始权重,只为需要适配的权重矩阵引入一对低秩矩阵来表示更新量。由于秩远小于矩阵的原始维度,这对小矩阵的参数总量远少于原矩阵,训练与保存的都只是它们,因此参数量与产物体积大幅下降。

评价要点:指出原始权重被冻结;说明用低秩矩阵近似表示更新量;把秩远小于原维度作为参数下降的原因

第 2 题

秩设得过小或过大分别会带来什么问题?应如何确定?

尚未检查本题。

查看答案与评价要点

参考答案:秩过小时可表示的更新容量不足,可能欠拟合,学不到目标行为;秩过大时参数效率优势下降,在小数据集上更容易过拟合。应当固定其他条件,在自己的评估集上对比若干候选秩的效果、显存与训练时长,据此选择,而不是照搬他人配置。

评价要点:说明过小导致容量不足;说明过大导致效率下降与过拟合;要求在自身评估集上做对比实验

尚未完成自测。

今日完成标准

  • 提交基础微调的可训练参数量、显存、训练时长与评估效果记录
  • 提交秩与作用范围两组对比实验的完整数据
  • 提交适配器归档与多任务切换方案说明;若做了量化对比,附三项指标的取舍结论

常见错误与纠正提示

  • 照搬他人的秩与作用范围配置,不在自身任务上验证
  • 只看训练损失下降就认为微调成功,不在独立评估集上验证
  • 认为参数量少就一定不会过拟合,忽略小数据集上的风险

分层任务

基础任务

使用教师提供的配置完成一次微调,读出可训练参数量与显存占用。

标准任务

独立完成两组对比实验并提交完整数据与结论。

挑战任务

在同一评估集上对比低秩适配与全量微调(或教师提供的全量微调结果),量化效果差距与资源差距。

关联知识点

延伸阅读

学习状态:未学习

Day 61

微调实践

建议时长:75 分钟

本日 CO:CO4 CO8

本日概要

一次可信的微调实践,流程比技巧重要。完整闭环是:确定评估集与基线、准备并核对数据、划分训练与评估、训练并记录全部配置、在独立评估集上对比基线、判断是否达到预设标准、归档模型与配置。其中最容易被跳过的是「先定评估集与基线」——若在训练之后才确定评估方式,就很难避免有意无意地挑选对自己有利的指标。另一个常见问题是灾难性遗忘:模型在目标任务上变好,却在原本擅长的通用能力上退化,因此评估集必须同时包含目标任务样本与通用能力样本。

听书与视频

本日听书

5 分钟 · MP3 · 双主持人讲解

B 站讲解

大模型微调实践数据准备/清洗、模型微调、模型评估 全链路案例演示

ModelScope官方账号 · 已核验 2026-08-29

在 B 站打开

学习目标

  • 能按正确顺序组织微调闭环,并说明先定评估集的原因
  • 能设计同时覆盖目标任务与通用能力的评估集
  • 能识别灾难性遗忘的表现,并给出缓解方向
  • 能完整记录训练配置,使他人可以复现同一次微调

核心讲解

顺序决定可信度

微调闭环的正确顺序是:先确定评估集与判定标准,跑出未微调基线的分数,再准备数据与训练,最后在同一评估集上对比。颠倒这个顺序——先训练再想怎么评估——几乎必然会滑向「挑一个能显示改进的指标」。预先固定评估方式并写下「达到什么标准才算成功」,是让结论可信的最低成本做法。

训练配置必须完整记录:基础模型的具体版本、数据集版本与划分方式、随机种子、全部超参数、训练轮数与早停条件、以及硬件环境。缺少其中任何一项,几周后想复现或对比都会遇到困难。把这些信息随模型产物一起归档,而不是留在某次终端输出里。

灾难性遗忘与评估集的构成

在特定任务数据上继续训练时,模型可能在目标任务上明显提升,同时在原本具备的通用能力上退化——例如学会了固定的输出格式,却在开放问答上变得生硬或出错。这种现象容易被忽略,因为如果评估集只包含目标任务样本,退化根本不会显现出来。因此评估集必须分成两部分:目标任务样本与通用能力样本,两部分分别报告分数。

缓解方向有几个:降低学习率与训练轮数以减少对原参数的扰动;在训练数据中混入一部分通用样本;使用参数高效方法(只训练小的适配器而冻结原权重)本身就比全量微调的扰动小。无论采用哪种,判断依据都应当是评估集上两部分分数的联合变化——目标任务提升多少、通用能力下降多少、这个交换是否可接受。

实践任务

跑通一次完整微调闭环,在包含目标任务与通用能力两部分的评估集上对比微调前后的表现。

  • 先构造评估集:一部分为目标任务样本,一部分为通用能力样本;写出每部分的判定方式与「算成功」的量化标准。
  • 在未微调的基础模型上跑出两部分基线分数并记录。
  • 执行微调,完整记录基础模型版本、数据版本与划分、随机种子、全部超参数、训练轮数与硬件环境。
  • 在同一评估集上评估微调后模型,分别报告两部分分数变化;若通用能力下降,尝试一种缓解手段并重跑,记录效果与代价。

自测与答案

第 1 题

为什么必须在训练开始前就确定评估集与成功标准?

尚未检查本题。

查看答案与评价要点

参考答案:训练之后再确定评估方式,很难避免有意无意地挑选对结果有利的指标或样本,结论因此不可信。预先固定评估集、判定方式与成功标准,并先跑出未微调基线,才能让「微调是否有效」成为一个可被他人复核的判断。

评价要点:指出事后定指标会导致挑选偏差;强调预先固定判定标准;要求先跑基线作为对照

第 2 题

什么是灾难性遗忘?为什么只用目标任务样本评估会发现不了它?

尚未检查本题。

查看答案与评价要点

参考答案:指模型在目标任务上提升的同时,原本具备的通用能力出现退化。若评估集只包含目标任务样本,通用能力的下降完全不会被测量到,报告会显示纯粹的改进。因此评估集必须同时包含通用能力样本,并分别报告两部分分数,才能看到真实的交换关系。

评价要点:准确描述目标任务提升伴随通用能力退化;指出单一评估集测不到退化;要求评估集分两部分并分别报告

尚未完成自测。

今日完成标准

  • 提交评估集构成、判定方式与预设成功标准,且均在训练前确定
  • 提交微调前后两部分分数的对比,明确指出目标任务提升与通用能力变化
  • 提交完整训练配置记录,他人依此可复现

常见错误与纠正提示

  • 训练完成后才设计评估方式,挑选有利指标
  • 评估集只含目标任务样本,通用能力退化未被发现
  • 只保存模型权重不保存训练配置,无法复现或对比

分层任务

基础任务

使用教师提供的评估集完成微调前后的对比,并读出两部分分数变化。

标准任务

独立完成评估集构造、基线、微调与对比的完整闭环。

挑战任务

尝试一种缓解遗忘的手段(混入通用样本或降低学习率),量化它对两部分分数的影响与训练成本的变化。

关联知识点

延伸阅读

学习状态:未学习

Day 62

Agent与工具调用

建议时长:75 分钟

本日 CO:CO4 CO8

本日概要

让模型调用工具,本质上是把「生成文本」变成「触发动作」,因此安全边界必须前移。一个可用的工具接口需要:明确的名称与用途描述、结构化的参数定义与取值范围、以及对模型不可见的执行侧校验。权限应当按最小必要授予——只读工具与会产生副作用的工具必须分开对待,后者需要额外的确认或审批。同样重要的是可观测性:每次调用的参数、结果、耗时与失败原因都要记录,并为整个会话设置步数与成本上限,防止循环调用失控。

听书与视频

本日听书

6 分钟 · MP3 · 双主持人讲解

B 站讲解

AI Agent 智能体 tools 工具模块的架构设计

双越AI_club · 已核验 2026-08-29

在 B 站打开

学习目标

  • 能为工具编写清晰的用途描述与结构化参数定义,包含取值范围与必填项
  • 能区分只读工具与有副作用的工具,并为后者设计确认机制
  • 能在执行侧实现参数校验,说明为什么不能依赖模型自觉
  • 能为会话设置步数与成本上限,并验证超限时的降级行为

核心讲解

工具定义就是接口契约

模型选择调用哪个工具、传什么参数,依据的是工具的名称、用途描述和参数定义。描述含糊会导致误用——例如两个用途相近的工具没有写清各自的适用条件,模型就会随机挑一个。参数定义应当结构化并包含取值范围、必填项与格式约束,官方的工具使用文档给出了标准的定义方式。写工具描述时的心态应当与写公开 API 文档一致:假设调用方只能看到这段描述。

关键原则是:模型的输出是请求,不是命令。执行侧必须独立校验参数是否合法、是否越界、是否指向允许的资源,绝不能把模型生成的字符串直接拼进查询、命令或文件路径。这与处理任何外部输入的原则完全一致——模型生成的内容属于不可信输入,即使它通常表现良好。

权限分级与失控保护

工具应当按副作用分级。只读工具(查询、检索、计算)风险较低,可以自动执行;会产生副作用的工具(写入、发送、删除、支付)必须有额外约束:或者要求人工确认,或者限制在明确的白名单范围内,或者要求二次校验。把两类工具混在同一权限层级,是最容易出事的设计。此外,涉及外部影响的操作应当记录操作者、时间、参数与结果,以便事后追溯。

自主循环还需要失控保护。模型可能陷入反复调用同一工具的循环,或在错误的方向上不断消耗资源。因此必须为每个会话设置最大步数、最大工具调用次数与成本上限,超限时停止并返回明确的失败信息,而不是继续。还应记录每次调用的耗时与结果,使「卡在哪一步」可被直接看到。这些保护看起来保守,但它们是让自主流程可以放心上线的前提。

实践任务

实现一个带参数校验、权限分级与执行留痕的工具调用流程,并验证越权与越界请求被正确拒绝。

  • 定义三个工具:两个只读、一个有副作用,为每个写出用途描述、参数结构、取值范围与必填项。
  • 在执行侧实现参数校验,构造越界参数与指向未授权资源的请求,验证它们被拒绝并记录拒绝原因。
  • 为有副作用的工具实现确认机制(人工确认或白名单校验),验证未确认时不会执行。
  • 为会话设置最大步数与成本上限,构造一个会导致循环调用的问题,验证超限时正确停止并返回明确失败信息;提交完整执行留痕。

自测与答案

第 1 题

为什么模型生成的工具参数必须在执行侧独立校验,而不能依赖提示中的约束?

尚未检查本题。

查看答案与评价要点

参考答案:模型的输出是请求而非命令,属于不可信输入:提示中的约束只是引导,模型仍可能生成越界、非法或指向未授权资源的参数,被诱导时更是如此。执行侧的独立校验是唯一可靠的边界,直接把模型输出拼进查询、命令或路径会造成实质的安全风险。

评价要点:指出模型输出属于不可信输入;说明提示约束只是引导不构成保证;指出直接拼接会造成安全风险

第 2 题

为什么必须为自主工具调用会话设置步数与成本上限?

尚未检查本题。

查看答案与评价要点

参考答案:模型可能陷入反复调用同一工具的循环,或在错误方向上持续消耗资源,既产生费用也可能对外部系统造成压力。设置最大步数、调用次数与成本上限,可以在失控时停止并返回明确失败信息,使问题可见且损失可控;同时记录每步耗时与结果便于定位卡点。

评价要点:指出循环调用与资源持续消耗的风险;要求超限时停止并返回明确失败;提出记录每步耗时以定位卡点

尚未完成自测。

今日完成标准

  • 提交三个工具的完整定义,参数含取值范围与必填项
  • 提交越界与越权请求被拒绝的记录,以及有副作用工具的确认机制验证
  • 提交步数或成本超限时的停止行为记录与完整执行留痕

常见错误与纠正提示

  • 只读工具与有副作用的工具使用同一权限层级
  • 把模型生成的参数直接拼接进查询、命令或文件路径
  • 自主循环无步数与成本上限,失控时无法及时停止

分层任务

基础任务

在教师提供的工具骨架上补齐参数校验,并验证一个越界请求被拒绝。

标准任务

独立完成三工具定义、权限分级与失控保护的实现与验证。

挑战任务

构造一次针对工具调用的注入尝试(在检索到的文档中放入指令式文字),验证系统是否拒绝执行并记录处置过程。

关联知识点

延伸阅读

学习状态:未学习

Day 63

周末复盘

建议时长:75 分钟

本日 CO:CO4 CO8

本日概要

本周收尾要回答一个高频问题:什么时候用提示,什么时候用检索,什么时候才微调。合理的顺序是自下而上——先用结构化提示与固定测试集把能拿到的效果拿满;效果瓶颈若来自模型不知道的事实,用检索补充;若来自输出格式不稳定、术语不规范或处理模式不一致,才考虑微调。三者不是互斥的,生产系统常常同时使用:微调稳定行为、检索提供事实、提示组织任务。真正的判断依据是分环节评估数据,而不是「听说微调效果好」。

听书与视频

本日听书

6 分钟 · MP3 · 双主持人讲解

B 站讲解

微调技术大比拼:全量微调与LoRA、QLoRA实测对比!

AI开发者-就爱瞎鼓捣 · 已核验 2026-08-29

在 B 站打开

学习目标

  • 能按自下而上的顺序组织提示、检索与微调的选型决策
  • 能用失败模式判断瓶颈属于事实缺失还是行为不稳定
  • 能列出三种方案各自的一次性成本与持续成本
  • 能定义改变当前选择的触发条件,并说明如何持续监控

核心讲解

先问瓶颈是什么

选型的第一步不是比较方案,而是定位瓶颈。把失败样例分类后,通常会落到两类:一类是模型不知道某个事实——回答内容凭空编造或引用了过时信息,这类问题应当用检索解决;另一类是模型知道但做不稳——输出格式时对时错、术语用法不规范、同类问题处理方式不一致,这类问题提示工程能改善一部分,剩下的才是微调的适用范围。用失败样例分类代替直觉判断,是本周最实用的方法。

顺序上应当自下而上:提示工程成本最低、迭代最快、无需额外基础设施;检索次之,需要文档处理与索引维护,但能提供可追溯来源;微调成本最高且持续,包括数据构造、训练、评估与基础模型升级后的重做。跳过前面的步骤直接上微调,往往会在几个月后发现,同样的效果用提示加检索就能达到,而且维护负担小得多。

三者组合与持续监控

在成熟系统中,三者通常是组合使用的:微调让模型稳定地按既定格式与术语工作,检索为它提供最新且可追溯的事实,提示负责组织具体任务与约束边界。这种组合的好处是各司其职——事实更新只需更新文档,行为调整只需更新适配器,任务变化只需改提示,三条变更路径互不牵连。设计时应当明确写出「哪类问题走哪条变更路径」,避免所有问题都指向重新微调。

无论选择哪种方案,都需要持续监控。至少要做三件事:保留固定测试集并在模型或提示变更后重跑;采样线上真实请求做定期人工评估;记录失败样例并按类型统计趋势。当某一类失败的占比持续上升时,就是重新评估当前方案的信号。把这些触发条件写进文档,方案就从一次性决策变成了可维护的机制。

实践任务

为三个不同的问题分别给出提示、检索、微调的选择与理由,并写出每种选择的成本与改变触发条件。

  • 收集或构造三个不同类型的问题场景,为每个场景整理至少五条失败样例并按「事实缺失」与「行为不稳」分类。
  • 根据分类结果为每个场景选择提示、检索或微调,写出选择理由与被放弃方案的具体原因。
  • 为每个选择列出一次性成本与持续成本,标明哪些是估计值。
  • 为每个场景定义改变选择的触发条件(含可检查的指标与阈值),并设计持续监控方案:测试集重跑时机、人工采样比例、失败类型趋势统计。

自测与答案

第 1 题

如何判断一个问题应当用检索解决还是用微调解决?

尚未检查本题。

查看答案与评价要点

参考答案:先对失败样例分类:若失败表现为内容凭空编造或引用过时信息,属于事实缺失,应当用检索解决,因为事实会变化而检索只需更新文档;若失败表现为输出格式时对时错、术语不规范、同类问题处理不一致,属于行为不稳定,提示工程能改善一部分,剩余部分才适合微调。

评价要点:提出先对失败样例分类;把事实缺失对应到检索;把行为不稳定对应到提示与微调

第 2 题

为什么在成熟系统中提示、检索与微调常常同时使用?这样组合的好处是什么?

尚未检查本题。

查看答案与评价要点

参考答案:三者职责不同:微调稳定输出格式与术语等行为,检索提供最新且可追溯的事实,提示组织具体任务与边界。组合后三条变更路径互相独立——事实更新只改文档,行为调整只换适配器,任务变化只改提示,避免了任何变更都要重新微调,维护成本显著降低。

评价要点:分别说明三者的职责;指出三条变更路径相互独立;把维护成本作为组合的收益

尚未完成自测。

今日完成标准

  • 三个场景各有不少于五条失败样例及其分类结果
  • 每个场景有明确选择、理由、放弃原因与成本清单
  • 每个场景有含指标与阈值的改变触发条件,以及可执行的持续监控方案

常见错误与纠正提示

  • 凭「听说微调效果好」直接选择微调,跳过提示与检索
  • 不做失败样例分类,把事实缺失误当作能力不足
  • 方案定下后无持续监控,模型或数据变化后长期不知效果已退化

分层任务

基础任务

在教师给出的失败样例上完成分类,并为其中一个场景给出选择与理由。

标准任务

独立完成三个场景的分类、选型、成本清单与触发条件。

挑战任务

为其中一个场景设计三者组合方案,明确三条变更路径各自的负责范围与发布流程。

关联知识点

延伸阅读

学习状态:未学习