群聊非@消息接收——独立PRD追踪票(issue #108 Q5) #155

Closed
opened 2026-08-18 02:56:14 +00:00 by KumaAgent · 1 comment
Member

Parent

#108 Q5(issue #108 grill,2026-08-18 拍板:拆成独立 PRD,本轮不定方向)

这是一张追踪票,不是实现票,也不是完整 PRD

本仓目前唯一真正大的产品空白:arise 完全不接收群内非 @ 消息(唯一反应式入口 on_message(rule=to_me())),
Drive Tick 也显式跳过所有群聊(entry_drive_tick.py if not is_private_chat_id(key): continue)。
所以"群里冷场主动接话""聊到一半插句嘴"这类"慢中断/linger"设计(gating.py::slow_interrupt_energy_boost
issue #37 AC7 交付的纯函数,全仓零调用方)整体没有地基可以挂。

grill 时用户明确选择"拆成独立 PRD",理由:这个决定的下游太多(成本、隐私、消息量、后续 linger/
群聊 drive tick 都压在它上面),不适合在批量 grill 票里顺带定掉。

下一步

评估侧后续需要单独走一轮完整设计流程(类似 /to-spec 那种规格),核心要回答的问题至少包括:

  • arise 要不要接收群内非 @ 消息?全量接收,还是有选择地接收(比如只在满足某些条件时)?
  • 接收之后的成本模型:消息量级、embedding/LLM 调用增量、隐私边界(会不会把不该看的群消息带进决策)
  • 接收面定了之后,slow_interrupt_energy_boost 怎么接线、linger 概率怎么算、沉默窗口(60秒那个)
    跟群聊场景的关系、群聊 Drive Tick 要不要建
  • 与 issue #133 已经落地的"群聊追问结局接入反思闭环"划清边界——那条是 arise 自己发消息后的追问
    检查(event 触发路径),跟"主动看群里普通消息接话"是完全不同的机制,不要混为一谈

Acceptance criteria

本票不产出代码/设计:

  • 记录这个产品空白的现状与影响面(已在上面写清楚)
  • 待评估侧安排完整 PRD 会话时,以本票为起点
## Parent #108 Q5(issue #108 grill,2026-08-18 拍板:拆成独立 PRD,本轮不定方向) ## 这是一张追踪票,不是实现票,也不是完整 PRD 本仓目前唯一真正大的产品空白:arise 完全不接收群内非 @ 消息(唯一反应式入口 `on_message(rule=to_me())`), Drive Tick 也显式跳过所有群聊(`entry_drive_tick.py` `if not is_private_chat_id(key): continue`)。 所以"群里冷场主动接话""聊到一半插句嘴"这类"慢中断/linger"设计(`gating.py::slow_interrupt_energy_boost`, issue #37 AC7 交付的纯函数,全仓零调用方)整体没有地基可以挂。 grill 时用户明确选择"拆成独立 PRD",理由:这个决定的下游太多(成本、隐私、消息量、后续 linger/ 群聊 drive tick 都压在它上面),不适合在批量 grill 票里顺带定掉。 ## 下一步 评估侧后续需要单独走一轮完整设计流程(类似 `/to-spec` 那种规格),核心要回答的问题至少包括: - arise 要不要接收群内非 @ 消息?全量接收,还是有选择地接收(比如只在满足某些条件时)? - 接收之后的成本模型:消息量级、embedding/LLM 调用增量、隐私边界(会不会把不该看的群消息带进决策) - 接收面定了之后,`slow_interrupt_energy_boost` 怎么接线、`linger` 概率怎么算、沉默窗口(60秒那个) 跟群聊场景的关系、群聊 Drive Tick 要不要建 - 与 issue #133 已经落地的"群聊追问结局接入反思闭环"划清边界——那条是 arise 自己发消息后的追问 检查(event 触发路径),跟"主动看群里普通消息接话"是完全不同的机制,不要混为一谈 ## Acceptance criteria 本票不产出代码/设计: - [ ] 记录这个产品空白的现状与影响面(已在上面写清楚) - [ ] 待评估侧安排完整 PRD 会话时,以本票为起点
Author
Member

issue #155 独立 grill 会话已完成,设计落地为 ADR-0032 + ADR-0029/ADR-0014 更新节(PR #158),实现票见 #159。

决策摘要

  • 顶层姿态:有选择性接收(per-chat opt-in),范围限定为"插句嘴"(event 驱动),不做"冷场接话"、不建群聊 Drive Tick
  • 两层隐私姿态:活跃度信号(无内容)恒开、复用环境感知 tier-1;插句嘴(读内容判断)才需要 opt-in
  • 触发机制:能量窗口模式,正式接线 slow_interrupt_energy_boost(issue #37 AC7),bot 自己接话续期窗口
  • opt-in 同意机制:新建独立于 IsAdmin 的"群管理员"host 回调,不复用现有笼统的管理命令鉴权
  • 未接话内容:过后即焚,不留痕
  • 与 issue #133 边界:确认不重叠,#133 是 bot 自己发消息后的追问检查,本次是主动旁观群消息决定要不要先开口

本票(追踪票)使命完成,关闭。

issue #155 独立 grill 会话已完成,设计落地为 [ADR-0032](https://code.srcz.one/ProjectKuma/arise/src/branch/feat/155-group-slow-interrupt-adr/docs/adr/0032-group-slow-interrupt-opt-in.md) + ADR-0029/ADR-0014 更新节(PR #158),实现票见 #159。 ## 决策摘要 - **顶层姿态**:有选择性接收(per-chat opt-in),范围限定为"插句嘴"(event 驱动),不做"冷场接话"、不建群聊 Drive Tick - **两层隐私姿态**:活跃度信号(无内容)恒开、复用环境感知 tier-1;插句嘴(读内容判断)才需要 opt-in - **触发机制**:能量窗口模式,正式接线 `slow_interrupt_energy_boost`(issue #37 AC7),bot 自己接话续期窗口 - **opt-in 同意机制**:新建独立于 `IsAdmin` 的"群管理员"host 回调,不复用现有笼统的管理命令鉴权 - **未接话内容**:过后即焚,不留痕 - **与 issue #133 边界**:确认不重叠,#133 是 bot 自己发消息后的追问检查,本次是主动旁观群消息决定要不要先开口 本票(追踪票)使命完成,关闭。
KumaAgent 2026-08-18 04:30:57 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ProjectKuma/arise#155
No description provided.