Files

4.4 KiB
Raw Permalink Blame History

任务排查与复盘

用户给了任务编号就先针对该编号取证,不重跑业务,不停止其正在运行的任务,不把最新失败任务替换成用户指定任务。

定位顺序

  1. mobile_manage_task(action="status", trace_id=...),区分排队、执行、等待指导、暂停、收尾与终态。current_step 是动作步号,不等于模型请求数。
  2. mobile_inspect_trace(action="view_report", trace_id=..., offset=0, limit=20) 读取统一结果与有限步骤。test_result.source=human 时同时展示 AI 原判,不能用旧 AI 结论覆盖人工复验。
  3. 根据问题只读相应资料:
问题 inspect action 要核对的证据
长时间没动、API 超时、no tool call view_requests 请求开始/结束、模型、阶段、请求ID、重试、是否终止;HTTP 200 不表示输出结束
token 特别多、缓存是否生效 view_usage,再按需 view_requests prompt/completion/cached、调用数、角色/模型分组;未记录字段不能补猜
Python、ADB、插件错误 view_logs 该任务 stdout/stderr 有限尾部;脱敏文本和实际错误链
点错、未验证、与结论矛盾 search → view_step_details / view_step_screenshots 动作前后画面、工具参数与实际回执、窗口和坐标尺寸
PC 黑屏、录像空洞、文件没保存 view_evidence 来源、时间、录屏片段、调用回执及附件,不用手机画面代替电脑画面

offset/limit 分页,使用返回的 next_offset;view_logs 的 offset 从最新行向前计数,返回每页仍按时间正序,超过尾部读取窗口的旧字节会注明。text_truncated=true 时缩小范围或读取指定步骤,不把截断当成内容缺失。

search 使用 query 或 step_range,不会执行历史动作。view_summary 也有分页,不用它一次加载整条长任务。

缓存与耗时

  • 缓存命中率 = cached_tokens / prompt_tokens,分母不是总 token,也不是缓存命中的请求数。
  • 输入 token 包括缓存部分。报告输入总量、缓存量、未缓存输入、输出、调用数,保留缺少统计的限制。没有用量记录不等于零费用;没有价格信息不臆算账单。
  • 按角色/模型分组判断消耗来源,不能把 Checker、视频分析和执行模型混为一个请求。旧数据未记录模型时注明 unknown。
  • 请求阶段和重试用于解释等待,时间戳 Unix 秒及 UTC 转成用户当地时区;注明时区。无终止事件或 unknown 不能当成功。
  • 区分模型生成耗时、设备/插件操作耗时、排队及用户等待。先找实际重复观测、工具参数膨胀、无进展循环,再建议优化。
  • 最终验收读取 view_requests 返回的 final_reviews:核对 stage、total/elapsed/remaining_seconds、request_count、retry_count 和 status;用 review_id 关联请求的 final_review 字段。最终验收与中间检查点独立计时。budget_exhausted 是验收总预算耗尽,request_retries_exhausted 是模型请求重试耗尽,cancelled 是停止或指导中断,不能混称为 API 超时。验收耗尽不自动重跑设备操作;流式半截 passed 和验收 completed 都不能代替正式 test_result。

环境与插件

工具报连接/设备异常时用 mobile_diagnose。服务未启动时让用户先启动 ARTEMIS,不经 MCP 拉起另一个副本。一般检查先不启用付费凭据验证或真实设备探测;需要确认凭据或观测链路时再用 verify_credentials / probe_device。设备自愈用 attempt_fix,仅按返回的 next_steps 处理。

mobile_workspace 可见插件及 blocked_resources。只对相关已安装插件做 probe_plugin 连接检查;它会启动插件进程。结果不确定的写动作不能自动再点一次,资源保护解除由用户在网页确认。

结果与交付

给出具体结论、支持它的任务/步骤/请求编号、影响与缺失证据。执行失败不必然是被测产品缺陷;验收失败也不必然是工具故障。

用户只问复盘时不重新执行、不改验证结果。用户明确给出人工复验结论时,使用 mobile_manage_task(action="review", trace_id=..., review_status="passed"或"failed", review_reason=用户理由, user_confirmed=true)。AI 自己的分析不能使用这个入口冒充人工判定。

用户需要资料时再 mobile_export_report;已有 report/evidence 查看不会生成 ZIP。交付真实路径或链接,并说明未验证项。