- Un navigateur capable de rendre du HTML et du CSS a été implémenté directement en Rust en seulement 3 jours par une personne et un agent LLM
- Le projet a été mené à bien avec environ 20 150 lignes de code et inclut des fonctions de base comme le défilement, le retour arrière et le mode headless
- Conçu pour fonctionner sur Windows, macOS et Linux sans bibliothèque Rust externe
- Le développement s’est déroulé en collaboration avec l’agent Codex : l’humain s’occupait de la coordination et de la validation, tandis que l’agent écrivait le code
- Au final, c’est un exemple qui montre que la combinaison « une personne + un agent » est plus efficace qu’un grand nombre d’agents
Vue d’ensemble du projet
- L’objectif était de créer entièrement de zéro un navigateur basique capable de rendre du HTML et du CSS
- JavaScript n’est pas pris en charge
- Le développeur dit avoir commencé « pour le plaisir », puis a poursuivi en collaboration avec un agent LLM (Codex)
- Des contraintes avaient été fixées : terminer en 3 jours, interdiction des dépendances Rust externes, prise en charge des 3 grands OS, etc.
- Le navigateur dispose de son propre moteur de rendu et inclut une fonction de capture d’écran, le clic sur les liens et des tests de régression
Jour 1 – Implémentation initiale
- Le travail a commencé avec le rendu de « Hello World », puis l’ajout de la gestion des balises imbriquées et de la fonction de capture d’écran
- Les spécifications HTML/CSS ont été définies et une comparaison d’images a été introduite pour les tests E2E
- En une seule journée, le projet est arrivé à un stade où il pouvait récupérer et afficher des sites web via X11 et cURL
- La base de code atteignait environ 7 500 lignes, avec tous les fichiers maintenus sous les 1 000 lignes
Jour 2 – Extension des fonctionnalités
- Ajout du mode
--headless pour résoudre le problème des fenêtres qui s’ouvraient pendant les tests
- Améliorations sur le redimensionnement de la fenêtre, la compatibilité, les performances et le rendu des polices
- Le workflow consistait à partager des captures d’écran de sites web, puis à demander à Codex de les reproduire
- La majeure partie du code était écrite par l’agent, l’humain se chargeant de la revue et de l’approbation
Jours 3~4 – Finalisation et support multiplateforme
- Ajout de fonctions essentielles au navigateur comme le défilement, les logs de débogage et le bouton retour arrière
- Mise en place du support de macOS et Windows et validation des tests
- Intégration CI et build de release terminées, pour un temps de développement total d’environ 72 heures
Résultats et statistiques du code
- La base de code finale compte environ 20 150 lignes réparties dans 72 fichiers
- Parmi les principaux fichiers figurent les modules
layout, style, platform et browser
Cargo.lock est vide, ce qui signifie qu’il peut être exécuté de manière totalement autonome sans package Rust externe
- Les binaires générés par la CI et le code source peuvent être téléchargés directement sur GitHub
Principaux enseignements
- La combinaison « une personne + un agent » est plus efficace que l’utilisation de milliers d’agents
- Un seul agent peut travailler longtemps sur une même base de code et produire de réels progrès
- Il existe un potentiel d’extension vers un modèle où plusieurs personnes disposent chacune de leur propre agent
- Ralentir peut en réalité produire des résultats plus rapides et meilleurs
- Le rôle de l’humain qui pilote l’agent peut être plus important que la conception du système elle-même
- En conclusion, à la question « injecter plusieurs agents accélère-t-il le développement ? », cet exemple montre qu’une collaboration entre un seul humain et un seul agent peut être plus réaliste et plus efficace
Aucun commentaire pour le moment.