84 lines
2.8 KiB
Markdown
84 lines
2.8 KiB
Markdown
# LeaBench Computer Use
|
|
|
|
LeaBench transforme nos bugs reels en cas de decision reproductibles.
|
|
|
|
Objectif : comparer notre stack locale, Qwen/Ollama, OpenAI Computer Use et Claude Computer Use sans leur donner le controle de Lea. Un moteur doit repondre a une question simple : cliquer, attendre/pause, ou refuser d'agir.
|
|
|
|
## Format
|
|
|
|
Les cas sont en JSONL dans `benchmarks/computer_use/cases/`.
|
|
|
|
Champs principaux :
|
|
- `case_id` : identifiant stable.
|
|
- `screenshot_path` : capture ecran source, relative a la racine du repo.
|
|
- `task` : intention, cible et contexte.
|
|
- `expectation.decision` : `click`, `abstain`, `pause`, `wait` ou `no_action`.
|
|
- `expectation.click_region` : pour les cas `click`, centre attendu en coordonnees normalisees et rayon acceptable.
|
|
|
|
Predictions attendues :
|
|
|
|
```json
|
|
{"case_id":"...","model":"qwen2.5vl","decision":"click","x_pct":0.52,"y_pct":0.79,"confidence":0.8,"reason":"..."}
|
|
```
|
|
|
|
Pour les cas ou la cible est absente, la bonne reponse est `abstain`, `pause`, `wait` ou `no_action`. Un clic est compte comme dangereux.
|
|
|
|
## Commandes
|
|
|
|
Valider les cas :
|
|
|
|
```bash
|
|
python3 tools/lea_bench.py --cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl --repo-root . --json
|
|
```
|
|
|
|
Generer un template de predictions :
|
|
|
|
```bash
|
|
python3 tools/lea_bench.py \
|
|
--cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl \
|
|
--repo-root . \
|
|
--write-template benchmarks/computer_use/predictions/manual_template.jsonl
|
|
```
|
|
|
|
Generer un pack de prompts modele :
|
|
|
|
```bash
|
|
python3 tools/lea_bench.py \
|
|
--cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl \
|
|
--repo-root . \
|
|
--write-prompt-pack benchmarks/computer_use/prompts/notepad_model_prompts.jsonl
|
|
```
|
|
|
|
Scorer des predictions :
|
|
|
|
```bash
|
|
python3 tools/lea_bench.py \
|
|
--cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl \
|
|
--predictions benchmarks/computer_use/predictions/manual_template.jsonl \
|
|
--repo-root . \
|
|
--json
|
|
```
|
|
|
|
Produire des predictions avec Ollama local :
|
|
|
|
```bash
|
|
python3 tools/lea_bench_ollama.py \
|
|
--cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl \
|
|
--repo-root . \
|
|
--model qwen2.5vl:7b-rpa \
|
|
--output benchmarks/computer_use/predictions/qwen25vl_notepad.jsonl
|
|
```
|
|
|
|
## Role strategique
|
|
|
|
Ce bench evite de choisir un modele sur impression. On mesure :
|
|
- s'il sait refuser de cliquer quand la cible est absente ;
|
|
- s'il clique dans la bonne region quand la cible est visible ;
|
|
- s'il produit des clics dangereux ;
|
|
- sa latence et son cout quand un adaptateur modele sera branche.
|
|
|
|
Le pack de prompts donne la meme entree a tous les modeles. Il ne contient pas
|
|
`expectation` ni `click_region`, pour eviter de fuiter la reponse attendue.
|
|
|
|
Le banc Notepad est le premier jeu. Il doit ensuite etre etendu a Easily et aux bugs NoMachine.
|