Présentation de l'automatisation
Andrei Karpathy a déclaré que les chercheurs d'OpenAI s'automatisent en améliorant leur IA. Actuellement, je développe Beagle SCM avec Fable d'Anthropic, un modèle capable de détecter des erreurs dans un grand volume de code, de créer des tickets et d'apporter des corrections. Cependant, hier, il a réussi à valider le répertoire de build dans un projet, deux fois. Il est brillant, mais maladroit.
Fonctionnement des LLM
En raison de la nature des LLM, ce problème ne disparaîtra pas à mesure qu'ils progressent. Ils ont tendance à être imprécis et non déterministes. Ragel, le générateur de parseur, peut générer un parseur formellement correct de 10 KLoC en un instant, de manière déterministe. En revanche, Claude essaie de parser manuellement, malgré les instructions qui disent de ne pas le faire. Je dois donc lui demander périodiquement de scanner la base de code pour trouver et supprimer les tentatives de parsing manuel.
Intégration dans un flux de travail déterministe
La façon de gérer une LLM coûteuse, lente et maladroite mais brillante est de lui donner des outils rapides, puissants et déterministes, et de construire l'ensemble dans un flux de travail déterministe formel. Il faut la rendre plus rapide, lui faire voir les informations pertinentes au bon moment, la rendre moins maladroite et l'autocorriger. Il faut placer cette non-déterminisme brillante mais inconsistante entre des outils déterministes puissants et des processus formels.
Automatisation et amélioration
Cette histoire devient encore plus intéressante si nous rendons les outils et les processus malléables. Si Claude effectue une séquence d'actions trop souvent, nous l'automatisons. Si elle échoue à quelque chose à plusieurs reprises, nous automatisons l'étape de vérification. En fin de compte, nous laissons la LLM s'automatiser, au profit d'outils déterministes simples et fiables. Beagle SCM permet aux LLM de scripter leurs propres routines en JavaScript, avec des outils et des processus qui peuvent être modifiés pour améliorer leur efficacité.
var beagle = require('beagle');
beagle.init();
En utilisant Beagle SCM, nous pouvons créer des outils et des processus qui aident les LLM à s'automatiser, tout en les rendant plus efficaces et plus fiables.