聊天与回复
频率触发和动态触发有什么区别?
[chat.reply_timing].reply_trigger_mode 决定新消息什么时候进入 Planner:
frequency(频率触发,默认) — 按新消息数量决定是否思考,行为简单、可预期dynamic(动态触发) — 估算每批消息的回复可能性,再用 1 小时滑动窗口把实际回复次数拉回设定目标,比旧的「必要性触发」更贴近真实聊天节奏。只对群聊生效,私聊不受该门控影响;没有新增配置项
旧版的「必要性触发」(reply_necessity,本质是规则打分)已在 1.3.2 被这套「拟合概率 + 闭环控频」取代,升级时会自动改写为 dynamic。切换模式后建议观察一段时间,再决定是否微调 talk_value。
麦麦话太多或话太少怎么办?
先调整群聊或私聊发言频率,再检查是否启用了动态发言频率规则。动态规则启用后,实际频率可能由匹配到的规则覆盖。人格和群聊提示词也会影响 Planner 对“是否应该说话”的判断。
建议小幅调整并观察一段时间,不要把某个数值当作所有群聊都适用的固定答案。
机器人为什么会回复自己的消息?
先确认适配器是否把机器人发出的消息再次作为入站消息送回 MaiBot,并检查适配器中配置的机器人 QQ 号是否正确。随后检查插件冲突、消息过滤和动态发言规则。
如果消息链路正常但 Planner 仍反复选择回复,可以再尝试调整发言频率或更换 Planner 模型。不能仅凭现象断定是模型质量问题。
连续发送多条消息时,为什么只处理了前一条?
MaiBot 收到新消息时,Planner 是否重新思考受触发模式和连续打断上限影响。处理速度还受模型延迟、工具调用和上下文长度影响。
可以检查 planner_interrupt_max_consecutive_count,但不应盲目套用固定推荐值。值越宽松,机器人越容易及时响应新消息,也可能增加模型调用和上下文消耗。
回复很慢怎么办?
先从日志区分等待发生在模型请求、工具调用、图片识别、适配器发送还是 Planner 等待动作。随后检查网络延迟、模型响应速度、上下文长度和不必要的插件。
如果机器人必须等上一轮结束才处理新消息,同时检查连续消息打断配置。
为什么回复变成“懒得说”“不知道”等很短的文本?
先查看模型原始输出,确认短文本是模型生成的,还是回复后处理产生的。启用回复分割器时,检查 max_sentence_num 和 enable_overflow_return_all;超过句数上限后的行为由这些配置决定。
如果关闭回复分割后问题仍然存在,应继续检查人格、提示词和所用模型,而不是只调整分割器。
内容来源
本页部分现象和排查思路参考了社区协作文档《麦麦教程-常见问题速查/社区教程》。其中“机器人回复自己”相关经验在原文中署名千石可乐;本站根据当前消息链路和配置重新整理。