76 lines
7.5 KiB
Markdown
76 lines
7.5 KiB
Markdown
# 执行模式与单任务流程
|
||
|
||
## 怎样选模式
|
||
|
||
| 项目 | Flash | Pro | 探索 |
|
||
| --- | --- | --- | --- |
|
||
| 适合 | 目标清楚、路径明确、低分支流程;冒烟和已提炼用例复跑 | 复杂分支、持久计划、检查点、长程监控、ADB/日志、详细记录 | 流程尚未定型,用户参与纠正或示范的一个复杂用例 |
|
||
| 执行方式 | 单执行模型观察→动作;需要时使用定位等辅助工具 | Planner 制订计划;Operator 执行;Checker 验收;按需生成报告 | 复用 Pro 工具和计划,加持续对话、提问等待、示范分析和用例提炼 |
|
||
| 验收 | 最终 AI 判定与分析默认关闭,可在全局功能配置开启 | 默认结束验收,可配置检查点/strict | 先处理用户指导,再验收探索目标;不把示范当独立复跑通过 |
|
||
| 中途输入 | `inject_instruction` 指导当前任务 | 同 Flash,还能记录计划及诊断信息 | `message` 持续交流;结束后消息仅讨论,再操作需 `continue` |
|
||
| 入口 | `mobile_run_task(model="Flash")` | `mobile_run_task(model="Pro")` | `mobile_exploration(create/start/...)` |
|
||
| 产物 | 步骤、证据、测试结果,按需导出报告 | 以上加计划、笔记和可选详细报告 | 对话、各轮执行和示范证据、一个用例的不可变版本 |
|
||
| 时限 | 普通执行保护,按任务配置 | 同 Flash | 默认每段主动执行 1800 秒,达到后暂停而非判失败,可继续 |
|
||
|
||
不是按步数多少机械选模式。Flash 没有默认步数上限,但不具备 Pro 的持久计划、ADB shell、过程中检查点。复杂稳定路径可以在探索确认后用 Flash 复跑;需系统诊断或检查点时用 Pro。探索不是一种更高的思考强度,Pro 的 `explorer_mode` 也不表示创建探索会话。
|
||
|
||
## 模式、模型与配置
|
||
|
||
- `mobile_run_task.model` 取 `Flash` / `Pro`。API 模型名放 `runtime_overrides.model`;思考强度放 `runtime_overrides.reasoning_effort`。批次使用 `task_config.profile` 选择模式,`task_config.model` 选择 API 模型。
|
||
- 探索独立配置,默认 `gpt-6.1-terra/high`,支持 `gpt-6-astra` 及已配置网关支持的自定义模型。执行、示范分析、提炼共用该探索配置;不改变 Flash/Pro 默认值。
|
||
- 默认 high、单次模型请求时限 300 秒。`default` 表示不发送思考强度,`none` 是显式关闭,不能混为一谈;接口不支持参数时如实报告,不擅自降级。
|
||
- 请求时限与整任务主动执行时限不同。排队/用户暂停不计入任务主动执行;探索等待回答、人工示范也不计入。
|
||
- 录屏 `record_video` 和 AI 视频分析 `analyze_video` 独立,默认关闭。需要可下载录像时明确启用录屏。
|
||
- `mobile_config(section="model"/"capabilities"/"exploration"/"reports")` 可查看非敏感默认值。用户只要求运行本次任务时用临时覆盖;只有要求保存默认值才用 `changes` 和 `persist_defaults=true`。
|
||
|
||
## Flash / Pro 提交
|
||
|
||
```python
|
||
mobile_run_task(
|
||
request_id="由调用方为本次提交生成的唯一编号",
|
||
task_desc="打开目标应用设置页,确认深色主题状态,保留证据;不要修改设置。",
|
||
model="Flash",
|
||
device_serial="用户指定的设备编号",
|
||
runtime_overrides={"reasoning_effort": "high", "record_video": True},
|
||
)
|
||
```
|
||
|
||
- 任务提示词包含目标、必要前置条件和预期。不把业务约束仅写在批次元数据里。
|
||
- `locked_app_package` 限定应用;跨应用流程不应锁定单个包。
|
||
- Pro 的 `verification_level`:off 关闭检查、final 结束检查(默认)、checkpoints 检查点加结束检查、strict 更严格检查点。关闭检查后不能把执行完成视为有验收证据。
|
||
- Pro 的 `explorer_mode`:flash 单次定位、pro 多轮定位、ultra 深度像素分析。只有明确需要时增加感知深度,避免无必要开销。
|
||
- `expected_output_desc` 描述 Pro 需要生成的详细报告;Flash 仍可导出已有步骤/结果报告,不依赖这个参数。
|
||
- 纯电脑任务 `runtime_overrides.execution_target="computer"`,不传手机编号;安卓为主且偶尔控制电脑时,通常保留默认目标并让 ARTEMIS 自行选择已授权插件,见 [插件参数](plugins.md)。
|
||
|
||
返回后保存 `trace_id`。提交回复丢失时调用 `mobile_manage_task(action="lookup", request_id=原编号)`;得到 trace_id 后查状态。`submission_state=unknown/submitting` 不等于未执行,不能换编号自动重跑。
|
||
|
||
## 跟踪、指导与结束
|
||
|
||
- `mobile_manage_task(status, trace_id)` 查询当前状态。按工具建议或约 30–60 秒间隔查询,用户正在追问时可立即查看;不无休止紧密轮询,不承诺宿主未实现的后台通知。
|
||
- `pause` 返回 pausing 只代表已接收;直到 task_paused 才能认为暂停完成。`resume` 继续原任务,恢复后重新观察并进入资源队列。
|
||
- `inject_instruction` 传 `instruction` 指导现有任务;模型等待或只读诊断可取消,已经开始的设备动作先安全结束。暂停中发送指导会恢复,用户只希望暂存文字时不要误调用。
|
||
- `guidance_history` 区分 pending/consumed,已领取仍不保证动作成功,需读后续步骤。
|
||
- Pro 连续监控的 `[Loop:continuous]` 里程碑结束使用 `release_loop=true`;自然语言“结束”不能代替明确控制信号。`stop` 用于用户要求取消当前任务。
|
||
- `completed/failed/cancelled/interrupted/skipped` 为执行终态;检查 test_result 再说明通过、失败、未验证或阻塞。人工判定附来源和原 AI 判定,不改写原始证据。
|
||
- 实际耗时受模型、网络及设备影响,不能固定扣减 5/30 秒当作精确等待。最终外部测试脚本应使用明确等待条件。
|
||
|
||
## 短时控件与精确拖动
|
||
|
||
Flash 与普通 Pro 共用原生 `action_sequence` 和 `drag` 动作。外层 MCP 仍通过
|
||
`mobile_run_task` 提交任务;在任务目标中说明短时控件、已观察布局、目标刻度和验收标准,
|
||
不需要切换探索或通过外部 ADB 脚本绕开队列。
|
||
|
||
- `action_sequence(steps=[...])` 在一次调用内按序执行 click、wait、drag,不在成员之间
|
||
截图或请求模型。沿用 `pro.execution.max_burst_actions` 的连续动作数量限制(默认 4)。
|
||
先验证整组参数,失败后停止剩余成员;检查 `sequence_results`,不要重发已完成输入。
|
||
- `drag` 接受 start、end、coordinate_space(normalized 或当前截图的 pixel)、
|
||
duration_ms(默认 300)及 target_description。pixel 避免细刻度被整数归一化坐标量化。
|
||
- 可用 calibration 替代 end:axis、mode(thumb/pan)、两个 anchors(position/value)、
|
||
target_value;pan 还要提供固定指针 indicator_position。各值必须来自当前缩放下的真实观察,
|
||
使用同一数值单位。工具返回计算出的端点、比例和量化误差,未自动识别当前选中值。
|
||
- 拖动成功只表示派发成功。对照动作后同名刻度或选中值再判断;不得自动过冲或把慢拖当作精准。
|
||
|
||
## 安卓文件
|
||
|
||
任务内部支持 `android_file`,外层以任务目标交给 ARTEMIS,文件操作也走队列。截图原生 PNG 默认留存任务 trace;明确要求桌面时额外复制并校验,不需电脑插件。读写文本、列目录、pull/push 使用目标 Android 路径及任务文件边界,不能绕过应用私有目录权限。已有文件默认不覆盖。只有工具返回实际路径及校验结果才说明保存成功;「全部资料」导出包含任务文件。
|