feat(planner): 重构动作规划器以支持组合动作和概率性表情

重写了 Planner 的主 Prompt,引导 LLM 将回复(reply)视为主动作,将表情(emoji)等视为辅助动作,从而更好地生成组合动作,使响应更生动。

- 移除了旧的“100%概率动作强制添加”逻辑,并替换为新的“概率性表情”机制。现在,当生成回复时,会根据配置的概率(emoji_chance)自动附加一个 emoji 动作。
- 改进了 emoji 动作的情感匹配逻辑,从精确匹配改为模糊匹配,提高了根据 LLM 输出找到合适表情的成功率。
- 修复了随机类型动作在激活概率计算时的一个边界条件问题。
This commit is contained in:
tt-P607
2025-09-09 18:50:37 +08:00
committed by Windpicker-owo
parent 97df1011d1
commit 47ee2ba693
3 changed files with 64 additions and 28 deletions

View File

@@ -205,9 +205,8 @@ class ActionModifier:
elif activation_type == ActionActivationType.RANDOM:
probability = action_info.random_activation_probability
if probability >= 1.0:
continue # 概率为100%或更高,直接激活
if random.random() > probability:
probability = action_info.random_activation_probability
if random.random() >= probability:
reason = f"RANDOM类型未触发概率{probability}"
deactivated_actions.append((action_name, reason))
logger.debug(f"{self.log_prefix}未激活动作: {action_name},原因: {reason}")