# 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.