diff --git a/src/plugins/PFC/reply_checker.py b/src/plugins/PFC/reply_checker.py index 178503259..180888956 100644 --- a/src/plugins/PFC/reply_checker.py +++ b/src/plugins/PFC/reply_checker.py @@ -55,9 +55,9 @@ class ReplyChecker: ) return ( False, - "回复内容与你上一条发言完全相同,请修改,可以选择深入话题或寻找其它话题或等待", - False, - ) # 不合适,无需重新规划 + "被逻辑检查拒绝:回复内容与你上一条发言完全相同,可以选择深入话题或寻找其它话题或等待", + True, + ) # 不合适,需要返回至决策层 # 2. 相似度检查 (如果精确匹配未通过) import difflib # 导入 difflib 库 @@ -73,8 +73,8 @@ class ReplyChecker: ) return ( False, - f"拒绝发送:回复内容与你上一条发言高度相似 (相似度 {similarity_ratio:.2f}),请修改,可以选择深入话题或寻找其它话题或等待。", - False, + f"被逻辑检查拒绝:回复内容与你上一条发言高度相似 (相似度 {similarity_ratio:.2f}),可以选择深入话题或寻找其它话题或等待。", + True, ) except Exception as e: @@ -83,37 +83,37 @@ class ReplyChecker: logger.error(f"[私聊][{self.private_name}]检查回复时出错: 类型={type(e)}, 值={e}") logger.error(f"[私聊][{self.private_name}]{traceback.format_exc()}") # 打印详细的回溯信息 - prompt = f"""请检查以下回复或消息是否合适: + prompt = f"""你是一个聊天逻辑检查器,请检查以下回复或消息是否合适: 当前对话目标:{goal} 最新的对话记录: {chat_history_text} -待检查的回复: +待检查的消息: {reply} 请结合聊天记录检查以下几点: -1. 回复是否依然符合当前对话目标和实现方式 -2. 回复是否与最新的对话记录保持一致性 -3. 回复是否重复发言,或重复表达同质内容(尤其是只是换一种方式表达了相同的含义) -4. 回复是否包含违规内容(例如血腥暴力,政治敏感等) -5. 回复是否以你的角度发言,不要把"你"说的话当做对方说的话,这是你自己说的话(不要自己回复自己的消息) -6. 回复是否通俗易懂 -7. 回复是否有些多余,例如在对方没有回复的情况下,依然连续多次“消息轰炸”(尤其是已经连续发送3条信息的情况,这很可能不合理,需要着重判断) -8. 回复是否使用了完全没必要的修辞 -9. 回复是否逻辑通顺 -10. 回复是否太过冗长了(通常私聊的每条消息长度在20字以内,除非特殊情况) -11. 在连续多次发送消息的情况下,当前回复是否衔接自然,会不会显得奇怪(例如连续两条消息中部分内容重叠) +1. 这条消息是否依然符合当前对话目标和实现方式 +2. 这条消息是否与最新的对话记录保持一致性 +3. 是否存在重复发言,或重复表达同质内容(尤其是只是换一种方式表达了相同的含义) +4. 这条消息是否包含违规内容(例如血腥暴力,政治敏感等) +5. 这条消息是否以发送者的角度发言(不要让发送者自己回复自己的消息) +6. 这条消息是否通俗易懂 +7. 这条消息是否有些多余,例如在对方没有回复的情况下,依然连续多次“消息轰炸”(尤其是已经连续发送3条信息的情况,这很可能不合理,需要着重判断) +8. 这条消息是否使用了完全没必要的修辞 +9. 这条消息是否逻辑通顺 +10. 这条消息是否太过冗长了(通常私聊的每条消息长度在20字以内,除非特殊情况) +11. 在连续多次发送消息的情况下,这条消息是否衔接自然,会不会显得奇怪(例如连续两条消息中部分内容重叠) 请以JSON格式输出,包含以下字段: 1. suitable: 是否合适 (true/false) 2. reason: 原因说明 -3. need_replan: 是否需要重新规划对话目标 (true/false),当发现当前对话目标不再适合时设为true +3. need_replan: 是否需要重新决策 (true/false),当你认为此时已经不适合发消息,需要规划其它行动时,设为true 输出格式示例: {{ "suitable": true, - "reason": "回复符合要求,内容得体", + "reason": "回复符合要求,虽然有可能略微偏离目标,但是整体内容流畅得体", "need_replan": false }}