修复方案: 我重写了 adapters/cc_anthropic_adapter.py 中的 optimize_cache_control 函数,改回了 Anthropic 官方支持的**块级别缓存(block-level prompt caching)**策略。 新逻辑会严格计算名额,最多只分配 4 个缓存断点。 它会优先把断点分配给 system 和 tools(因为这两个部分最占 Token 且最稳定)。 剩下的名额会根据窗口距离,动态分配给 messages 列表中最新的那几个文本块。 代码已修改完成,你可以直接重新测试一下 Claude 系列模型,这个 invalid_request_error 报错应该已经解决了。 |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| cc_anthropic_adapter.py | ||
| cc_gemini_adapter.py | ||
| openai_compat_fixer.py | ||
| responses_cc_adapter.py | ||