题目信息
论文标题:Inducing Task Models from Computer-Use Traces(从计算机使用轨迹中归纳任务模型) 论文链接:https://arxiv.org/abs/2608.20319 代码仓库:https://github.com/Yucheng-Jiang/task-model-induction 发表时间:2026 年 8 月(arXiv:2608.20319v1,2026-08-20,cs.CL) 合作机构:Stanford University(一作 Yucheng Jiang,通讯 Diyi Yang)× Carnegie Mellon University(Zora Zhiruo Wang),纯高校合作,无企业参与 一句话总结:给一段无人标注的电脑录屏,TMI 能自动回答三个问题——用户在干几件事、每件事为什么做(目标树)、具体怎么做(带循环的控制流),并且每个结论都能回溯到屏幕上的证据。
一、研究背景与动机:沉淀在录屏里的「隐性知识」
我们每天在电脑上的工作——写代码、做表、改设计、回消息——绝大部分从未被文档化。这些操作里蕴含的专业经验(什么时候该验证、什么顺序最高效、出了错怎么补救)都以「隐性知识」的形式存在,人走了经验就散了。而与此同时,被动录制的计算机使用轨迹(截图 + 鼠标键盘事件)越来越容易获得。如果能把这些轨迹自动转写成符号化、可审计、可复用的任务模型,就能带来三类价值:
- 审计与传承:组织可以系统地分析人和 AI 到底是怎么干活的,把经验沉淀为文档;
- Agent 学习:计算机使用 Agent 正在进入真实工作场景,它们需要从人类活动中低成本地学习「任务实际上是怎么完成的」,而不是依赖昂贵的人工标注;
- 个性化:基于活动的用户模型可以让系统预判用户目标。
但这件事有三大拦路虎,论文将其归纳为三个层面:
- 信号层:原始事件本身几乎没有语义。
click(1900.8, 29.5)只是一串坐标,光标移动、按键、像素变化都要靠解释才能还原意图; - 结构层:真实工作是多线程的。HCI 领域二十多年的研究(Czerwinski 2004、González & Mark 2004 的「working spheres」、Mark 2008 等)反复证明:知识工作者会在一个会话里不断切换、交织多个不相关的目标;
- 表示层:轨迹只记录了「被执行的路径」,既不直接揭示驱动每一步的目标层次,也不揭示组织执行的控制流(哪里在循环、哪里在迭代)。
已有的方法各自只解决了一角:LLM 摘要把一切揉成一段散文;直接提示 LLM 生成任务模型只能拿到格式、拿不到执行结构(论文的直接生成基线证明了这点);工作流归纳(workflow induction)能给出步骤级分解,却把整段录制当成一条连续工作流,交织的任务搅在一起、迭代与分支完全无法表达;轨迹分析方法则预设「根任务事先给定」。**没人能在不给定任务清单的前提下,从原始轨迹中同时恢复任务、目标和过程。**这就是本文要填的坑。
二、问题定义:什么是「任务模型」
论文先把问题形式化。一段计算机使用轨迹记作 X = ⟨x₁, x₂, …, x_N⟩,其中每个事件 xᵢ = (sᵢ, aᵢ, τᵢ) 包含截图 sᵢ、底层操作 aᵢ(如 click)和时间戳 τᵢ。用户在这段轨迹里追求一组潜在任务 T = {t₁, t₂, …}——关键在于,实现某个任务的事件子序列可以是不连续的:你上午改两行代码、回封邮件、再回来继续改,改代码这件事的任务跨度并没有断。
归纳问题 = 联合发现两件事:(1) 潜在任务集合 T 本身(任务数、边界、归属都未知);(2) 为每个任务 t 归纳一个任务模型 Mₜ。而任务模型由两条互补的轴构成:
- 目标模型(objective model)Oₜ:任务的递归目标分解树——根是任务总目标,叶子是实际观察到的活动,中间节点是解释「为什么做这些」的潜在子目标;
- 过程模型(procedure model)Pₜ:控制流树——用顺序、循环等算子刻画执行「在时间上如何被组织」。
最终 Mₜ 是一棵树,每个节点同时携带一个目标和一个控制流算子。打个比方:目标模型像一道菜谱的「成菜逻辑」(备料 → 调味 → 烹制 → 装盘,每步要达成什么状态),过程模型像后厨监控录像里厨师的实际操作节奏(先做沙拉、中途反复试味、两桌菜交替出)。只看菜谱会丢失真实的节奏,只看录像会丢失意图——任务模型必须两者配对。
与已有表示的对比如下:
| 表示方法 | 任务发现 | 目标层次 | 控制流 | 交织处理 |
|---|---|---|---|---|
| LLM 自由摘要 | ✗(混在一起) | ✗ | ✗ | ✗ |
| 直接生成任务模型 | ✗(需给定) | 粗粒度 | 部分 | ✗ |
| 工作流归纳 | ✗(单一工作流) | 步骤级平铺 | ✗ | ✗ |
| TMI 任务模型 | ✓ 无监督发现 | ✓ 递归分解 | ✓ SEQ/FOR/WHILE | ✓ 非连续归属 |
三、方法总览:TMI 三阶段管线
TMI(Task Model Induction)的总体思路是分而治之:三个层面的挑战不指望一步解决,而是拆成三段流水线,每段只对付一个。
| 阶段 | 输入 → 输出 | 对付哪个挑战 |
|---|---|---|
| ① 事件接地与活动分段 | 原始事件流 X → 活动序列 E | 信号层:低层事件 → 语义单元 |
| ② 潜在任务归纳 | E → 潜在任务集合 T 及归属 | 结构层:交织 → 分线 |
| ③ 任务模型构建 | 每个任务的活动 → 目标模型 + 过程模型 → 调和 | 表示层:路径 → 目标与控制流 |
管线的所有阶段都用 gpt-5.4(temperature 1.0)实现;内蕴评估用 gpt-5.5 和 claude-sonnet-5 两个不同家族的模型做独立评委;外显评估用 gpt-5-mini 生成并执行技能,以隔离「学习来源」这一变量。
下面逐段拆解。
四、第一阶段:事件接地与活动分段——给无声电影配字幕
**接地(grounding)**回答「这个事件到底干了什么」。一个 VLM 接收三样东西:包裹事件 xᵢ 的前后两张截图 (sᵢ, sᵢ₊₁)、记录的操作 aᵢ,然后报告:做了什么、作用于哪个工件、发生在哪个应用里,附上可见屏幕的 OCR 转录。前后截图的差异正是事件造成的变化——click(1900.8, 29.5) 配上截图变化,就变成了「把 Codex 应用切到前台」。论文特别强调一条证据纪律:只依据截图中可见的证据,看后一张截图只是为了澄清「什么变了」,不许倒推用户的后见意图。
接地之后是两层分段,把事件逐级聚成语义单元:
- 语义动作(semantic action):连续若干事件共同完成的一次有意义的状态改变(如「编辑 app/page.tsx 修改同意表单文案」);
- 活动(activity):一个局部目标所能解释的语义动作集合(如「提交一次 UI 变更请求」),从目标被采纳开始,到其达成、放弃或被取代为止。
精妙之处在于两个层次朝相反的方向切。这是借鉴了心理学中的事件分段理论(Zacks & Tversky 2001):证据在哪边,就朝哪边看。
- 语义动作后向切:一个动作是否完成,要看后面的事件才能确认(工件达到新状态,是由后续事件证实的);
- 活动前向切:一个目标是否开始,要看前面的上下文才能确认(只有先前的语境才指示目标的采纳)。
类比读小说:判断一句话有没有说完,要往后读半句;判断一个新情节从哪里开始,得往前看上一章的结尾。输出的活动序列 E = ⟨e₁, …, e_K⟩ 就是后续一切分析的原子单位。
五、第二阶段:潜在任务归纳——把几副洗混的牌分开
现在面对的是一条多线交织的活动流。TMI 要在没有任务清单的情况下做在线聚类:每个任务维护一份档案——一段「这个任务在干什么」的摘要,外加一小组指称标识符(anchors),即跨活动反复出现的工件名、实体名。
anchors 是这里的关键设计。同一个任务往往以不同面目出现:一个人类评估网站,在代码仓库里叫 study-frontend,在浏览器里是部署地址 review-trial.web.app。任务摘要在这种表面变化下容易漂移,而标识符像角色的别名表——不管这个人换什么马甲出场,身份证号对得上就是同一个人。靠 anchors 跨应用、跨工件、跨命名地把同一任务「钉」在一起,才不会把一个连贯任务撕成几个假子任务。
具体流程是:活动按出现顺序逐个处理,每个活动与现有任务档案比对——归入语义最近的既有任务,或开一个新任务;每次归属后更新该任务的摘要与标识符(标识符保持 1–5 个,不许膨胀成关键词堆)。最后再做一次全局合并:把追求同一目标却被目标漂移或长中断拆开的任务合回去。合并规则很讲道理:「目标连续性压倒时间相邻性」——相邻的两个活动可以属于不同任务,相距很远的两个活动可以属于同一任务;换应用不等于换任务,被打断不等于换任务。
实测效果相当能打。为了系统性制造难度,论文把 HumanWork 数据集(38 个真实人类工作会话,每段录一个完整任务)的会话切成 d 段,抽 K 个会话洗牌混成合成轨迹:K 越大并发任务越多,d 越大切换越频繁。扫过 K∈{2,…,15}、d∈{2,3,4} 共 126 条轨迹:
- 任务归属的 ARI 达 0.974±0.028,即使活动密集交织也能还原非连续的任务划分;
- 任务个数的 MAE 仅 0.48——从 2 个任务数到 15 个,预测的任务数平均偏差不到 1;
- 难度并不低:96.7% 的任务对共享同一应用、88.9% 属于同一领域(15 个任务挤在 5 个领域里),含同域任务对的轨迹 ARI 0.973,不含的 0.984,几乎不受影响。
另一项稳定性实验验证「归纳出的是任务本身,不是执行风格的指纹」:把归纳出的任务集与数据集扣留的真值任务标签比对(标签对归纳过程不可见),38 个人类会话的任务身份匹配率达 94.74%(gpt-5.5 评委;claude-sonnet-5 给 89.47%),在 74 次成功的 Agent 编码轨迹上也有 93.24%。
六、第三阶段:任务模型构建与调和——两个证人各写报告再对质
这是全文最有思想密度的部分。每个任务的活动里携带两类证据——过程证据(时间上如何组织)与目标证据(为什么做)——论文的立场是:不要在一个 pass 里同时解两个问题,而是各自独立求解,再显式调和。
目标模型用递归分解(Wing 的计算思维范式)构建:根是任务目标,语言模型把不能直接执行的目标拆成子目标,子目标的并集覆盖相关证据;节点只陈述「要达成的结果」,抽象于具体策略(写「配好评审者账户」而不是「逐个建立账户并验证登录」);横跨多个活动的节点继续细分,只挂单个活动的节点到顶为叶。整套树抽象到可以跨执行迁移,又落地到每个叶子都拴在观察到的活动上。
过程模型的理论根基是 1966 年的结构化程序定理(Böhm–Jacopini):任何程序都可以用顺序、选择、循环三种结构表达。但轨迹只记录了「实际走的那条路」——没选的分支不可见,也没有显式的决策事件,所以选择算子通常是潜在的、无法从轨迹归纳。于是 Pₜ 只用三种可观测算子:SEQ、FOR(for-each)、WHILE。三种算子的准入门槛各不相同,这是防幻觉的核心设计:
- SEQ:子步骤按时间顺序排列;
- FOR:轨迹中至少有两次对齐的同模式活动,区别只在被操作的命名实体(如对 {user_1, user_2} 各做一遍「配置 → 启动 → 验证登录」);
- WHILE:重复持续到某个目标状态条件满足(如「改代码 → 重建网站 → 验证,直到验证通过」)。
循环体是抽象模板,每个步骤都必须锚定到各次重复中的活动证据——一个模式过不了这个检验,就只能老老实实写成 SEQ。此外附录 A 给出整套形式有效性约束:目标树要求完备且不重叠(每个活动恰好出现在一个叶子下)、内部节点必须陈述期望结果而非界面动作;过程树要求算子属于封闭原语集、FOR 必须绑定显式枚举的集合、WHILE 必须陈述目标状态退出条件。违反由确定性验证器查出,以结构化反馈触发定点修复。
**调和(reconciliation)**处理两个模型「各自内部自洽、切分方式却打架」的情况:目标分解可能把一个迭代单元拆进不同阶段,过程模型又可能把目标跃迁压进一个扁平 SEQ。调和从任务目标自顶向下展开 Mₜ:每个节点的控制流算子来自过程模型,子目标来自目标模型;不一致处按规则分裂、合并或重挂节点,直到目标范围与控制流互相印证。论文的图 2(c) 给了一个典型例子:过程模型把重复的环境配置读成一个 FOR,目标模型却按用户各立一个子目标——调和后保留单个循环、把每个用户的子目标作为循环体内的语义细分,双方各自丢失的步骤都找回来了。
一个真实会话的完整产物(图 3)值得一看:某个为人类评估研究搭建 Web 前端的会话,TMI 归纳出三个互不连续的潜在任务——t1 搭建并部署评估前端(455 条活动,绝对主体)、t2 通过仓库材料与线上行为调研某项目(32 条)、t3 处理讨论与提交审查等事务(11 条)。t1 的任务模型根节点下:SEQ(准备仓库与素材)→ WHILE(定义初始前端并跑通本地原型,直到本地前端能启动并运行)→ SEQ(配置评审者访问与教程流程)→ SEQ(打包、部署、分发,其中嵌着一个 FOR:对每个托管账户 {user_1, user_2} 执行配置、启动、验证登录三步)。目标与控制流在每一个节点上成对出现,这就是任务模型的样子。
调和到底值多少钱?数据说话:过程模型的证据修正了 64.5% 目标节点的边界;反过来,目标模型的证据修正了 21.9% 过程节点的边界、改写了 0.6% 的算子。去掉调和(两模型单遍联合归纳再直接合并),步骤描述准确率从 74.9% 跌到 56.0%(gpt-5.5 评委),过程幻觉率直接翻倍。
七、内蕴评估:任务模型到底有多忠实
内蕴评估回答「归纳出的模型结构好不好」,在 HumanWork 全部 38 个会话上进行(人工验证抽 20 个会话、两位独立标注者)。两个基线都有代表性:workflow summary(Wang et al. 2025 的工作流摘要工具包,产出阶段式叙事,无形式化模型、无控制流算子)和 direct generation(同一个 gpt-5.4、给它完整的任务模型 schema 和活动轨迹、一次生成)。
核心结果(gpt-5.5 评委;claude-sonnet-5 上排序一致):
| 方法 | 目标覆盖(5分制) | 子目标连贯 | 父子一致 | 步骤描述准确率 | 算子正确率 | 目标节点数/会话 |
|---|---|---|---|---|---|---|
| Workflow summary | 3.24 | 65.7 | 62.2 | 30.3 | N/A(无算子) | 106.7(平铺步骤) |
| Direct generation | 4.00 | 87.0 | 97.3 | 23.4 | 52.7 | 3.8 |
| TMI(本文) | 4.34 | 85.7 | 92.6 | 74.9 | 88.5 | 19.5 |
三个观察:
- 对 workflow summary:74.9% vs 30.3%(+44.6pt)。根源很清楚——工作流摘要没有控制流算子,程序保真度先天不足。TMI 显式引入循环算子,并要求每个循环体锚定到重复活动的证据,这是差距的直接来源;
- 对 direct generation:算子正确率 88.5% vs 52.7%(+35.8pt),节点密度 19.5 vs 3.8。一次生成产出的是粗粒度层级——平均一个会话只有 3.8 个目标节点,粗节点面对一致性检查天然占便宜,但丢掉了结构。TMI 让目标模型和过程模型各在自己的证据下求解再调和,粒度和准确性同时保住。按「同时通过全部五项检查的完全有效节点数」算,TMI 每会话 11.5–15.2 个,联合归纳只有其一半(6.0–5.1),直接生成只剩零头(1.1–0.4);工作流摘要虽然平铺了一百多步,完全有效节点数反而垫底——堆量不等于结构;
- 消融验证了「分而治之 + 调和」的每一块都有贡献:去掉目标模型,描述准确率掉到 63.2%(只见动作不见目的,目标间的跃迁被吸进扁平序列);去掉过程模型,就没有算子可用;去掉调和的联合单遍归纳粒度减半(8.6 节点)、描述准确率 56.0%、幻觉翻倍。目标模型与过程模型捕捉的确实是同一执行中互补而不同的证据。
这套层级在普遍存在的非线性执行面前站得住吗?论文统计了 38 个会话中的六类行为:纠错出现在 89% 的会话(143 次)、探索式搜索 87%、冗余重复 84%、试错 66%、任务切换 61%、回溯修改 53%。这些「修理、探索、绕路」恰恰是 WHILE 和 FOR 存在的意义——扁平步骤清单根本无法表达。结果显示父子一致性在这些行为段上没有系统性下降(84.8–97.0%),最难的行为段上步骤描述准确率 66.7%,仍远超最强基线在全节点上的 30.3%。掉得最狠的是边界落点(修复与探索给不出干脆的交付物来锚定边界),这也是残余误差的主要来源(约 12% 节点)。
可靠性方面也有交代:两位人工标注者的一致率 85%(Cohen’s κ=0.48,Gwet’s AC1=0.79,正例偏斜时 κ 偏保守),两个 LLM 评委的分数全部落在标注者的区间内,自动评估没有美化自己。对 1,107 个预测任务标签的误差分析显示 87.1% 正确,剩余误差里:子目标升格 6.8%(把任务内的连贯阶段当成独立任务,其中三分之一涉及用户真实的无关活动,原则上无解);录屏工具自身操作造成的伪聚类 2.5%;同域任务共享工作区(两个数据分析任务都编辑同一个 Jupyter notebook)导致 2.4%。跨管线的误差传播分析进一步表明:接地错误影响约 9% 的目标节点,潜在任务归纳最稳(38 个会话中 37 个未向上传播错误),调和对端到端保真度影响最大——这与消融结论互相印证。
八、外显评估、相关工作与总结
外显评估回答更有价值的问题:任务模型能不能迁移到演示之外?协议设在 SkillLearnBench(20 个真实任务族)上:每个任务族从单次成功演示归纳任务模型,交给 Codex 的技能创建器合成可复用技能,再部署到同族的 held-out 实例上打分。所有技能生成与执行都用 gpt-5-mini,于是五个学习来源之间的差距就纯粹来自「喂给技能创建器的东西」:
| 学习来源 | 技能覆盖 | 可执行性 | 安全性 | 轨迹对齐 | held-out 准确率 |
|---|---|---|---|---|---|
| 无技能 | N/A | N/A | N/A | 59.20 | 8.57 |
| 人工编写技能 | 93.59 | 63.80 | 90.50 | 56.59 | 10.00 |
| 原始演示轨迹 | 52.46 | 53.49 | 92.52 | 63.15 | 11.43 |
| Workflow summary | 54.07 | 59.35 | 91.74 | 66.18 | 14.29 |
| TMI 任务模型 | 54.95 | 67.65 | 90.57 | 67.99 | 18.57 |
TMI 把可执行性从 59.35 提到 67.65,held-out 准确率从 14.29 提到 18.57——相对提升 30.0%。还有一个反直觉的发现:人工编写的技能覆盖率最高(93.59)但准确率垫底之一(10.00,低于一切归纳来源),说明技能覆盖率与迁移准确率并不正相关——写得全不等于教得会。结构化的目标 + 控制流才是 Agent 能消化的「教材」。
相关工作定位上,本文站在三条线的交点:计划识别(Kautz 1986)要从动作推目标,但预设计划库或领域理论;过程挖掘(Van Der Aalst 2011)能从事件日志挖过程模型,但日志里已是有类型的活动和案例标识符;近年计算机使用轨迹工作或做像素接地、或抽步骤序列、或学用户模型、或在已知根任务下分析轨迹。TMI 把这些假设全部丢掉:语义动作、潜在任务、目标层次、过程结构,全部从原始屏幕与输入流中联合归纳。它的多线程与分段设计则直接扎根于 HCI 的任务切换研究与事件分段理论。
局限也很坦诚:自然轨迹可能含个人隐私信息(PII),部署前应对截图与键盘事件做隐私脱敏,避免敏感内容流入下游技能学习等用途;脱敏对归纳质量的影响留作未来工作。
三点带走:
- 表示先行的胜利:把「任务模型」定义为「目标树 × 控制流」的配对,且每个控制流算子都要证据准入,这让模型既可审计又可迁移——比「让 LLM 自己看着办」可靠得多;
- 分而治之优于一次成型:目标与过程两类证据各自独立求解、再显式调和,比单遍联合生成粒度更细、幻觉更少。这个「独立求解 + 边界调和」的范式对其他结构归纳任务(如代码逻辑恢复、流程挖掘)应有借鉴;
- 从轨迹到知识的基础设施:当计算机使用 Agent 大规模进入真实工作,人类轨迹将成为最廉价的经验来源。TMI 证明了这条「录屏 → 符号化任务模型 → 可复用技能」的管线是通的,剩下的隐私与规模化问题,是这个方向必须补上的下一课。