戳一戳(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] <名字>: 内容),模型看得见是谁补的话、能点名回答。戳一戳没有内容,也就没有这个凭据:
- 分类器无从判断相关性(没有文本可分类)
- 唯一的信息量就是"某人戳了一下",落到别人的轮次里,模型很难判断该怎么处理
- 一个旁观者的戳会变成别人那一轮的输入,而那一轮的回复挂在第三个人的消息上
几种可能
- 恢复 owner scope —— 只进戳的人自己那一轮,别人的戳另开一轮(v0.4.11 之前的行为)
- 保持现状 —— 任何戳都进最新那轮,就当是"催一下"的通用信号
- 完全不注入 —— 戳永远另开一轮,注入语义只留给有内容的消息
- 按轮次归属分流 —— 自己那轮 → 注入;别人那轮 → 另开
倾向 1 或 4,但需要先想清楚"戳一戳在群里到底表达什么"再定。
参考:src/Max/Handler.hs 的 onPoke、Max.Tasks.pushToLatest。
戳一戳(poke)在 v0.4.11 的
!feedback/!btw拆分里被顺手带过去了,但这个行为没有经过设计,只是"跟着改最省事"。现状
Max.Handler.onPoke现在走和!feedback完全相同的路径:v0.4.11 之前是
pushBtwToOwnTask,只进戳的人自己那一轮;别人的轮次戳不动,会另开一轮。owner gate 整体删掉的时候,这条一起没了。为什么单独拎出来
!feedback和隐式补充能放开身份限制,是因为注入的那行自带说话人([#id] <名字>: 内容),模型看得见是谁补的话、能点名回答。戳一戳没有内容,也就没有这个凭据:几种可能
倾向 1 或 4,但需要先想清楚"戳一戳在群里到底表达什么"再定。
参考:
src/Max/Handler.hs的onPoke、Max.Tasks.pushToLatest。