下放 ai_auto_response 参与判断到 LLM
变更项: 1. 新增 decision 配置并重写 ResponsePlanner,将是否送模型的本地粗筛收缩为轻量入口判断,允许在主动参与开启时更多普通文本进入模型。 2. 将 cooldown 从模型前挡板后移到 LLM 判定 should_reply 之后,改为发送闸门,减少本地提前拦截。 3. 调整上下文与 prompt 控制信息,明确 reply_mode 只是本地 hint,并把 acceptance_state、solver 等信号直接下放给模型统一判断是否参与和如何回复。
This commit is contained in:
@@ -53,8 +53,18 @@ class ContextBuilder:
|
||||
"speaker_name_clean": self._clean_display_name(sender_name),
|
||||
"is_at": bool(trigger.get("is_at", False)),
|
||||
"is_directed": bool(trigger.get("is_directed", False)),
|
||||
# 这些轻量触发标记继续保留到上下文里:
|
||||
# 1. 现在我们准备把“是否参与聊天”更多地下放给模型;
|
||||
# 2. 因此模型需要直接看到这些基础信号,而不是只吃本地裁剪后的 reply_mode;
|
||||
# 3. 这样它能自己判断“这是普通问句、追问、社交招呼,还是纯路过消息”。
|
||||
"question_detected": bool(trigger.get("question_detected", False)),
|
||||
"is_question": bool(trigger.get("is_question", False)),
|
||||
"is_followup": bool(trigger.get("is_followup", False)),
|
||||
"is_social_call": bool(trigger.get("is_social_call", False)),
|
||||
"is_returning_member": bool(trigger.get("is_returning_member", False)),
|
||||
# 这类标记会被后面的 prompt 策略层消费,用来决定要不要放开群级记忆。
|
||||
"is_group_memory_query": bool(trigger.get("is_group_memory_query", False)),
|
||||
"topic": str(trigger.get("topic", "") or ""),
|
||||
"recent_message_items": self._build_recent_message_items(selected_messages),
|
||||
"recent_messages": recent_lines,
|
||||
"recent_summary": "",
|
||||
|
||||
Reference in New Issue
Block a user