feat(chatter): 引入决策历史以增强上下文连续性

为提升语言模型在连续对话中的表现,本次更新引入了决策历史功能。该功能旨在为模型提供一个短期记忆,记录其最近的思考过程与采取的行动。

主要变更包括:
- 新增 `DecisionRecord` 数据模型,用于存储“思考-动作”对。
- 在 `StreamContext` 中添加 `decision_history` 字段,以维护每个聊天流的决策历史。
- 在 `plan_filter` 中实现决策记录的逻辑,并在构建提示词时将其注入,供模型参考。
- 添加 `enable_decision_history` 和 `decision_history_length` 配置项,允许用户启用此功能并调整历史记录的长度。

通过回顾近期的决策,模型可以更好地避免重复行为,并生成更具连贯性和创造性的响应。
This commit is contained in:
tt-P607
2025-10-29 18:58:28 +08:00
parent 76f33134df
commit 57794480b8
5 changed files with 99 additions and 2 deletions

View File

@@ -143,6 +143,10 @@ class ChatConfig(ValidatedConfigBase):
dynamic_distribution_max_interval: float = Field(default=30.0, ge=5.0, le=300.0, description="最大分发间隔(秒)")
dynamic_distribution_jitter_factor: float = Field(default=0.2, ge=0.0, le=0.5, description="分发间隔随机扰动因子")
max_concurrent_distributions: int = Field(default=10, ge=1, le=100, description="最大并发处理的消息流数量")
enable_decision_history: bool = Field(default=True, description="是否启用决策历史功能")
decision_history_length: int = Field(
default=3, ge=1, le=10, description="决策历史记录的长度,用于增强语言模型的上下文连续性"
)
class MessageReceiveConfig(ValidatedConfigBase):