Files

2.8 KiB

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 :

{"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 :

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 :

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 :

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 :

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 :

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.