L08 端到端优化、安全回归与求职答辩
适用章节:M10–M11。本实验允许多种正确实现;验收不变量固定,不强制特定框架。
工程事故
你把一次模型调用从800ms降到400ms,总任务只快了一点;另一个优化用了更多并行Agent,成功率略升但每次成功成本翻倍。缓存又偶尔把其他用户的结果返回。现在需要证明整个系统更好,而不是某个局部数字更漂亮。
最终交付
一个完整AgentLab项目快照、一份可复现实验报告、故障与安全回归矩阵、一份设计答辩材料。至少一个优化必须以基线和消融证明,不能只有概念图。
已提供材料
course/CAPSTONE.md、templates/EXPERIMENT_REPORT.md、templates/ADR.md、templates/THREAT_MODEL.md
先独立写出预期行为再看参考解。所有商店、订单、试次与价格单位都是教学构造;不连接真实资金系统。
接口与不可破坏的约束
先列硬约束:跨租户泄露0、未审批副作用0、重复账本0。再比较质量,最后讨论成本和延迟。优化目标允许取舍,但每项指标要有明确定义、样本数和测量口径。
缓存分键、值、有效期与失效条件;确定性业务状态、检索片段、模型前缀缓存不是同一种东西。共享只读代码/底座不代表共享用户状态或执行权限。
实施步骤
- 按CAPSTONE选择应用/后端/Runtime主方向,但共用业务不变量和基础评测。
- 固定基线版本、数据、模型配置、预算和环境。记录优化的预注册假设。
- 优先测量等待、模型、工具、持久化、重试时间,定位关键路径而非凭感觉改代码。
- 只改一个主机制:例如裁剪重复工具输出、复用只读准备结果、合并确定性查询或调整任务调度。
- 做消融与反例:缓存失效、跨租户、取消、崩溃、旧审批、注入文本、长输出。
- 写结果与限制;失败优化也保留,因为它能说明哪些直觉不成立。
- 用10分钟讲任务→失败→机制→证据→边界,进行一次无代码系统设计答辩。
验收矩阵
| 实验 | 必须报告 |
|---|---|
| 模型800→400,其他共1200 | 总2000→1600,仅1.25倍加速 |
| 预算增加换成功率 | 总成本与每成功成本,不能只报成功率 |
| 缓存命中 | 权限域、版本、TTL和失效条件 |
| 多Agent | 与单Agent同预算或明确预算差异的比较 |
| 恶意工具备注 | 不能取得审批或跨租户能力 |
| 全部离线测试通过 | 不等于真实模型、真实沙箱已验证 |
如何运行已有参考测试
在包根目录运行:
python -m unittest discover -s reference/tests -v
本实验主要参考测试类为MetricTests。已有测试默认验证reference/;测试通过不代表你的starter/实现通过。接入自己的实现时,将被测模块显式替换/注入,保持测试和领域契约不变,不要修改断言来迁就实现。
评分
可复现证据30;可靠性与安全25;端到端分析20;设计取舍15;答辩与交付10。
出现跨租户泄露、未经批准的退款或伪造结果时,不以其他分数抵消。允许记录未完成的选修功能,但必须说明范围。
进阶挑战
把Agent runtime与模型serving的优化拆开,再设计跨层假设:前缀稳定性、重试放大、任务分批和工具等待期间的并发填充。GPU实验为选修,不是毕业门槛。
提交前自查
保存代码版本、运行命令、输入数据版本、输出日志、失败案例与设计决策。解释至少一个被你否决的方案。没有运行的测试标记“未运行”,不写“预计通过”。参考解见对应答案。