Skip to content

群聊记录 ​

字数
2464 字
阅读时间
10 分钟

TIP

本节介绍机器人在群里「旁听」时记下什么、被唤醒时怎样接上前文,以及连发、撤回和图片的处理方式。

群聊的信息密度很高,把每一句闲聊都实时喂给模型既昂贵又迟钝。因此 ChatLuna 平时只把消息记进本地会话日志,等机器人真正开口时,再把最近一段投影给模型;图片和文件则按模型能力和配额限量提供。

场景规则页 · 群聊记录

记录方式 ​

打开「场景规则」页面,「回复」标签下的 记录方式 决定机器人没被唤醒时怎样对待普通消息:

  • 不记录(默认):完全忽略。上下文最干净,但被 @ 时只能看到当前这一条消息。
  • 只记录不回复:消息写进会话日志,但不调用模型。下次被唤醒时就能接上刚才的话题。

办事型、问答型机器人保持默认即可;角色扮演或陪伴类机器人建议改成 只记录不回复。记录本身不调用模型,不会产生费用。

把自己发的也记上 ​

开启后,机器人自己发出的消息(包括正常回复、指令结果、定时推送和其他插件借机器人账号发出的消息)都会写进记录。这样模型能看到自己说过什么,避免重复和前后矛盾。绝大多数场景建议保持开启,只有纯单轮问答才考虑关闭。

回填聊天记录 ​

会话刚建立或记录太少时,系统会向聊天平台拉取最近的历史消息补齐上下文,例如机器人刚被拉进新群或会话刚被重置。补齐条数 默认 30 条。

为避免触发平台风控,回填有频率限制:同一会话两次回填至少间隔 10 秒,整个实例每分钟最多回填 12 次。这些限制由「群聊填充」插件管理。回填只在消息不足时发生,不会每次回复都拉取。话题切换快的群可以调大到 50 左右;平台限流严格时可以调小或关闭。

回复中收到新消息 ​

机器人正在生成回复时又来了新消息,有两种处理方式:

  • 立即并入当前回复:新消息在下一步边界进入上下文,这一次回复就可能顺带回应。交互更自然,但连续打岔可能让回复越写越长。
  • 等这次回复完:新消息暂存,留到下一轮处理。适合严谨问答,或工具带有扣费、发帖等不可逆副作用的场景。

WARNING

「立即并入」不是硬中断。已经发给模型的请求不会撤回,新消息只在当前步骤结束后生效。

连发怎么记 ​

连发怎么记 控制把一句话拆成多条发出的消息怎样存:

  • 逐条记录:每条消息一条日志。
  • 合并为一条记录:机器人取走消息前,把到达的多条合成一条结构化记录。轨迹页显示为折叠的「N 条消息」,聊天查看页仍拆成逐条气泡。

合并记录是结构化的消息信封,模型仍能分清谁在什么时候说了什么。消息量大的群建议合并;只有排查单条消息的触发时序时才需要逐条记录。

连发消息怎么回 ​

连发消息怎么回 控制回复时机:

  • 收到就回:收到第一条就开始回复,期间的新消息按「回复中收到新消息」处理。
  • 等对方说完再回:对方停下一段时间后再回复。

选择 等对方说完再回 后还可以调整:

  • 安静多久算说完:默认 2.5 秒。
  • 最多等多久:对方一直在发时,最多等这么久就开始回复,默认 15 秒。
  • 新消息打断回复:在 收到就回 模式下,回复发出前又有新消息时,是否暂停并等对方说完。
  • 私聊时怎么回:私聊单独设置,留空则与群聊相同。

机器人经常抢话、答非所问时,改成 等对方说完再回 即可。安静时间太长会显得迟钝,太短又起不到合并作用,2 到 3 秒通常最合适。

图片、文件与富媒体 ​

群聊里的图片不会全部原样发给模型:

  • 每条最多几张图:一条消息投影中最多展示几张图,默认 9 张。超出部分记为「还有 N 张图未展示」,原图仍保存在日志中。
  • 给模型几张真实图片:唤醒机器人的那批消息(@、回复机器人或私聊)中最多给几张真实图片,默认 4 张,设为 0 表示不给。
  • 其他图片只发占位引用,模型需要时通过 查看图片 工具取回。
  • 同一张图在聊天记录和同一次请求中都只发一份。
  • 模型不支持的音频、视频或文件类型只保留占位符和文件名、大小等元信息。

如果主模型不能看图,可以让一个轻量视觉模型在接收消息时给图片补一句文字描述。描述按图片内容哈希缓存,同一张图只描述一次,超时则跳过。

单个文件的下载上限默认为 20 MB,由「消息转换」插件配置;超过上限的文件只保留原始引用地址。

纯文本模型或图片调用昂贵时,可以把 给模型几张真实图片 调小甚至设为 0;插画、设计类群可以适当调大。

群聊记录 · 图片与文件处理

撤回与编辑 ​

消息被撤回或编辑时,系统不会修改已有日志,而是在末尾追加一条静默通知:

  • 通知不会唤醒机器人,也不会为此新建会话。
  • 被撤回的消息如果还在待处理队列里,会在投影给模型前移除。

这样历史始终只追加,便于审计和回放。代价是模型会看到「某条消息被撤回」的通知,在下一轮可能顺口提到。如果机器人已经在生成回复,撤回通知只能在下一轮生效。

记录与隐私 ​

  • 不需要记录的敏感群,直接在场景规则里设为 不记录,或把用途设为 不回复 并关闭记录。
  • 收到的图片和文件会写入本地数据目录,备份、迁移和清理时记得一并处理。
  • 群聊记录只是短期上下文,与长期记忆是两套独立的数据。关闭群聊记录不会删除已有的长期记忆。

WARNING

关闭群聊记录只影响之后的新消息,不会删除已经写入的历史。需要清理历史时,请在会话管理面板中删除或压缩会话。

推荐配置 ​

场景建议
角色扮演群只记录不回复,开启 把自己发的也记上,回填 30–50 条;合并为一条记录 + 等对方说完再回(2.5 秒 / 15 秒);图片 9 张、真实图片 4 张
普通问答群保持 不记录,只看唤醒它的那条消息,上下文最短、费用最低
大群 / 图片多只记录不回复 或 不记录;真实图片调到 0 或 1 张,靠 查看图片 按需取回;开启合并,调小回填条数
私聊为主可以 逐条记录;开启 把自己发的也记上,配合长期记忆的自动提取

常见问题 ​

接不上刚才的话:确认场景规则的记录方式是 只记录不回复,回填条数不是 0。

历史里全是图片占位:当前模型不支持图片输入,或 给模型几张真实图片 太小。

回复总是慢半拍:安静多久算说完 或 最多等多久 设得太长,调小安静时间或改成 收到就回。

撤回后还在说那条消息:撤回通知还没进入当前回复的上下文,下一轮就会生效。

记录占用太多上下文:开启合并记录,减少回填条数和图片展示数;完全不需要上下文时改回 不记录。

下一步 ​

页面历史

在 CC-BY-SA-4.0 许可下发布