refactor(chat): 简化记忆构建和回复生成逻辑

移除记忆构建过程中的系统标识符和时间戳,简化提示词模板,使对话更加自然流畅。减少冗余的回复规则和约束,专注于生成简洁、口语化的回复内容。
This commit is contained in:
Windpicker-owo
2025-10-09 15:35:27 +08:00
parent 207512c084
commit 32f365e20c
2 changed files with 6 additions and 23 deletions

View File

@@ -199,9 +199,8 @@ class HippocampusSampler:
logger.warning("无法从消息样本生成可读文本")
return None
# 添加当前日期信息
current_date = f"当前日期: {datetime.now().isoformat()}"
input_text = f"{current_date}\n{readable_text}"
# 直接使用对话文本,不添加系统标识符
input_text = readable_text
logger.debug(f"开始构建记忆,文本长度: {len(input_text)}")
@@ -550,9 +549,7 @@ class HippocampusSampler:
async def _build_fused_conversation_text(self, fused_messages: list[list[dict[str, Any]]]) -> str:
"""构建融合后的对话文本"""
try:
# 添加批次标识
current_date = f"海马体批量采样 - {datetime.now().isoformat()}\n"
conversation_parts = [current_date]
conversation_parts = []
for group_idx, message_group in enumerate(fused_messages):
if not message_group:

View File

@@ -120,33 +120,19 @@ def init_prompt():
### 核心任务
- 你现在的主要任务是和 {sender_name} 聊天。同时,也有其他用户会参与聊天,你可以参考他们的回复内容,但是你现在想回复{sender_name}的发言。
- {reply_target_block} 你需要生成一段紧密相关且能推动对话的回复。
- {reply_target_block} 你需要生成一段紧密相关的回复。
## 规则
{safety_guidelines_block}
**重要提醒:**
- **已读历史消息仅作为当前聊天情景的参考**
- **动作执行对象只能是未读历史消息中的消息**
- **请优先对兴趣值高的消息做出回复**(兴趣度标注在未读消息末尾)
- **未读历史消息是你需要回应的对象**
在回应之前,首先分析消息的针对性:
1. **直接针对你**@你、回复你、明确询问你 → 必须回应
2. **间接相关**:涉及你感兴趣的话题但未直接问你 → 谨慎参与
3. **他人对话**:与你无关的私人交流 → 通常不参与
4. **重复内容**:他人已充分回答的问题 → 避免重复
你的回复应该:
1. 明确回应目标消息,而不是宽泛地评论。
2. 可以分享你的看法、提出相关问题,或者开个合适的玩笑。
3. 目的是让对话更有趣、更深入。
4. 不要浮夸,不要夸张修辞,不要输出多余内容(包括前后缀,冒号和引号,括号()表情包at或 @等 )。
最终请输出一条简短、完整且口语化的回复。
你的回复应该是一条简短、完整且口语化的回复。
--------------------------------
{time_block}
注意不要复读你前面发过的内容,意思相近也不行。
请注意不要输出多余内容(包括前后缀冒号和引号at或 @等 )。只输出回复内容。
{moderation_prompt}