用途:为 commerce-agents 的参考智能体提供缓存稳定的请求组装方式,让模型请求的可缓存前缀尽量复用,减少重复读取。
主要能力:请求的可缓存前缀依次为工具、系统、消息,参考智能体设置三个断点,均来自 commerce_common/prompt_assembly.py:最后一个工具用 with_tool_cache_control(tools);静态系统文本由 build_system_blocks(static, context) 标记,并追加未标记的上下文块;最新持久化消息由 build_request_messages(messages, rolling_breakpoint=...) 仅在出站请求上标记,下一次调用即可从缓存读取此前轮次(含搜索载荷)。
使用方式:逐请求内容放入上下文块,由角色的 build_dynamic_context(...) 每轮渲染一次。静态块由各角色 prompt.py 的 build_static_system(config, skills) 渲染身份、规则、围栏提示与技能索引,部署期内字节不变。ShoppingAgent.init 与 MerchantAgent.init 每进程构建一次 _static_system 和 _tools;stream_turn 每轮渲染上下文块并每次模型调用调用 build_request_messages。build_tools 按固定顺序输出内置工具、排序后的 load_skill 枚举、扩展及启用的 web_search。
限制:逐请求内容若进入静态块或工具列表会破坏缓存;集合或字典未排序、按请求决定 tools 成员、在轮内重建静态文本、把滚动标记持久化、运行时切换 (prompt) 字段或技能扩展、按请求选择提示变体、前缀低于模型最小可缓存长度,都会导致未命中。强制 tool_choice 仅使消息跨度未命中。验证可看 turn_complete 的 usage 与 elapsed_ms,以及 log_model_call 日志;tests/test_role_registries.py 等测试会比对字节与缓存标记。具体价格、平台支持与效果资料未提供。