Skip to content

戳一戳注入到哪一轮:v0.4.11 顺手放开了身份限制,需要重新拍板 #2

Description

@HCHogan

戳一戳(poke)在 v0.4.11 的 !feedback / !btw 拆分里被顺手带过去了,但这个行为没有经过设计,只是"跟着改最省事"。

现状

Max.Handler.onPoke 现在走和 !feedback 完全相同的路径:

landed <- pushToLatest env.beTasks pk.pkGroupId Nothing Nothing (pokerName <> " 戳了戳你")
case landed of
  Just _  -> -- 进本群最新那一轮,不看是谁戳的
  Nothing -> dispatchLLM OriginPoke (pokeTrigger pk mName)

v0.4.11 之前是 pushBtwToOwnTask,只进戳的人自己那一轮;别人的轮次戳不动,会另开一轮。owner gate 整体删掉的时候,这条一起没了。

为什么单独拎出来

!feedback 和隐式补充能放开身份限制,是因为注入的那行自带说话人([#id] <名字>: 内容),模型看得见是谁补的话、能点名回答。戳一戳没有内容,也就没有这个凭据:

  • 分类器无从判断相关性(没有文本可分类)
  • 唯一的信息量就是"某人戳了一下",落到别人的轮次里,模型很难判断该怎么处理
  • 一个旁观者的戳会变成别人那一轮的输入,而那一轮的回复挂在第三个人的消息上

几种可能

  1. 恢复 owner scope —— 只进戳的人自己那一轮,别人的戳另开一轮(v0.4.11 之前的行为)
  2. 保持现状 —— 任何戳都进最新那轮,就当是"催一下"的通用信号
  3. 完全不注入 —— 戳永远另开一轮,注入语义只留给有内容的消息
  4. 按轮次归属分流 —— 自己那轮 → 注入;别人那轮 → 另开

倾向 1 或 4,但需要先想清楚"戳一戳在群里到底表达什么"再定。

参考:src/Max/Handler.hsonPokeMax.Tasks.pushToLatest

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions