Devika IA : un ingénieur logiciel IA open-source basé sur un agent
Aperçu
Devika IA est un ingénieur logiciel IA open-source basé sur un agent. Il est conçu pour comprendre des instructions humaines complexes, les décomposer en étapes actionnables, mener des recherches et écrire du code pour atteindre des objectifs spécifiés. Devika vise à être une alternative open-source compétitive aux ingénieurs logiciels IA propriétaires comme Devin de Cognition AI, avec un objectif ambitieux d'égaler et éventuellement de dépasser ses performances dans les benchmarks comme SWE-bench.
Objectif principal et groupe d'utilisateurs cibles
- Objectif principal : Révolutionner le développement logiciel en fournissant un programmeur pair IA capable de gérer des tâches de codage complexes avec un minimum de conseils humains, y compris la création de nouvelles fonctionnalités, la correction de bugs ou le développement de projets entiers.
- Groupe d'utilisateurs cibles : Développeurs, ingénieurs logiciels et équipes recherchant un assistant IA avancé pour automatiser et rationaliser leurs flux de travail de codage, en particulier ceux intéressés par les solutions open-source et l'utilisation de grands modèles linguistiques pour les tâches d'ingénierie logicielle.
Détails et opérations des fonctions
- Compréhension des instructions : Interprète les instructions humaines de haut niveau pour les tâches de développement logiciel.
- Décomposition des tâches : Décompose les objectifs complexes en étapes gérables et séquentielles.
- Recherche d'informations : Utilise les capacités de navigation web et l'extraction de mots-clés contextuels pour recueillir des informations pertinentes.
- Génération de code : Écrit du code dans plusieurs langages de programmation en fonction des recherches et des exigences des tâches.
- Support LLM : Prend en charge divers grands modèles linguistiques, y compris {Claude 3}, {GPT-4}, {Gemini}, {Mistral}, {Groq} et les LLM locaux via {Ollama}. Les modèles {Claude 3} sont recommandés pour des performances optimales.
- Suivi dynamique de l'état : Visualise et suit la progression et l'état actuel de l'agent.
- Interface de chat : Permet une interaction en langage naturel pour fournir des instructions et recevoir des mises à jour.
- Gestion de projet : Organise et gère les tâches de développement logiciel projet par projet.
- Architecture extensible : Conçue pour une intégration facile de nouvelles fonctionnalités.
- Interface web : Accessible via un navigateur web pour l'interaction utilisateur et la gestion de projet.
- Configuration : Permet aux utilisateurs de configurer les clés API pour divers services ({Bing}, {Google Search}, {OpenAI}, {Gemini}, {Claude}, {Mistral}, {Groq}, {Netlify}) et les points d'accès API ({Bing}, {Google}, {Ollama}, {OpenAI}).
Avantages pour l'utilisateur
- Efficacité accrue : Automatise des portions importantes du processus de développement logiciel, accélérant l'achèvement des projets.
- Effort manuel réduit : Minimise le besoin d'intervention humaine dans les tâches de codage et de recherche.
- Productivité améliorée : Agit comme un programmeur pair IA, permettant aux développeurs de se concentrer sur la conception de haut niveau et la résolution de problèmes.
- Accès à l'IA avancée : Utilise les LLM et les capacités de planification IA de pointe pour une génération de code sophistiquée.
- Flexibilité open-source : Fournit une alternative transparente et personnalisable aux solutions propriétaires.
- Flux de travail rationalisé : Intègre la recherche, la planification et le codage dans un processus unique et cohérent.
Compatibilité et intégration
- Système d'exploitation : Nécessite {Python} >= 3.10 et < 3.12, {NodeJs} >= 18, et {Bun}.
- Intégration du navigateur : Utilise {Playwright} pour les capacités de navigation.
- Intégrations API : Configurable avec des clés API pour divers moteurs de recherche ({Bing}, {Google Search}) et fournisseurs LLM ({OpenAI}, {Gemini}, {Anthropic}, {Mistral}, {Groq}).
- Déploiement : Prend en charge la clé API {Netlify} pour le déploiement et la gestion des projets web.
- Support LLM local : S'intègre avec {Ollama} pour l'exécution de modèles linguistiques locaux.
Retours clients et études de cas
- Actuellement en phase de développement/expérimentation préliminaire avec de nombreuses fonctionnalités non implémentées/cassées.
- Vise à être une alternative open-source compétitive à {Devin} de {Cognition AI}, avec un objectif "excessivement ambitieux" d'atteindre et éventuellement de battre son score aux benchmarks {SWE-bench}.
- Les contributions de la communauté sont les bienvenues pour accélérer le développement et l'implémentation des fonctionnalités.
- Des démos sont disponibles (par exemple,
{devika-pygame-demo.mp4}) démontrant ses capacités.
Méthode d'accès et d'activation
- Code source : Disponible sur {GitHub} :
{https://github.com/stitionai/devika}. - Installation :
- Cloner le dépôt {GitHub}.
- Naviguer vers le répertoire du projet.
- Créer un environnement virtuel et installer les dépendances en utilisant
{uv venv}et{uv pip install -r requirements.txt}. - Installer {Playwright} pour les capacités du navigateur :
{playwright install --with-deps}. - Démarrer le serveur Devika :
{python devika.py}. - Pour le frontend, naviguer vers le répertoire
{ui/}, exécuter{bun install}, puis{bun run start}.
- Accès : Accéder à l'interface web de Devika en naviguant vers
{http://127.0.0.1:3001}dans un navigateur web. - Configuration : Les clés API et les points d'accès sont configurés via la page des paramètres dans l'interface utilisateur, ce qui crée un fichier
{config.toml}dans le répertoire racine.