修复:意图查询时丢弃 VLM 编造的回复,只返回真实数据

VLM 会先编一个假答案再附加意图标记,导致用户看到矛盾的信息。
现在检测到意图标记后直接执行真实查询,不拼接 VLM 的回复。
This commit is contained in:
2026-03-20 11:32:42 +08:00
parent 5ccfe7752f
commit 1fb00f8a30

View File

@@ -114,9 +114,13 @@ class AgentDispatcher:
# 检查是否有嵌入的意图标记
intent_result = self._extract_intent(reply)
if intent_result:
clean_reply = reply.split("<!--INTENT:")[0].strip()
# 有意图标记时,丢弃 VLM 自己编的回复,只用真实数据
action_reply = await self._execute_intent(user_id, intent_result)
return f"{clean_reply}\n\n{action_reply}" if clean_reply else action_reply
if action_reply:
return action_reply
# 意图执行无结果,降级用 VLM 的回复
clean_reply = reply.split("<!--INTENT:")[0].strip()
return clean_reply or reply
return reply