# laya 作为浏览器 agent 的决策模型(替代 TypeSafe Jev) [jev-ultrafast](https://github.com/browser-use/jev-ultrafast) 的 `/v1/systemone` 请求/响应格式与 `laya.predict(state, questions)` 完全一致, 所以本地 laya(+TileLang 加速)可以直接替代 TypeSafe API。克隆在 `../jev-ultrafast`,`model.py` 已打补丁支持 `TYPESAFE_BASE_URL` 和 `TEXT_MODEL_EXTRA_JSON`。 ```fish # 1. 无头 Chromium(远程调试端口 9222) chromium --headless=new --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile about:blank & # 2. 本地 laya systemone 服务(typed | multilingual | english;第 3 个参数是选项分块宽度) source env.sh; .venv/bin/python apps/systemone_server.py 8791 typed 12 & # 3. TYPE_TEXT 用本地 sglang + Qwen(可选) HF_HUB_OFFLINE=1 ~/sglang-venv/bin/python -m sglang.launch_server --model-path Qwen/Qwen3-8B-AWQ --port 30000 \ --mem-fraction-static 0.5 --context-length 8192 --reasoning-parser qwen3 & # 4. 跑任务 cd ../jev-ultrafast; .venv/bin/python ../laya/apps/browser_task.py "https://en.wikipedia.org/wiki/Main_Page" "Click the 'Random article' link." # 诊断:真实元素表上直接问 laya 该点哪个(格式 jev|compact,后面是打乱平均次数) .venv/bin/python ../laya/apps/browser_diag.py compact 4 ``` `systemone_server.py` 做了两件适配:把 jev 的 dict 型元素描述压成一行字符串;超过 N 个选项的 choice 问题 分块粗筛 + 决赛(两次前向),53 个元素约 150 ms。 ## 结论(2026-09-20,零样本,Wikipedia 首页 46 个可点元素) | checkpoint | jev 原格式 top-1 | 精简格式 top-1 | 精简+4 次打乱平均 top-1 | 平均排名 | |---|---|---|---|---| | laya (english) | 0/3 | 0/3 | 1/3 | 2.7 / 46 | | laya-multilingual | 0/3 | 0/3 | 0/3 | 5.3 / 46 | | laya-typed-decisions | 0/3 | 1/3 | 1/3 | 3.7 / 46 | 管线(Chromium → browser-harness → jev 循环 → 本地 laya)跑通且每步 60-150 ms,但三个 checkpoint 零样本都 无法可靠选中目标元素(强烈偏向第 1 个选项),端到端任务全部失败。这与 laya 自己的说明一致:typed-decisions 零样本 0.36,需要针对任务微调。要真正替代 Jev,下一步是用 Qwen 当 teacher 在录制的页面状态上生成决策数据,微调 laya。