第 1 题
为什么只声明依赖名称而不锁定版本会破坏实验的可复现性?
尚未检查本题。
查看答案与评价要点
参考答案:重建环境时会安装到当时的最新版本,而库的行为、默认参数甚至数值实现可能已经改变,导致同样的代码得到不同结果。锁文件记录全部直接与间接依赖的精确版本,据此安装才能保证环境一致;使用加速库时还需另外记录驱动与运行时版本。
评价要点:指出新版本行为可能改变;说明锁文件应包含间接依赖的精确版本;提到驱动或运行时等包管理之外的因素
浏览器未允许保存进度;当前为只读学习模式。
第 10 周 · 进阶
掌握AI开发部署全流程
周目标:掌握AI开发工具链、模型部署、监控与运维体系
课程成果:CO4 CO8
已学习 0 / 7 天
Day 64
建议时长:75 分钟
本日 CO:CO4 CO6 CO8
开发环境的目标是让实验可复现、让协作不踩坑。三件事必须做到:依赖锁定到具体版本并把锁文件纳入版本控制;数据与模型这类大文件不进代码仓库,用单独的存储加上版本标识引用;密钥永远不写进代码或笔记本,通过环境变量或密钥管理注入。笔记本适合探索但不适合作为交付物——它的执行顺序可以任意,输出会被保存进文件,很难做代码审查与自动化。合理的做法是探索用笔记本,稳定后的逻辑抽成模块并配上测试,笔记本只保留调用与展示。
6 分钟 · MP3 · 双主持人讲解
只写「需要某个库」而不锁定版本,几个月后重建环境时装到的可能是行为已变的新版本,实验结果自然对不上。正确做法是使用隔离环境,并生成包含全部直接与间接依赖及其精确版本的锁文件,把锁文件与代码一起提交。重建环境时依据锁文件安装,才能保证拿到的是同一组依赖。涉及加速库时还要额外记录驱动与运行时版本,因为它们不在包管理范围内却同样影响结果。
数据与模型不应进入代码仓库:它们体积大、变更频繁,会让仓库迅速膨胀且难以回退。合理做法是把它们放在对象存储或专用的数据版本工具中,代码里只保存标识(路径加版本号或内容哈希)。这样既保持仓库轻量,又能让每次实验明确记录用的是哪一版数据——而这正是复现所必需的信息。
凭据写进代码或笔记本,一旦提交就等于泄漏,即使随后删除,历史记录里仍然存在。正确做法是通过环境变量或专门的密钥管理服务注入,代码只读取变量名;本地开发用不提交的配置文件,并在版本控制的忽略规则中明确排除。此外,笔记本的输出单元会保存运行结果,其中可能包含数据样本甚至凭据片段,提交前必须清理输出。
笔记本适合探索:可以逐段运行、即时查看结果。但它作为交付物有明显缺陷——单元可以乱序执行,导致「在我这里能跑」;输出与代码混在一个文件里,代码审查困难;也难以被自动化测试覆盖。可行的分界是:探索阶段用笔记本,逻辑稳定后抽成模块并写测试,笔记本只保留对模块的调用与结果展示。这样既保留了探索的便利,又让核心逻辑可被审查与复用。
为一个项目建立可复现的开发环境:锁定依赖、隔离大文件、配置密钥注入,并把一段笔记本逻辑重构为带测试的模块。
为什么只声明依赖名称而不锁定版本会破坏实验的可复现性?
尚未检查本题。
参考答案:重建环境时会安装到当时的最新版本,而库的行为、默认参数甚至数值实现可能已经改变,导致同样的代码得到不同结果。锁文件记录全部直接与间接依赖的精确版本,据此安装才能保证环境一致;使用加速库时还需另外记录驱动与运行时版本。
评价要点:指出新版本行为可能改变;说明锁文件应包含间接依赖的精确版本;提到驱动或运行时等包管理之外的因素
为什么笔记本不适合作为交付物?合理的分界应该怎么划?
尚未检查本题。
参考答案:笔记本的单元可乱序执行,容易出现只在特定执行顺序下成立的结果;输出与代码混存使代码审查困难;也难以被自动化测试覆盖。合理分界是探索阶段用笔记本,逻辑稳定后抽成模块并补充测试,笔记本只保留调用与结果展示。
评价要点:指出乱序执行带来的不可复现;指出审查与测试困难;给出抽模块加测试的分界方案
尚未完成自测。
在教师提供的项目骨架上完成依赖锁定与凭据外置,并验证报错行为。
独立完成环境、大文件隔离、密钥注入与模块化重构。
编写一个环境自检脚本,启动时校验依赖版本、必需环境变量与数据版本标识,缺失时给出可操作的提示。
学习状态:未学习
Day 65
建议时长:75 分钟
本日 CO:CO4 CO6 CO8
实验管理解决的是「三周前那个效果最好的版本是怎么跑出来的」。需要被记录的至少有四类:参数(超参数与配置)、指标(训练与评估结果)、产物(模型文件、图表、报告)以及来源(代码版本、数据版本、环境信息)。MLflow 这类工具把这些组织成可检索的实验记录,让不同运行可以横向比较。关键不在于用哪个工具,而在于养成「每次运行都完整记录」的习惯——事后补记几乎总是不完整的。记录还应包含失败的运行,因为「这条路走不通」同样是有价值的信息。
5 分钟 · MP3 · 双主持人讲解
参数包括全部超参数、数据划分方式与随机种子;指标包括训练过程中的曲线与最终评估结果,最好按统一命名以便跨运行比较;产物包括模型权重、评估图表与生成的报告;来源包括代码提交标识、数据版本标识与环境信息。四类齐全时,任何一次运行都可以被完整重建;缺一类就可能出现「知道结果好但不知道怎么得到」的困境。
记录应当自动化。依赖人在运行结束后手动填表,实际执行率很低,且事后回忆的信息通常不准确。把记录写进训练脚本,让每次运行自动上报参数、指标与来源,是唯一能长期坚持的做法。工具的作用是提供存储与检索界面,真正起作用的是「运行即记录」这个约定。
失败或效果不佳的运行同样值得记录。它们回答的是「哪些方向已经试过且不行」,避免团队在几个月后重复同样的尝试。记录失败运行时,除了参数与指标,还应补一句简短的观察结论——例如「学习率过大导致发散」「该特征加入后验证指标下降」。这类结论的价值往往高于一条成功记录。
从实验走向交付时,需要明确哪些信息必须随模型归档:训练用的代码版本、数据版本、完整配置、评估结果与评估集定义、以及已知的限制与适用边界。最后一项最容易被忽略——模型在什么分布上训练、不适用于哪些情况、已知会出错的场景,这些信息决定了使用者能否正确使用它。把它写进模型说明并随产物一起交付,是负责任的做法。
为一组实验建立完整记录,包含参数、指标、产物与来源四类信息,并用记录回答一个具体的对比问题。
一次实验运行至少需要记录哪四类信息?缺少「来源」这一类会造成什么后果?
尚未检查本题。
参考答案:参数、指标、产物与来源四类。缺少来源(代码版本、数据版本、环境信息)时,即使知道某次运行效果好,也无法确定它是用哪个版本的代码在哪一版数据上跑出来的,因而无法复现,也无法判断后续改动是否影响了这个结果。
评价要点:列出四类信息;指出来源包含代码、数据与环境版本;说明缺失导致无法复现与无法归因
为什么效果不佳的实验运行也应当被记录?
尚未检查本题。
参考答案:它们记录了「哪些方向已经尝试且不可行」,能避免团队在几个月后重复同样的探索。记录时应补一句简短的观察结论说明失败原因,这类信息的复用价值往往高于单条成功记录。
评价要点:指出避免重复探索;要求补充失败原因的观察结论;承认其复用价值
尚未完成自测。
在教师提供的脚本上补齐参数与指标的记录,并完成一次横向比较。
独立实现四类信息的自动记录,完成四组实验与模型说明。
设计一份实验记录的检查脚本,在归档前校验四类信息是否齐全,缺失时阻断归档。
学习状态:未学习
Day 66
建议时长:75 分钟
本日 CO:CO4 CO6 CO8
把模型变成服务,首先要明确服务的形态与指标。大模型推理服务通常提供与常见接口兼容的形式,便于客户端切换;关键指标包括首词元延迟、单词元生成延迟、整体吞吐与并发数,四者互相牵制:增大批处理提升吞吐但抬高单请求延迟。部署前必须确定服务等级目标——延迟的分位数指标(如百分之九十五分位)比平均值更能反映真实体验,因为平均值会被大量快速请求掩盖长尾。此外,模型权重的加载时间、显存占用与健康检查方式,都要在部署方案中写清楚。
6 分钟 · MP3 · 双主持人讲解
首词元延迟决定用户多久看到第一个字,直接影响体感;生成延迟决定内容出现的速度;吞吐决定单位时间能服务多少请求;并发数决定同时能处理多少会话。这四者不能同时最优:增大批处理规模能显著提升吞吐,但每个请求要等待批次组装,首词元延迟随之上升;提高并发会增加键值缓存的显存占用,超出后要么排队要么拒绝。部署方案必须明确「优先保证哪一项」,这是产品决策而非技术细节。
服务形态上,提供与常见接口兼容的形式可以让客户端在不同后端之间切换,降低绑定风险。除接口外还要考虑:模型权重加载需要多久(决定滚动更新的节奏)、健康检查如何区分「进程活着」与「模型已就绪」、以及请求超时与取消如何向下传递——用户已经断开连接时,服务端不应继续生成。
用平均延迟描述服务体验会系统性掩盖问题:大量快速请求会把均值拉低,而真正影响用户的是那些慢请求。分位数指标(如百分之九十五或九十九分位)直接回答「最慢的那部分用户等了多久」,因此更适合作为服务等级目标。定义目标时必须同时写清测量窗口与统计口径,例如「过去三十分钟内,百分之九十五分位的首词元延迟低于某个值」,否则目标无法被判定。
有了目标就要有超限时的动作。常见策略包括:排队并给出等待提示、限流拒绝新请求并返回明确错误、降级到更小的模型或更短的输出、以及关闭非关键功能(如减少检索片段数)。这些策略应当预先定义并可被开关控制,而不是在故障时临时决定。压测的价值正在于此——它给出「在什么并发下会触及目标上限」这个数字,使降级阈值有据可依。
部署一个推理服务并压测,绘制不同并发下的延迟分位数与吞吐曲线,据此确定可承诺的服务等级目标。
为什么用平均延迟作为服务等级目标是不合适的?
尚未检查本题。
参考答案:大量快速请求会把平均值拉低,掩盖少量但严重影响体验的慢请求。分位数指标直接回答「最慢的那部分用户等了多久」,更贴近真实体验。定义目标时还需写明测量窗口与统计口径,否则无法判定是否达标。
评价要点:指出均值被快请求拉低;提出用分位数替代;要求写明测量窗口与统计口径
增大批处理规模为什么会同时提升吞吐并抬高首词元延迟?
尚未检查本题。
参考答案:批处理让多个请求共享一次权重读取与计算,单位时间处理的总词元数上升,因此吞吐提高;但每个请求需要等待批次组装完成才开始计算,等待时间直接加在首词元延迟上。因此必须明确优先保证吞吐还是延迟,这是产品决策。
评价要点:说明批处理共享计算提升吞吐;指出批次组装等待抬高首词元延迟;把取舍定位为产品决策
尚未完成自测。
使用教师提供的服务完成两个并发档位的压测并读出分位数差异。
独立完成部署、四档压测与服务等级目标定义。
实现一种降级策略(如超限时缩短最大输出长度),压测验证其对延迟分位数与完成率的实际影响。
学习状态:未学习
Day 67
建议时长:75 分钟
本日 CO:CO4 CO6 CO8
把模型包装成接口,工程要求与普通后端服务并无二致:输入校验、超时控制、错误语义、并发模型、可观测性缺一不可。特殊之处在于三点:请求处理时间长且方差大,因此流式返回与取消传递很重要;模型调用通常是等待外部结果的操作,用异步方式承接可以显著提升并发能力,但如果在其中混入阻塞式的重计算,反而会拖垮整个事件循环;输入直接来自用户,必须做长度与内容校验,防止超长输入耗尽资源。接口设计上应当把「模型输出」与「服务状态」分开表达,让客户端能区分是模型没答上来还是服务出了故障。
6 分钟 · MP3 · 双主持人讲解
模型请求的处理时间通常在秒级甚至更长,且方差很大。这带来第一个要求:流式返回。逐步把生成结果推给客户端,用户可以立即看到进展,体感远好于等待若干秒后一次性返回。第二个要求是取消传递:用户关闭页面或超时后,服务端应当停止继续生成——否则这部分算力完全浪费,在高并发下会明显挤占容量。实现时需要把客户端断开的信号一直传到推理调用处。
第三个要求是资源保护。输入长度必须有上限,因为超长输入既占用上下文也拉长处理时间;输出长度同样要有上限,防止单个请求无限生成。这些限制应当在接口层就拒绝,并返回明确的错误信息告知超出了哪一项限制,而不是等到推理阶段才失败。
现代异步框架用单个事件循环承接大量等待中的请求,这对「大部分时间在等外部结果」的模型调用非常合适。但有一个必须避开的陷阱:如果在异步处理函数中执行阻塞式的重计算(例如大规模数据处理或同步的网络调用),事件循环会被卡住,所有其他请求一起变慢。正确做法是把阻塞操作放到线程池或独立进程中执行。这个问题在低并发测试时完全看不出来,只有压测才能暴露。
错误语义要让客户端能做出正确反应。至少应区分几类:输入不合法(客户端应修正后重试)、超出限流(应稍后重试)、模型未能给出有效答案(业务层面的失败,重试通常无用)、以及服务内部故障(可重试且应告警)。把这些都笼统返回同一种错误,会导致客户端要么盲目重试放大故障,要么在可恢复的情况下直接放弃。
用异步框架把模型包装成带流式返回、超时与错误语义的接口,并压测验证阻塞操作对并发的影响。
为什么必须把客户端断开的信号传递到推理调用处?
尚未检查本题。
参考答案:用户关闭页面或超时后,若服务端继续生成,这部分算力完全浪费;在高并发下会持续挤占键值缓存与计算容量,间接拖慢其他有效请求。把取消信号一路传递到推理调用,可以及时释放资源。
评价要点:指出继续生成的结果无人使用;说明会挤占并发容量;要求信号传递到推理调用处
在异步处理函数中执行阻塞式重计算会造成什么后果?为什么低并发测试发现不了?
尚未检查本题。
参考答案:事件循环被阻塞期间无法处理其他任务,所有等待中的请求一起变慢,并发能力大幅下降。低并发时同时只有少量请求,阻塞造成的排队不明显,指标看起来正常;只有在压测下队列积压才会暴露。正确做法是把阻塞操作放入线程池或独立进程。
评价要点:指出事件循环被阻塞影响所有请求;解释低并发下排队不明显;给出线程池或独立进程的解法
尚未完成自测。
在教师提供的接口骨架上补齐输入校验,并验证一次超限拒绝。
独立完成流式返回、取消传递、阻塞对照压测与错误语义设计。
为接口加入按客户端标识的限流,压测验证限流生效且不影响其他客户端的正常请求。
学习状态:未学习
Day 68
建议时长:75 分钟
本日 CO:CO4 CO6 CO8
机器学习系统与普通软件的关键差别在于:即使代码一行没改,效果也会随时间下降,因为数据分布在变。因此运维体系必须包含三类监控——服务层(延迟、错误率、饱和度)、数据层(输入分布是否偏移、缺失率是否上升)、以及效果层(业务指标与抽样人工评估)。只监控服务层是最常见的疏漏:接口全部返回二百,效果却已经退化数周。此外,模型与数据都需要版本化,回滚要能在几分钟内完成;上线应采用灰度而非全量切换,并预先约定回滚触发条件。
6 分钟 · MP3 · 双主持人讲解
服务层监控关注系统是否健康:延迟分位数、错误率、资源饱和度,这些与普通后端服务一致,可以用通用的可观测性方案覆盖。数据层监控关注输入是否还是模型见过的那种数据:特征分布是否漂移、缺失率是否上升、类别取值是否出现新值、输入长度分布是否变化。效果层监控关注结果是否仍然有用:业务指标(如转化率、人工修正率)与定期的人工抽样评估。
最常见的疏漏是只做服务层监控。接口全部返回成功、延迟正常,但模型面对的已经是分布变了的数据,输出质量早已下降——这种退化不会触发任何技术告警,通常由业务方投诉才被发现,而此时已经过去数周。因此数据层与效果层监控必须与服务层同时建立,而不是等出问题后再补。
模型上线应当灰度而非全量切换:先把小比例流量导向新版本,同时对比新旧版本在三层指标上的差异,确认无退化后再逐步放量。灰度期间必须明确回滚触发条件——哪个指标、超过什么阈值、观察多长时间、由谁决定。回滚本身要能快速执行,这要求模型与配置都已版本化,切换只是改一个指向而不是重新部署。
效果层最可靠的信号来自人工评估。做法是定期从线上请求中抽样,由人按统一标准评分,形成随时间变化的质量曲线。抽样比例取决于请求量与可投入的人力,关键是保持固定的抽样方式与评分标准,使不同时间点的结果可比。这项工作看起来笨拙,但它是唯一能发现「指标正常但输出变差」的手段,尤其在生成式系统中不可替代。
为一个已部署模型设计三层监控与回滚方案,并用注入的分布偏移验证告警是否按预期触发。
为什么只做服务层监控的机器学习系统会长期带病运行?
尚未检查本题。
参考答案:服务层只反映系统是否健康:接口返回成功、延迟正常时不会告警。但数据分布可能已经改变,模型输出质量随之下降,这种退化不产生任何技术异常,通常要等业务方投诉才被发现,期间可能已过去数周。因此必须同时建立数据层与效果层监控。
评价要点:指出服务层指标正常掩盖效果退化;说明分布漂移不产生技术异常;要求补齐数据层与效果层监控
人工抽样评估在生成式系统中为什么不可替代?如何保证不同时间点的结果可比?
尚未检查本题。
参考答案:生成式输出的质量难以用自动指标完整刻画,「格式正确但内容变差」这类退化只有人能判断。保证可比的关键是固定抽样方式、固定评分标准与记录格式,并保持评估节奏稳定;标准或抽样方式变化时必须记录,否则曲线上的波动无法区分是质量变化还是评估口径变化。
评价要点:指出自动指标无法完整刻画生成质量;要求固定抽样方式与评分标准;指出口径变化必须记录
尚未完成自测。
在教师给出的监控清单上补齐数据层与效果层指标,并说明各自能发现什么问题。
独立完成三层监控设计、偏移注入验证与灰度回滚方案。
设计一个把人工评估结果反馈到测试集的闭环:低分样例如何进入回归测试集,以及如何避免测试集被污染。
学习状态:未学习
Day 69
建议时长:75 分钟
本日 CO:CO4 CO6 CO8
大模型应用引入了传统应用没有的攻击面。提示注入是其中最典型的一类:攻击者把指令藏在模型会读到的内容里——用户输入、检索到的文档、网页、甚至图片中的文字——诱导模型执行非预期动作。它之所以难防,是因为模型本质上无法可靠区分「指令」与「数据」。因此防御不能依赖模型自觉,必须落在系统设计上:外部内容始终标记为数据、工具调用在执行侧独立校验、有副作用的操作需要人工确认、输出在返回前做校验。OWASP 针对大模型应用整理了常见风险清单,可作为设计评审的检查表。
6 分钟 · MP3 · 双主持人讲解
模型接收到的是一段连续的文本,其中系统指令、用户输入与检索内容在本质上没有区别——它们都是词元。因此「请忽略之前的指令」这类文字如果出现在检索到的文档里,模型有可能真的照做。间接注入尤其危险,因为攻击者不需要接触系统,只要让恶意内容出现在会被检索到的地方即可,例如在一个公开页面或一份共享文档中埋入指令式文字。
既然模型无法可靠区分指令与数据,防御就必须落在系统层。第一是标记:用明确的结构把外部内容标注为数据,并在提示中说明其中的内容不作为指令。第二是权限:模型能触发的动作必须受限,有副作用的操作需要人工确认或白名单约束。第三是校验:工具参数在执行侧独立校验,输出在返回前检查是否包含不该出现的内容。第四是最小暴露:不把不必要的敏感信息放进上下文,因为进入上下文的内容都有被诱导输出的可能。
数据泄漏有两条常被忽略的路径。一是输出泄漏:系统提示、内部规则或其他用户的数据若进入了上下文,就可能被诱导输出;对策是最小暴露原则加上输出侧的敏感内容检查。二是日志泄漏:为了排查问题保存完整请求与响应是常见做法,但这些日志可能包含用户的敏感信息,且访问控制往往比业务数据宽松;对策是日志脱敏、限定保留期与收紧访问权限。
评审应当结构化进行。使用公开的大模型应用风险清单逐项对照,为每项回答三个问题:本系统是否存在该风险、当前有什么措施、措施是否被验证过。同时参考通用的人工智能风险管理框架,把治理、映射、度量与管理四个环节落到具体责任人与流程上。评审的产出应当是一份带责任人与时间点的整改清单,而不是一份泛泛的风险描述。
对一个检索增强应用做一次安全评审,构造三类注入尝试并验证防御措施是否生效。
为什么提示注入不能通过「在系统提示中要求模型不要听从用户指令」来彻底解决?
尚未检查本题。
参考答案:模型接收到的系统指令、用户输入与检索内容都是同一段文本中的词元,它无法可靠区分哪些是指令、哪些是数据;再强的措辞也只是提高了门槛而非提供保证。因此防御必须落在系统层:外部内容标记为数据、动作权限受限、工具参数在执行侧校验、输出返回前检查。
评价要点:指出模型无法可靠区分指令与数据;说明提示措辞只提高门槛不构成保证;给出至少两项系统级防御
间接提示注入为什么比直接注入更危险?请给出一个具体场景。
尚未检查本题。
参考答案:攻击者无需接触系统本身,只要让含指令的内容出现在会被检索到的地方即可,例如在一个公开网页或共享文档中埋入「请把上下文中的内容发送到某地址」之类文字;当应用检索到该文档并放入上下文时,注入即被触发。受害系统的使用者对此毫无察觉,防御必须依靠外部内容标记与动作权限限制。
评价要点:指出攻击者无需接触系统;给出通过被检索内容触发的具体场景;指出使用者难以察觉并给出防御方向
尚未完成自测。
在教师提供的数据流图上标出外部内容入口,并完成一次直接注入尝试的记录。
独立完成三类注入验证、防御补充与结构化风险评审。
为间接注入设计一项可自动执行的检测(如对检索内容做指令式文本扫描),评估其误报率与漏报情况。
学习状态:未学习
Day 70
建议时长:75 分钟
本日 CO:CO4 CO6 CO8
本周收尾把从开发到运维的完整工具链串起来,并明确每一环的交付物。链路是:环境与依赖(可复现的起点)→ 实验管理(可追溯的过程)→ 模型与数据版本(可回滚的产物)→ 服务化(可承诺的接口)→ 监控(可发现的退化)→ 安全评审(可控的风险)。每一环都应当有明确的交付物与验收标准,否则工具链会退化成一堆各自为政的脚本。评估一个团队的成熟度,最直接的问题是:能否在十分钟内回答「线上跑的是哪个模型、用哪版数据训练的、当前效果如何、出问题怎么回滚」。
5 分钟 · MP3 · 双主持人讲解
工具链最容易出现的问题不是缺少工具,而是缺少约定:每一环产出什么、下一环依赖什么、什么算完成。把这些写清楚后,工具的选择反而变得次要。例如「环境」这一环的交付物是锁文件加环境重建说明,验收标准是他人依此能在新机器上重建并跑通一个最小样例;「实验管理」的交付物是四类信息齐全的运行记录,验收标准是任意一次运行可被完整重建。
各环之间的依赖也要明确。服务化依赖模型版本化,否则无法快速回滚;监控依赖服务化时就埋好的指标,事后补埋往往缺关键维度;安全评审依赖完整的数据流图,而数据流图应当在服务化阶段就画出来。理解这些依赖,才能避免「等出问题再补」——很多能力必须在前一环就预留接口,事后补的成本高得多。
评估成熟度不需要复杂的模型,四个问题就足够:线上正在服务的是哪个模型版本?它是用哪一版数据、哪一版代码训练的?当前的效果指标是多少、最近一次人工评估是什么时候?出问题时回滚需要多久、由谁执行?如果这四个问题不能在十分钟内答出,说明工具链上有明确的缺口,且缺口位置可以直接从答不出的那一问定位。
改进应当分阶段而不是一次到位。合理的顺序通常是:先补版本化与实验记录(成本低、收益立竿见影),再补服务层与数据层监控,然后是效果层的人工评估流程,最后是灰度与自动回滚。每个阶段都应当写明投入(人力与时间)与预期收益(能回答哪个问题、能减少哪类故障),这样改进计划才能被排期而不是停留在愿望清单上。
为一个项目绘制完整工具链图,为每一环写出交付物与验收标准,并用四个问题自测团队成熟度。
为什么说监控能力必须在服务化阶段就预留,而不能等出问题后再补?
尚未检查本题。
参考答案:监控依赖服务运行时埋点采集的数据,事后补埋往往缺少关键维度(如按模型版本、按请求类型区分),历史数据也无法追溯补齐。故障发生时最需要的恰恰是历史对比,缺少这部分数据就只能凭猜测排查。因此埋点应在服务化阶段一并设计。
评价要点:指出监控依赖运行时埋点;说明事后补埋缺维度且无法追溯历史;把历史对比作为故障排查的必要条件
用「四个问题十分钟内能否答出」评估成熟度,好处是什么?
尚未检查本题。
参考答案:它把抽象的成熟度评估转化为可直接检验的具体问题,答不出的那一问直接指向工具链的缺口位置,因而结论可操作。相比按成熟度等级打分,这种方式不依赖主观判断,任何人都能重复这次检验并得到相同结论。
评价要点:指出把抽象评估变成可检验问题;说明答不出即定位缺口;强调结论可重复且不依赖主观打分
尚未完成自测。
在教师给出的工具链图上补齐三环的交付物,并完成四问自测。
独立完成工具链图、全环交付物与验收标准、自测与改进计划。
为改进计划中的第一阶段编写可执行的验收脚本,自动检查交付物是否齐全并输出缺口清单。
学习状态:未学习