思考块为何因上下文变更报错或被丢弃
部分接口将历史思考块与生成时的上下文前缀绑定,前缀变更可触发报错或丢弃思考块,这属于推理完整性校验,不能直接归因为防蒸馏。
要点
- AWS 文档中的 Preserved thinking 将思考块绑定到此前的系统提示词、工具列表和历史消息,来源明确提及 Claude Fable 5.1,不能泛化为所有模型。
- 校验的是上下文前缀是否被改动,不是思考与提示词是否存在语义矛盾;默认 error 模式下,前缀不匹配会返回 400。
- 配置 drop_block 后,请求可继续,但送入模型前会删除不匹配的思考块及其后的所有思考块;不会一并删除用户消息、最终回答,也不是撤回已收到的文字。
- 官方解释是保护推理完整性;绑定不能阻止收集已可见输出进行蒸馏,来源未找到将该校验归因于防蒸馏的官方说明。
- 压缩历史、改写旧消息或动态重建系统提示词时,不能默认旧思考块仍能原样复用。
- 文档:https://docs.aws.amazon.com/bedrock/latest/userguide/claude-messages-thinking-block-binding.html