用途:在应用中引入 LLM 判断/推荐层,用于自适应难度、内容排序、每日混排与个性化等场景。核心原则是模型只做排序、打分或回答是/否,代码负责排序、截断、阈值与最终选择;应用本身保持确定性并可离线运行。
主要能力与硬性约束:模型不决定策略;UI 不等待网络,先渲染缓存或默认方案,模型返回后就地更新;任何失败路径都静默落到确定性回退,无错误文案、无重试风暴、无死界面;API 密钥绝不下发到客户端,由服务端代理注入,未配置代理 URL 时该层按设计处于惰性状态。
使用方式:状态仅聚合统计量,用模型主语言组织,不含姓名、日期、标识符或自由文本。按时间桶(通常按本地日)批量发一次请求,首次需要时惰性触发并按桶时间戳缓存,所有问题在同一调用中针对同一状态发出。按问题逐项解析,半好响应仍贡献其中好的答案,失败问题单独回退。按置信度门控,仅当高于按犯错代价设定的阈值时才采用模型答案,低于阈值保留旧值。最终在代码中完成排序、截断、阈值处理,保证即使所有概率都低也能得到有效结果。
问题原语:Choice 返回单一赢家与概率,用于恰好选一个;Noul 返回每项 P(yes),用于多选混排,由代码排序取前 N;Score 返回图例上的浮点值,用于难度等分级设置,做取整、截断与门控。多选是经典陷阱:单一 Choice 只能强选一个,独立 Noul 给出每项概率供自行排序。
时机与回退:按时间桶批量而非按事件;按事件调用会让难度在会话中变动显得不稳定,且细粒度下成本倍增而无收益。新用户从安全默认值开始,绝不用模型猜测。失败类型包括无网络或超时、非 2xx、响应格式错误或缺失、置信度低、未配置代理,全部静默回退;回退是一等功能,如确定性轮转、沿用昨日值、安全默认值,回退路径应与正常路径同等测试。
隐私与限制:状态对象即完整数据契约,只含计数、比例、近因,能识别个人的字段不应存在;代理在服务端加密钥并原样转发,不做改写与日志。反模式包括让未门控的模型原始答案直达 UI、模型失败时显示错误文案、在每日缓存足够时按事件请求、PII 或语言环境泄漏进状态对象、忽略置信度这一独立维度。可与 judgment-gate、work-router(tech-lead intent)链式配合。