Maison > Article > Périphériques technologiques > Le programmeur d'IA open source est là : bénédiction GPT-4, capacité comparable à Devin, 1,4k étoiles par jour
Pour en savoir plus sur l'AIGC, veuillez visiter :
Communauté 51CTO AI.x
https://www.51cto.com/aigc/
Récemment, de nombreuses personnes remplacent leur propre travail d'IA et s'inquiètent.
Devin, le "premier programmeur IA" devenu populaire dans le cercle de l'IA le mois dernier, maîtrise les compétences full-stack en utilisant des capacités de grands modèles. Il peut effectuer automatiquement des tâches de code complexes en n'exigeant que le langage naturel. instructions des humains.
Les capacités des outils démontrées par Devin sont très étonnantes, en particulier pour cette startup qui emprunte la voie du code source fermé. Actuellement, seules quelques personnes peuvent utiliser ce quota bêta fermé.
Mardi, des chercheurs du groupe NLP de l'Université de Princeton ont publié SWE-agent, un programmeur d'IA open source, qui a reçu des milliers d'étoiles GitHub en moins d'une journée. Cet agent SWE est basé sur une technologie d'apprentissage profond et peut écrire automatiquement du code efficace et fiable. Sa sortie a attiré une large attention et de nombreux développeurs ont exprimé une grande reconnaissance pour sa technologie et ses performances. Ces réalisations prouvent également l'avancement de la recherche sur l'IA dans le domaine de la PNL
SWE-agent est un nouveau système permettant de résoudre de manière autonome les problèmes dans les référentiels GitHub. Il a atteint une précision similaire à celle de Devin sur le banc SWE, en prenant en moyenne 93 secondes.
Le John Yang, l'auteur du projet, a déclaré qu'une version pré-imprimée de l'article concerné serait également mise en ligne le 10 avril.
En principe, l'agent SWE peut corriger les bugs et les problèmes dans les véritables référentiels GitHub en transformant de grands modèles (tels que GPT-4) en agents d'ingénierie logicielle.
Sur l'ensemble complet de tests du banc SWE, l'agent SWE a résolu 12,29 % des problèmes, atteignant ainsi les performances SOTA.
Pour automatiser le processus de développement, l'agent SWE fonctionne en interagissant avec un terminal dédié, qui peut ouvrir, rechercher le contenu des fichiers, utiliser la vérification automatique de la syntaxe, modifier des lignes spécifiques et peut également écrire et exécuter des tests. .
Les développeurs de ce projet ont soigneusement conçu l'interface utilisateur et l'ont présentée sur GitHub.
L'équipe de recherche a conçu un format simple de commande et de retour d'informations centré sur les grands modèles (LM) pour permettre aux grands modèles de parcourir plus facilement le référentiel, d'afficher, de modifier et d'exécuter le fichier de code, c'est ce qu'on appelle l'interface agent-ordinateur (ACI). L’équipe de recherche a également construit un référentiel d’agents SWE pour itérer facilement sur les conceptions ACI d’agents codés au niveau du référentiel.
Tout comme les modèles de langage nécessitent une bonne ingénierie rapide, une bonne conception ACI conduira à de meilleurs résultats lors de l'utilisation d'agents. L'agent de base sans ACI bien réglé est bien moins performant que l'agent SWE.
SWE-agent contient des fonctionnalités que l'équipe de recherche a trouvées très utiles lors de la conception de l'interface agent-ordinateur, notamment :
1 Ajoutez un linter qui s'exécute lorsqu'une commande d'édition est émise, si la syntaxe du code. est incorrect, la commande d'édition ne sera pas autorisée à passer.
2. Fournissez une visionneuse de fichiers spécialement conçue pour l'agent. L'équipe de recherche a constaté que cette visionneuse de fichiers fonctionne mieux lorsqu'elle affiche seulement 100 lignes par tour et que l'éditeur de fichiers dispose de commandes permettant de faire défiler le fichier vers le haut et vers le bas et d'effectuer des recherches dans le fichier.
3. Fournissez des commandes de recherche de chaîne à l'échelle du répertoire spécialement conçues pour les agents. L'équipe de recherche a trouvé important que l'outil répertorie les correspondances de manière succincte : il suffit de répertorier tous les fichiers qui ont au moins une correspondance. L'étude a montré que montrer au modèle plus de contexte sur chaque correspondance serait trop déroutant pour le modèle.
4. Lorsque le résultat de la commande est vide, renvoyez un message : "Votre commande s'est exécutée avec succès, mais n'a produit aucune sortie."
Les futurs articles publiés détailleront plus d’informations.
Pour utiliser l'agent SWE, vous devez d'abord définir les conditions suivantes :
1 Installez Docker et démarrez Docker localement
2. fenvironment.yml crée l'environnement swe-agent
3. Utilisez conda activate swe-agent pour activer
4. 5. Créez un fichier keys.cfg dans le répertoire racine de ce référentiel et remplissez le contenu suivant :
OPENAI_API_KEY: 'OpenAI API Key Here if using OpenAI Model (optional)'ANTHROPIC_API_KEY: 'Anthropic API Key Here if using Anthropic Model (optional)'GITHUB_TOKEN: 'GitHub Token Here (required)'Le pipeline de l'agent SWE se compose de deux étapes :
Étape 1 : L'agent SWE reçoit le problème GitHub d'entrée et renvoie une pull request pour essayer de le résoudre
python run.py --model_name gpt4 \--data_path https://github.com/pvlib/pvlib-python/issues/1603 --config_file config/default_from_url.yaml
python run.py --model_name gpt4 \--per_instance_cost_limit 2.00 \--config_file ./config/default.yamlSi vous souhaitez poser une seule question dans SWE-bench, vous pouvez utiliser --instance_filter :
python run.py --model_name gpt4 \--instance_filter marshmallow-code__marshmallow-1359Pour en savoir plus sur AIGC, veuillez visiter : 51CTO AI .x communauté
https://www.51cto.com/aigc/
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!