切换外观
composite 的弱标注
状态:从真实后续行为自动推出的弱标签,由 scripts/compose_corpus.py labels 生成 labels.json。和 curl-bagder 一样,它说明注意力后来去了哪里,不是标准答案;没有手写任何整帧批次。跨流的事另列,不并进任何事项。作者编写的家庭流没有真实行为,它的标注由节拍表写定,单列在 labels.json 的 family 一节,见家庭流;下面各节的数字都不含家庭流。
各流来自不同的真实的人,每一流的“后来做了什么”只能用那一流的真实的人的行为。规则因此按流分开,档位、忽略与合并的定义统一沿用 curl-bagder 的推导规则,逐帧计算的代码也是同一份(label_corpus.label_frames)。
各流的规则
| 流 | 本人的行动 | 团队 | 直接回应(不忽略这一条) | 结局 |
|---|---|---|---|---|
| 工作 | 与 curl-bagder 完全相同:评论、评审、关闭、合并、打标签,邮件列表、Mastodon、博客上的回复等 | 与 curl-bagder 相同 | 与 curl-bagder 相同 | issue/PR 的状态、关闭原因与标签(标签名同样化名) |
| 社区 | 在同一话题里发帖(论坛数据覆盖到窗口后 30 天) | 没有:论坛的版主不是他的团队,不出现 delegated | 本人帖子指明回复的那一帖 | 无 |
| 生活 | 提问者此后在同一问题下的评论与回答(问答数据抓取于 2026-10-14,已在窗口后约两个月) | 没有 | 本人评论所挂的回答;或本人评论 @ 到的人在同一帖下更早的那条评论 | 是否采纳回答、是否被关闭;采纳时间 API 不给,不算行动 |
| 订阅 | 不看行为 | — | — | 每条默认应被忽略,依据 subscription_default,事项档位为 noise |
工作流的线程键、输入 ID 与证据引用先在原始 ID 上算,再用同一张化名表换成 composite 的 ID,因此工作流的结果与 curl-bagder 逐件一致:档位分布、忽略的 409 条与 47 组跨事项合并都相同。唯一的差别是高档位:每帧至多 3 件,现在和社区、生活的事项一起排,工作流从 74 件变为 72 件。
覆盖
| 项 | 工作 | 社区 | 生活 | 订阅 | 合计 |
|---|---|---|---|---|---|
| 他人发来的输入 | 1271 | 719 | 245 | 89 | 2324 |
| 事项标注(帧 × 事项) | 400 | 322 | 124 | 88 | 934 |
| engaged(其中 high) | 180(72) | 8(1) | 49(3) | 0 | 237(76) |
| later | 20 | 3 | 12 | 0 | 35 |
| delegated | 103 | — | — | — | 103 |
| untouched | 59 | 311 | 63 | 0 | 433 |
| noise | 38 | 0 | 0 | 88 | 126 |
| 按输入条数:本人后来有行动的事项 | 743 | 71 | 135 | 0 | 949 |
| 应被忽略的输入(弱依据) | 409(145) | 3(2) | 0 | 89 | 501(147) |
| engaged 的响应时间 中位 / P90(小时) | 1.2 / 15.8 | 10.6 / 22.2 | 10.9 / 26.4 | — | — |
- 28 帧都有标注,26 帧有高档位事项。合并组 490 组:工作 278、社区 134、生活 77、订阅 1;跨事项的 47 组全在工作流里。只有本人发言的事项 84 个,不标注。
- 社区:141 个话题里本人只在 4 个话题里有过行动;论坛帖子几乎都有实质内容,文本规则只认出 3 条低信息量(1 条系统帖、2 条附和)。
- 生活:34 个问题里 20 个在某一帧是 engaged;12 个问题后来采纳了回答,2 个被关闭(需要更聚焦、基于观点)。
非工作流的 4 件高档位:两件自行车问答(提问者一天内连发多条评论追问异响的原因与帽檐的做法)、一件锯子尺寸的问答、一件论坛上关于徽章的反馈帖。
跨流的事
labels.json 的 cross_stream 列出 MIX.md 里的 6 件事,每条输入带上自己所在事项的档位与是否应被忽略;本人发出的输入(如提出的问题)不单独定档,另给它所在线程在各帧出现过的档位。它们是评测时的定性检查点,不是额外的金标签:
| 事 | 行为标注怎么说 | 用来检查什么 |
|---|---|---|
| 热浪里的空调与喝水 | 天气提醒是 noise;Mastodon 上的空调对话 engaged;空调问题 untouched,喝水问题有过 engaged | 能否把一句天气模板和两个生活问题、一段工作闲聊放在同一背景下,又不把它们并成一件事 |
| 航班变更撞上最忙的工作日 | 航空营销全是 noise;改签问题有过 engaged;同时段本人的 Mastodon 对话进了高档位 | 在工作输入最多的一帧里,是否仍给出行变化留位置;营销邮件是否被压下去 |
| 宠物药量弄错 | 提问者此后没有再跟进,问题 untouched;同时段 14 条工作输入从 delegated 到 engaged 都有 | 内容判断与行为标注分歧:按内容它比常规评审急,按行为它没有后续 |
| 周六水管开裂 | 水管问题 untouched;当天上午的工作动作都是本人发出 | 周末的生活急事与工作收尾怎样同时呈现 |
| AI 找漏洞 | newsletter 都是 noise;Mastodon 上的讨论 engaged | 订阅内容与工作话题相关时,是仍按订阅压低,还是作为背景提一句 |
| 厨房 | newsletter 是 noise;电磁炉问题有过 engaged,高汤问题 untouched | 同一话题的生活问题与订阅内容是否被正确分开 |
家庭流
家庭流的人、事与 Jonas 的回复都是合成的,“后来做了什么”只能由作者写定。compose_corpus.py family 调用 scripts/family_stream.py 由 节拍表 生成 labels.json 的 family 一节,每一项依据都以 authored 开头,与前四条流的标注分开存放、分开统计;labels 子命令重建前四条流时保留这一节。
| 字段 | 怎么来 |
|---|---|
level | 节拍表每一拍写着“这一拍之后 Fold 应给的关注档”(critical / high / normal / low / trace / none);帧末取该事项在本帧结束前最后一拍的档位。前四条流没有这一档,它是作者对判断的写定 |
tier | 与前四条流同一口径:本人在 24 小时内有动作为 engaged,7 天内为 later,输入全是应忽略的为 noise,否则 untouched。本人的动作是合成的 Jonas 消息与通话记录,所以它检验一致,不检验真实 |
ignore | 节拍表里标了忽略理由的输入:群聊闲聊、附和、表情、重复催促、照片、刷卡与收据、购物清单、诈骗短信等;文本规则也认得出的另带 low_info: |
asks | 节拍表登记的问题:在哪一条、哪一帧提出,被回答(answered)或失效(void)于哪一条、哪一帧;到窗口结束仍开着的 resolved 为 null,帧里的事项另列 open_asks |
groups | 同一件事拆成的两个线程在同一帧出现时并成一组(母亲的 BankID 并入换水管) |
cross_stream | 与生活流问题话题相关的家庭事项,见 MIX.md |
| 项 | 数 |
|---|---|
| 他人发来的输入;应被忽略 | 310;185(60%),其中文本规则也认得出的 61 条 |
| 忽略理由 | 群聊闲聊 110、重复 11、附和 11、收据与刷卡 10、照片 11、表情 7、购物清单 7、其余 18 |
| 事项标注(帧 × 事项) | 144:engaged 66、later 8、untouched 13、noise 57 |
| 作者档 | high 20、normal 18、low 31、trace 6、none 69;28 帧里 18 帧有高档位 |
| 高档位的事 | 母亲九月住哪 10 帧、猫的药量 4、车道漏水 4、航班 1、母亲的 BankID 1 |
| 问题 | 19 个:回答 8、失效 4、到窗口结束仍开着 7 |
作者档与行为档不必一致,几处分歧是有意的:
- none 但 engaged(13)。 家务小事与孩子的日常(倒垃圾、顺路买东西、女儿问吃什么),Jonas 在聊天里当场就回了;Fold 不必把它们排上来。
- high 但 untouched(1)。 车道下的主水管在最后一帧仍要他拍板,窗口结束前没有动作。
- 开着的问题。 窗口结束时仍开着 7 个:主水管换哪种、派对的 Swish、母亲生日、母亲下周日来吃饭、学校的同意书、护理假申报、Göran 来帮忙抬棚屋;其中主水管、Swish 与同意书有期限。
- 失效的问题。 4 个问题没有被回答而是不再成立:派对人数由伴侣在群里代答、母亲自己选了临时公寓、周六骑车因漏水取消、伴侣不等修刹车就买了新车。
抽样核对
由构建这套规则的 Agent 读化名后的原文逐条核对,固定随机种子,未经第二人复核,只能作为粗略参考。工作流沿用 curl-bagder 的抽样结果,这里只核对社区与生活。
| 抽样 | 合理 | 部分合理 | 不合理 | 主要问题 |
|---|---|---|---|---|
| 社区与生活的事项 30 件 | 24 | 6 | 0 | 4 件几乎只有一张图的论坛帖记为 untouched,看作 noise 更合适(文本规则把图片标记当成了正文);1 件问答 engaged 的依据是本人在新输入之后发的评论,但那条评论回的是另一个人,只在线程粒度上成立;1 件问题被指描述不清并随后关闭,untouched 没错,但“问题本身有缺陷”的信号没有体现 |
局限
- 不同的人,不同的习惯。 社区与生活的“本人”是不同的真实的人:论坛那位很少发帖,问答那 34 位提问者有的勤于追问、有的问完就走。跨流比较投入度没有意义,同一帧里工作事项的投入度天然更高。
- 问答的行动只有评论与回答。 投票、采纳、编辑问题看不到时间,读了没回也看不到;
untouched只表示公开渠道 7 天内没有后续。 - 论坛没有点赞与阅读记录。 Discourse 公开接口不给单个用户的点赞时间,本人只点赞不回复的事项都落在 untouched。
- 订阅一律当噪音。 本人可能读了某篇 newsletter 并在工作里提到,这里不追踪;跨流的事里的“AI 找漏洞”就是例子。
- 其余局限与 curl-bagder 相同:事后诸葛、阈值是约定、线程粒度粗。
怎样用于评测
与 curl-bagder 相同的三类检查(忽略、合并、同帧档位排序),另加两项:
- 分流的召回。 被测 Agent 是否把社区与生活流里本人后来有行动的事项(engaged、later)留在简报里,而不是被同帧的工作事项全部挤掉。
- 订阅的压制。 订阅流的 89 条是否都没有占用份额;跨流的事里与工作相关的订阅内容单独看。
家庭流的 family 一节单独计分:忽略、事项分组与并入、按作者档的排序,都与上面几项分开列,口径见工作环境说明;登记的问题只做人工对照。