Inducing Task Models from Computer-Use Traces
Yucheng Jiang, Zora Zhiruo Wang, Ruishi Chen, Diyi Yang
cs.CL, cs.AI
2026-08-21
TMI从交错电脑痕迹归纳目标树与控制流,步骤还原74.9%,据此技能在held-out上比最强基线相对高30%。
电脑使用 agent 要进真实工作,组织也要审计人到底怎么干活。最现成的证据是无标注痕迹:截图序列加上鼠标键盘事件。这些痕迹几乎从不写成文档,里面的专长是 tacit 的,看过录像也很难复述目标层级和执行结构。
现有做法卡在三处。像素级点击本身没有语义;真实会话是多线程的,用户在不相关目标之间来回切;痕迹只记下走了哪条路径,不直接给出目标层级和控制流。LLM 会话摘要会把并发任务揉成一段散文。Workflow induction 把整段录像当成一条连续流程,交错任务缠在一起,循环和分支写不出来。轨迹分析方法则预先假定根任务已知。
TMI(Task Model Induction)要补的就是这个缺口:不给任务名单、不给边界,从无约束会话里发现潜伏任务,再为每个任务生成一棵树。树上每个节点同时挂「要达成什么」和「这段执行怎么组织」。
整条管线分三步,输入是原始事件序列,每条事件是一张截图、一次低层操作(例如 click)和一个时间戳。
事件 grounding 与活动切分。VLM 读每条事件前后两张截图,说出对哪个应用里的哪个物件做了什么,并做一版屏幕 OCR。Grounding 被约束在截图可见证据上,后一张图只用来确认改了什么,不倒推意图。连续事件再收成两层:semantic action 是一次对产物的有意义状态变化,例如改 page.tsx 里的同意书文案;activity 是一个局部目标从采纳到完成或放弃的动作集合,例如提交一次 UI 改动。语义动作向后切,因为要看到状态真正落到新位置;activity 向前切,因为目标是在开始时被采纳的。
潜伏任务归纳。每个任务维护一份 profile:一段摘要,外加一组 referential identifier,也就是反复出现的产物、实体、别名。按时间处理每个 activity,归到语义最近的任务,或开一个新任务。Identifier 把跨应用、跨命名的同一任务钉住。仓库名 study-frontend 和部署 URL review-trial.web.app 可以指向同一件事,摘要会漂,identifier 不会。整段走完后再做一次全局合并,避免目标漂移或长时间打断把同一任务拆碎。
任务模型构造。目标模型按计算思维做递归分解:根是任务目标,叶是 activity,内部节点是潜伏子目标。节点写的是要达成的结果,不写具体点了哪个按钮。过程模型只保留痕迹里能看见的控制流:sequence 按时间枚举;for-each 要求同一模式在不同实体上对齐重复至少两次,例如给 user1、user2 各开一次账号并验证登录;while 则重复直到某个目标状态满足,例如改代码、重建站点、验证,直到验证通过。选择结构(if/else)通常诱导不出来,因为痕迹只记下走了哪条,没记下没选的那条。两边各自在自己的证据下长完,再做 reconciliation:控制流操作符来自过程模型,子目标来自目标模型,边界冲突时拆、并、改父节点。过程模型修正了 64.5% 目标节点的边界,目标模型修正了 21.9% 过程节点的边界,并改了 0.6% 的操作符。
管线各阶段用 gpt-5.4,温度 1.0。内在评估的独立裁判是 gpt-5.5 和 claude-sonnet-5。下游技能生成和执行用 gpt-5-mini。
内在评估主数据是 HumanWork:38 段真实人类会话,15 个任务、5 个职业域(数据分析、工程、计算、写作、设计),42.8 小时、48.7K 原始事件,平均每段 68 分钟、1.3K 事件。另外从 SkillsBench 取动作数最高的 15 个软件工程任务,覆盖 Claude Code、Codex、Gemini CLI 三种 harness,共 195 条轨迹。
潜伏任务拆分把单任务会话切成 d 段再打乱,合成 126 条多任务轨迹,K 从 2 扫到 15。总体 Adjusted Rand Index 0.974,任务数平均绝对误差 0.48。切得最碎(d=4)时 ARI 仍有 0.968。任务身份匹配不把数据集标签喂给归纳:HumanWork 上 gpt-5.5 判对 94.74%,SkillsBench 成功轨迹 93.24%;换 claude-sonnet-5 分别是 89.47% 和 98.65%。
任务模型保真看六个维度。步骤描述准确率和操作符正确率最能分出方法:
| 方法 | 步骤描述准确率 | 操作符正确率 |
| Workflow summary | 30.3% | 不适用 |
| Direct generation | 23.4% | 52.7% |
| TMI | 74.9% | 88.5% |
| 去掉目标模型 | 63.2% | 84.1% |
| 联合一次生成 | 56.0% | 70.3% |
数字来自 gpt-5.5 裁判,claude-sonnet-5 上 TMI 步骤准确率 87.8%、操作符 91.8%,排序不变。目标覆盖 TMI 4.34(5 分 Likert),Direct generation 4.00。联合一次生成平均只有 8.6 个目标节点,TMI 是 19.5 个,前者若干 per-node 分数更高,是因为树更粗。真实会话里 89% 有纠错、87% 有探索搜索;这些非线跨度上步骤准确率掉到 66.7%,仍高于基线在全部节点上的 30.3%。边界放置掉得最狠,纠错和探索没有干净的交付物可以锚定。
外在评估在 SkillLearnBench 的 20 个任务族上:从每个族的一次成功演示归纳任务模型,交给 Codex 的 skill creator,再用 gpt-5-mini 在同族 held-out 实例上跑。对照的是同一套 skill creator,只换学习来源。
| 学习来源 | 可执行性 | held-out 准确率 |
| 无技能 | 不适用 | 8.57 |
| 人工撰写技能 | 63.80 | 10.00 |
| 原始演示 | 53.49 | 11.43 |
| Workflow summary | 59.35 | 14.29 |
| TMI 任务模型 | 67.65 | 18.57 |
相对最强基线,准确率从 14.29 到 18.57,相对提升 30.0%。人工技能覆盖率最高,93.59,held-out 准度却低于所有自动来源。覆盖率和可迁移准度在这里不同步。
Computer-use agent 要从演示里学到可复用技能,组织要从录像里审计流程。TMI 给出的是可检查的符号结构:目标树加上 sequence、for-each、while,叶子钉在观察到的 activity 上。人可以读这棵树,agent 可以从这棵树生成 skill。
对做 agent 技能库的人,这篇给出一个干净对照:把原始痕迹或阶段摘要喂给同一个 skill creator,不如先抽成任务模型。18.57 的 held-out 准度绝对值不高,但相对 14.29 的基线和 8.57 的无技能条件,结构本身在干活。
对做流程挖掘或工作流归纳的人,它把「case id 已知、活动已打标」这条假设拿掉了。像素和键鼠就是输入。这是渐进工作:表示来自分层任务分析和结构化程序定理,新的是把交错会话当成一等公民,并且目标和过程分开诱导再对齐。现有 workflow 摘要做不到这一点。
代码已公开。复现成本主要花在 gpt-5.4 的视觉 grounding 调用上,论文没报美元数字。
论文自己点出的:原始痕迹含个人身份信息,上线前要做截图和键盘脱敏,脱敏对归纳质量的影响还没测。
还有几处摘要不会写。选择结构基本诱导不出来,没选的分支不在痕迹里。内在评估的「交错」是把单任务会话切段打乱合成的,不是自然并发;126 条合成轨迹里 96.7% 的任务对还共享同一应用,难度主要在切换频率。步骤准确率 74.9% 来自 LLM 裁判,20 段会话的双人标注 Cohen's κ 只有 0.48,Gwet's AC1 0.79;两名标注者的步骤准确率分别是 93.0% 和 70.0%,裁判落在这个区间里,但指标噪声不小。held-out 18.57 相对 14.29 的提升,在 20 个任务族、单一 gpt-5-mini 执行器上测得,换模型或换族是否还在,还没有数据。联合一次生成在若干目标维度上分数更高,只是节点少一半、步骤更不准,复现时不能只看 Likert。