- À travers l’expérience de développement de Sketch, un assistant de programmation IA, l’auteur met en avant la simplicité de mise en œuvre d’une structure de boucle combinant LLM et usage d’outils
- Avec seulement 9 lignes de code de boucle, des LLM récents comme Claude 3.7 Sonnet résolvent rapidement des problèmes concrets
- Avec un seul outil généraliste comme bash, il devient possible d’automatiser une grande partie des tâches répétitives et délicates des développeurs
- Au-delà de la résolution de problèmes, le fait de connecter des outils supplémentaires permet d’améliorer la qualité et la vitesse d’itération pour l’édition de texte ou des tâches spécialisées
- La tendance va vers l’adoption croissante de boucles d’agent LLM personnalisées pour automatiser le quotidien des développeurs
Introduction : expérience de développement et projet Sketch
- Philip Zellweger et ses collègues ont été surpris par la grande efficacité d’une simple structure de boucle d’agent combinant LLM et utilisation d’outils lors du développement de Sketch, un outil d’assistance à la programmation basé sur l’IA
- La structure centrale tient en seulement 9 lignes de code de boucle, qui transmettent à l’API du LLM le prompt système, l’historique de conversation et le message le plus récent
- Le LLM génère une sortie et, si nécessaire, renvoie des
tool_calls (demandes d’appel d’outils)
Intégration des LLM et de l’usage d’outils
- L’« usage d’outils » (
tool use) désigne le fait qu’un LLM renvoie une sortie conforme à un schéma prédéfini ; grâce au prompt système et au prompt de description des outils, le LLM peut accéder à un outil généraliste comme bash
- Les LLM récents, comme Claude 3.7 Sonnet, automatisent rapidement des problèmes variés avec un seul outil généraliste, et certains peuvent même être résolus en une seule exécution (« one shot »)
- Auparavant, il fallait chercher des commandes
git complexes, les copier-coller, puis effectuer manuellement les opérations de fusion ; désormais, il suffit de le demander à Sketch pour que ce soit réglé directement
- Même les nombreuses erreurs de vérification de types apparues après un changement de type ont, pour la première fois, été traitées automatiquement par Sketch
- La boucle d’agent fonctionne de manière continue et adaptative, en installant automatiquement les outils manquants et en s’ajustant aux différences d’options de commande
- Il arrive que le LLM fasse des propositions inattendues, comme « ignorer les tests » lorsqu’un test échoue, mais dans l’ensemble, la qualité de l’automatisation du travail s’améliore
Diversification et spécialisation des outils
- Sketch a constaté qu’en utilisant des outils supplémentaires en plus de
bash (par exemple des outils d’édition de texte), la qualité du travail augmente et le workflow de développement devient encore plus efficace
- Modifier précisément du texte avec
sed ou des outils similaires est plus difficile qu’on pourrait le penser pour un LLM, et les outils de type éditeur visuel se révèlent supérieurs dans ce domaine
Perspectives et évolution des workflows
- La structure de boucle d’agent devrait être de plus en plus utilisée pour les tâches répétitives du quotidien des développeurs, jusque-là difficiles à traiter avec les outils d’automatisation généralistes existants
- Par exemple, pour des tâches fastidieuses et répétitives comme l’analyse de la corrélation entre une stack trace et des commits git, un LLM peut effectuer très rapidement un premier traitement
- À l’avenir, on peut s’attendre à voir davantage de boucles d’agent LLM sur mesure et à usage ponctuel utilisées dans le répertoire
bin/ des développeurs ou dans des environnements similaires
- Les utilisateurs peuvent facilement expérimenter dans leur propre environnement à condition de disposer du bearer token souhaité
Liens de référence
1 commentaires
Commentaire Hacker News
?utm_source=hn&utm_medium=browser// omitted for brevity, donc inutilisable. J’ai abandonné à ce moment-là. Je me demande si les agents résolvent ce problème. Pour l’instant, j’ai surtout l’impression que l’expérience est complètement cassée, et dans cet état, leur donner l’accès à bash me semble beaucoup trop risqué