HintBlock 的形式注入上下文,由 Agent(...) 的 injection_config 参数控制。
注入覆盖三个维度,各自有独立的触发时机:
注入机制
每个注入字段包装为<key>value</key>,拼接后填入 template(默认是一个 <system-reminder> 包裹模板)。一条典型的注入提示如下:
注入提示示例
- 注入不是临时的:它会追加到持久化上下文中,让智能体感知时间的流逝和每一步做了什么,建立时间感。
- 提示以
HintBlock形式附加,而不是修改系统提示,因此提示词缓存依然有效,同时智能体持续感知变化的状态。 - 只有会话中会变化的信息才会被注入。固定信息(智能体身份、长期指令)应写入系统提示。
emit_hint_event 开启时,reply_stream 会额外产出一个 HintBlockEvent,方便前端渲染注入的提示。
配置注入
向智能体构造函数传入InjectionConfig 即可调整注入行为:
InjectionConfig 的字段如下:
context_buffer_ratio 必须小于上下文配置的 trigger_ratio,以保证上下文用量在压缩发生之前注入。否则智能体构造函数会抛出 ValueError。注入自定义字段
除内置维度外,extra_fields 可以注入开发者自定义的信息,例如传感器读数、部署元数据:
自定义模板
template 字段控制注入内容呈现给大模型的方式。它必须包含 {runtime_state} 占位符,占位符会被替换为拼接后的 <key>value</key> 字段: