Lorsqu’OpenAI a publié Codex pour (presque) tout faire, le monde de la tech a relevé la tête. L’IA écrit du code et rédige des e-mails depuis des années, mais la promesse que Codex puisse désormais piloter macOS — « en voyant, en cliquant et en frappant avec son propre curseur » — ouvre une capacité fondamentalement nouvelle.
Bridger la distance entre un modèle de langage hébergé dans le cloud et un système d’exploitation local tient depuis longtemps de l’exploit. Pendant des décennies, l’automatisation a reposé sur des Application Programming Interfaces (API) fragiles ou sur des scripts de scraping DOM qui cassent dès qu’un élément d’interface change.
L’idée de génie, sur le plan technique, est celle-ci : Codex a abandonné l’intégration au niveau du code au profit d’une exécution au niveau du pixel. En combinant la vision multimodale avec l’injection d’événements bas niveau directement dans le noyau, OpenAI a transformé la Graphical User Interface (GUI) en une API universelle.
Voici l’architecture technique qui rend cela possible.
L’architecture d’un agent natif Mac
Pour qu’une IA puisse tester une application ou itérer sur un design frontend sans intervention humaine, elle a besoin d’une boucle continue Percevoir-Raisonner-Agir. Voici comment Codex implémente vraisemblablement chaque étape sur macOS.
1. Perception : vision sémantique et moteur de grounding
Les outils d’automatisation classiques comme AppleScript lisent l’arbre d’accessibilité de l’interface. Cette approche est rapide mais s’effondre sur les applications Electron personnalisées, les canevas web ou les jeux, où les éléments d’interface ne disposent pas de balises d’accessibilité correctes.
OpenAI indique que Codex utilise les applications en les « voyant », ce qui signifie qu’il s’appuie sur la Computer Vision. L’application hôte exécutée sur le Mac réalise des captures de trames haute fréquence du bureau. Un modèle multimodale analyse ensuite ces trames par segmentation sémantique — il ne cherche pas des balises HTML mais reconnaît visuellement la forme et le contexte des éléments d’interface comme les boutons, les barres de recherche et les menus.

