Lab 3.1–3.4 无需 key;Lab 3.5 可选需 key。预计 75–100 分钟。
任务:运行并改造 examples/retry_backoff.py:
504 timeout_error 的分类从"不可重试"改为"可重试 1 次"——思考官方为什么建议 504 换 streaming/Batches 而非重试(提示:同样的输入再跑 10 分钟)。验收:能画出自己的重试决策树(错误类型 × retry-after × 预算 三层)。
任务:扩展 examples/api_walkthrough.py 的校验器:
messages 超过 100,000 条报错;system 为 list 时校验每个 block 的 type。"当前时间: 2026-08-30 20:00" 且断点在它之后——写一段注释解释为什么这个请求永远 cache miss(对照 README §8.2 的 hash 机制)。custom_id 带 /、一项 params 里塞 stream: true,验证三条错误都抓到。验收:校验器输出与官方 Batches 限制表一一对应(来源: https://platform.claude.com/docs/en/build-with-claude/batch-processing(访问于 2026-08-30))。
任务:某评估任务 10,000 次/晚,输入 8,000 token(其中 7,500 为共享评估说明,稳定)、输出 1,000 token,Sonnet 5($2/$10)。
验收:算出三档成本并解释 stacking 规则。
任务:设计你的调用日志 schema,至少包含:request_id、model、usage 四字段、stop_reason、耗时(TTFT/总时长分开)、缓存命中数、重试次数、错误 type。回答:
任务:python3 examples/api_walkthrough.py --live(key 从环境变量注入):
usage 与 request-id。cache_read_input_tokens(若未达最小可缓存长度——Sonnet 5 为 1,024 token——则双字段为 0,正好验证"静默不缓存")。model 改成不存在的 ID,观察 404 not_found_error 的 JSON 错误体结构。