F38|看懂生产运行:Trace、队列、成本和回滚
从具体对象与小例子开始,理解计算过程与适用条件。
本章目录
Trace要告诉你因果,不只是时间戳
为何优化一个最显眼的步骤,整体却没变快?
执行轨迹像工程里的时间账,但更重要的是依赖关系。串行阶段会相加,并行阶段往往取关键路径;只有知道下一步在等谁,才能知道哪里值得优化。还要把排队、推理、工具、验证和重试分开,不能全算成模型慢。
输入与适用条件:固定教学秒数,无真实产品耗时数据。第4帧只改变工具A时长,其他条件保持不变。
1 / 5 · 先看一条完整任务
窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。
构造的任务从0到16秒:排队2秒、第一次模型3秒、并行工具A3秒/B8秒、第二次模型2秒、核验1秒。
基准墙钟16秒;工具工作量11秒默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。
为什么需要
把优化投入到确实支配成本或完成时间的环节。
怎样实现
按依赖关系画时间线,再用同负载实测对照。
可能的代价与误解
只看平均值会隐藏长尾;把并行跨度相加会错误夸大总耗时。
如何判断是否做对
按时间戳与依赖重算16秒,检查是否把等待和重试遗漏。
一次任务到底慢在哪里
总时间可能包括排队、上下文检索、模型输入处理、生成、工具等待、重试和验证。只记录“总计60秒”不能说明该换模型、改检索还是减少工具轮次。
Trace(调用轨迹)把同一任务的相关步骤关联;Span记录一个具体操作的开始、结束与属性;Log日志记录事件细节;Metric指标汇总大量运行的统计值。三种观察互补。
用一条教学轨迹分账
排队2秒
检索1秒
模型调用5秒
工具测试8秒
模型总结2秒
总计18秒(这个例子假定顺序执行)
若工具测试是最大项,仅压缩最后总结的Token不会把总时长降低一半。若步骤并行,总时间要看关键路径,不能把每个span耗时盲目相加。
TTFT、TPOT与端到端延迟
TTFT是从请求开始到第一个输出Token到达的时间;TPOT描述后续每Token生成时间的某种统计;端到端延迟是用户任务整体完成时间。
首字出来很快,后续工具执行很慢,用户仍会觉得任务慢。输出很多无用文字可以让界面显得活跃,却不改善完成时间。
吞吐与延迟不是一对同义词
吞吐量throughput是一段时间完成多少工作;延迟latency是一项工作等待多久。批量处理可能提高吞吐,却增加部分请求排队时间。
当请求到达速度逼近系统可处理速度,排队可能迅速变长。平均值还会掩盖尾部慢请求;p95表示某统计窗口中约95%的观测不超过该值,不是最大值。
在稳定系统和相应条件下,Little定律常写L=λW:平均在系统中的任务数=平均到达率×平均停留时间。它帮助核对队列与延迟,但不是无条件适用于任何瞬时波动的精确预测。
成本应算整个任务
模型输入、输出、缓存命中、工具、失败重试和人工介入都可能有成本。不要只比较“每百万Token价格”,忽略便宜模型导致的多轮返工。
也不要为了降低Token把关键证据删掉。更好的目标是在满足质量与风险要求下,减少无效读取、重复分析、无进展调用和不必要审查。
SLI、SLO是什么
SLI是服务水平指标,例如规定时间内正确完成的请求比例;SLO是该指标目标,例如某业务对可靠性和时间的要求。目标应连接用户结果,而不是只保证API返回200。
错误预算描述在可靠性目标允许范围内可承受的失败量,用于平衡变更速度和稳定性。这是管理思路,不要求个人实验也建立复杂运营平台。
灰度、回滚和版本组合
灰度发布canary先让小范围流量使用新版本,观察后再扩大;回滚退回已知较稳定的配置。Agent系统版本可能包含模型、Prompt、工具、Skill、索引、权限与记忆规则,不能只记模型名。
若新版本已写入错误记忆或修改外部系统,仅换回旧模型未必消除影响。需要核验派生数据和副作用,必要时单独修复。
追踪也要保护隐私:默认不要保存全部敏感Prompt和凭据。记录足够定位问题的身份、版本和脱敏证据,比无条件日志越多越好更合理。
两条工具并行时,为什么总耗时不能直接相加
输入与条件。读取配置需要3秒,读取测试需要5秒,两者可以同时开始;之后模型整合2秒。时间是构造的。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1t=0 | 两个只读工具同时启动 | 两个分支都从0计时。 |
| 2t=3 | 配置先完成 | 测试仍在运行。 |
| 3t=5 | 测试完成 | 汇合点现在才具备两份证据。 |
| 4t=5到7 | 模型整合 | 墙钟总耗时7秒。 |
| 5比较两本账 | 工具耗时和=3+5=8秒;模型再2秒 | 工作量和10秒,但关键路径是max(3,5)+2=7秒。 |
把过程连起来。Trace要保留父子关系与时间区间,才能区分“做了多少工作”和“用户等了多久”。
边界与反例。真实并发会受资源争用、限流和通信影响,不能拿本例推导固定加速比。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
课后自检
模型只占总耗时20%,换快一倍模型能让总时间快一倍吗?
查看参考答案收起参考答案
回滚模型版本后,错误长期记忆会自动消失吗?
查看参考答案收起参考答案
机制依据:[SRE][SLO][OTEL][LATENCY]。本节数值与情景除另注外均为原创教学示例;来源不代替中文讲解。