Appearance
模型层与结构化交互
把 Provider 差异隔离在 Model Adapter,理解模型输入、结构化决策、错误与可复现性。
推荐阅读顺序
1. 一次模型调用受哪些硬边界约束:Token、Context Window、Sampling 与 Latency
回答:在选模型和预算前,怎样判断一次调用真正能放多少输入、会产生多大随机性和延迟?
2. 模型输入到底是什么:Message、Item、Event 与 Instruction Hierarchy
回答:Message、Item、Event 分别代表什么,System / Developer / User instructions 又如何形成权威层级?
3. Structured Output、Schema Validation 与 Tool Calling
回答:Structured Output、Schema Validation 与 Tool Calling 如何把概率性模型输出变成 Runtime 可验证的输入?
4. 如何隔离 Provider 差异:Streaming、Adapter 与 Capability
回答:不同 Provider 的 streaming event、API shape 和 capability 差异应该在哪一层被隔离?
5. 模型调用失败后怎么处理:Error Taxonomy、Routing 与 Fallback
回答:模型调用失败时,哪些错误该重试、哪些该切模型或降级,Fallback 又如何保持能力语义?
6. 怎么在不依赖真实模型的情况下测试 Runtime:Fake Model 与 Deterministic Tests
回答:如何用可脚本化的 Fake Model 覆盖 Runtime 分支,而不让真实模型随机性污染测试?
7. 一次 Run 如何可复现:Version Snapshot 与 Run Manifest
回答:一次失败的 Run 过几天还能不能回答“当时到底运行了什么版本”?
本模块学习边界
- 暂不展开:Provider 生产级容量治理、跨版本 state migration 与完整 Eval