模块 1模型原理与 Agent 基础
模型 API 与事件流
先定义内部请求模型
指令与输入
- 角色/优先级或 Item 模型
- 文本、图像、文件等内容块
- 动态上下文的来源标记
执行选项
- 模型与推理参数
- 工具清单与选择策略
- 结构化输出约束
- 追踪和幂等元数据
响应是带状态的 Item 集合
- 文本只是可能的输出项之一
- Tool Call、Reasoning、引用和 Artifact 需要独立类型
- Usage、完成原因和不完整状态必须保留
- 未知事件应可前向兼容而不是静默丢弃
用状态机消费流式事件
事件类别
响应生命周期
- created、in-progress 与 completed
- failed、cancelled 与 incomplete
Item 生命周期
- Item 创建、更新与完成
- 文本、引用和 Artifact 内容 Delta
Tool 事件
- 调用参数增量与参数完成
- 执行结果按 Call ID 关联
终止事件
- 错误、取消与连接中断
- 只允许一个最终终态
客户端 Reducer
- 按响应和 Item ID 关联
- 处理顺序、重复和晚到事件
- 部分结果与最终结果分离
终态必须唯一
- completed
- failed
- cancelled
- incomplete
Tool Call 的完整往返
- 模型产生调用 ID、工具名和参数
- 参数完成后再执行 Schema 与策略校验
- 执行结果或结构化错误按调用 ID 回注
- 并行调用必须保持关联和独立状态
- 大结果、二进制和敏感字段不能直接无界回注
明确谁拥有对话状态
客户端重放
- 可移植但窗口和并发由应用负责
Provider Conversation
- 减少重放但引入锁定、生命周期和数据边界
应用 Session Store
- 承接业务状态、权限、摘要和审计
- 重试、分支和多端并发需要版本或冲突策略
错误要按恢复语义归一化
响应开始前
- 鉴权与参数错误
- 限流和容量
- 安全重试与退避
流中断
- 部分输出是否可展示
- 是否能续传
- 避免重复执行 Tool
协议成功但行为失败
- 拒答
- 结构不合法
- 工具选择错误
- 无法通过传输重试解决
统一公共语义,保留厂商差异
适合统一
- 基础消息与内容块
- 函数工具
- 生命周期与错误类别
- Usage 和 Trace 关联
必须保留 Escape Hatch
- 内置工具
- Reasoning 与缓存控制
- 厂商特有事件
- 能力探测和版本差异
适配器验收
- 录制事件序列
- 乱序/截断/未知事件
- 重复 Tool Call
- 升级回归