Le véritable défi d’ingénierie ici, c’est le Grounding. Une fois que l’IA a identifié une cible, elle lance un calcul pour projeter l’objet sémantique sur des coordonnées pixel précises à l’écran. Elle traduit « clique sur le bouton fermer » en positions exactes (x, y), en tenant compte de la résolution d’affichage et du facteur de mise à l’échelle.
| Étape | Ce qui se passe | Technologie |
|---|---|---|
| Capture de trames | Captures d’écran haute fréquence du bureau | Application hôte |
| Analyse sémantique | Identification des éléments d’interface par apparence visuelle, pas par code | Modèle de vision multimodale |
| Grounding | Projection des cibles sémantiques sur des coordonnées pixel | Modèle de régression de coordonnées |
| Distribution d’actions | Injection d’événements d’entrée synthétisés dans l’OS | Hooks du framework système |
2. Action : injecter des événements au niveau de l’OS
Savoir où cliquer ne sert à rien si le logiciel ne peut pas réellement déclencher l’action. Codex court-circuite totalement le matériel physique.
Pour interagir avec macOS de façon native, Codex s’appuie presque certainement sur les frameworks système les plus profonds d’Apple : Quartz Event Services et l’Accessibility API.
Lorsque Codex décide de cliquer, il synthétise un CGEvent virtuel — un mouseDown suivi d’un mouseUp — et l’injecte directement dans la file d’événements système de macOS. Du point de vue du système d’exploitation, cet événement synthétique est indiscernable d’une pression physique sur le trackpad. C’est pour cela que Codex peut piloter n’importe quelle application : si un humain peut cliquer dessus, Codex peut cliquer dessus.
3. Isolation : la mécanique du « curseur fantôme »
La promesse sans doute la plus ambitieuse techniquement est que Codex tourne « en arrière-plan sans prendre le contrôle de votre ordinateur ». Quiconque a déjà utilisé un enregistreur de macros sait que l’automatisation classique s’accapare entièrement le curseur de la souris.
Pour parvenir à une exécution concurrente, le système doit isoler les entrées de l’IA des entrées physiques de l’utilisateur. Deux approches d’implémentation sont vraisemblables :
| Approche | Comment ça marche | Compromis |
|---|---|---|
| Routage ciblé de fenêtre | macOS permet d’envoyer des événements à des Process Identifiers (PIDs) spécifiques. Codex route les clics synthétisés directement vers la boucle d’événements de l’application cible, en contournant le curseur matériel global. | Surcoût plus faible ; nécessite un ciblage de fenêtre précis. |
| Framebuffers virtuels | Le système démarre une couche de bureau virtuel headless. Codex « voit » et opère dans cet espace de travail invisible tandis que l’utilisateur continue de travailler dans l’espace principal sans être dérangé. | Empreinte mémoire plus élevée ; garanties d’isolation plus solides. |
L’approche par framebuffer virtuel recoupe la mécanique observée lorsqu’Anthropic a publié sa propre capacité Computer Use, ce qui suggère qu’elle s’impose peut-être comme un patron standard de l’industrie pour les agents IA de bureau.
Perspectives : un monde post-API
L’impact de fond dépasse largement la mise en œuvre technique. En résolvant la chaîne de la vision à l’action au niveau de l’OS, OpenAI a rendu les API traditionnelles optionnelles. Nous entrons dans l’ère du Large Action Model (LAM).
Considérez les implications concrètes :
- Intégration de logiciels hérités : des outils d’entreprise de 2008 sans API ? Codex n’en a pas besoin. Il ouvre l’application, navigue dans l’interface, copie les données et les colle dans un tableau de bord moderne.
- Restrictions de plateforme : des plateformes qui limitent l’accès développeur via un rate limiting agressif sur l’API ? Codex ouvre le navigateur web et pilote l’interface directement, exactement comme le ferait un utilisateur humain.
- Flux de travail inter-applications : des tâches qui exigeaient auparavant du middleware personnalisé entre des applications déconnectées peuvent désormais être orchestrées via une simple instruction en langage naturel.
L’industrie du logiciel a passé des décennies à construire des ponts entre les applications. Avec Codex maîtrisant la GUI de macOS, les applications n’ont plus besoin de se parler entre elles. L’IA les utilise en notre nom.
FAQ
Comment Codex « voit-il » l’écran sur macOS ?
Codex utilise une application hôte qui capture des captures d’écran haute fréquence du bureau. Un modèle de vision multimodale applique ensuite une segmentation sémantique sur ces trames, identifiant les éléments d’interface comme les boutons, les menus et les champs texte à partir de leur apparence visuelle plutôt que du code sous-jacent ou des balises d’accessibilité.
Quels frameworks macOS Codex utilise-t-il pour simuler clics et frappes ?
Codex interagit vraisemblablement avec les Quartz Event Services et l’Accessibility API d’Apple. Il synthétise des CGEvents virtuels (comme mouseDown et mouseUp) et les injecte dans la file d’événements système de macOS, rendant ces entrées indiscernables des événements matériels physiques.
Comment Codex peut-il fonctionner en arrière-plan sans s’accaparer le curseur ?
Le système utilise probablement soit le routage ciblé de fenêtre — en envoyant les événements directement à des Process Identifiers (PIDs) spécifiques — soit des framebuffers virtuels, qui créent un espace de travail de bureau invisible où l’IA opère indépendamment tandis que le curseur physique de l’utilisateur reste intact.
Qu’est-ce qu’un Large Action Model (LAM) et en quoi diffère-t-il d’un LLM ?
Un Large Action Model étend les capacités d’un Large Language Model de la génération de texte à l’exécution de tâches dans le monde réel. Tandis qu’un LLM génère des réponses, un LAM perçoit son environnement via la vision, raisonne sur les actions à entreprendre et exécute ces actions par injection d’entrées au niveau système. Codex constitue une mise en œuvre concrète du concept de LAM.
Laisser un commentaire