Devika AI: Eine Open-Source Agenten-KI-Softwareingenieurin
Übersicht
Devika AI ist eine Open-Source, agentenbasierte KI-Softwareingenieurin. Sie wurde entwickelt, um komplexe menschliche Anweisungen zu verstehen, diese in umsetzbare Schritte zu zerlegen, Recherchen durchzuführen und Code zu schreiben, um vorgegebene Ziele zu erreichen. Devika zielt darauf ab, eine wettbewerbsfähige Open-Source-Alternative zu proprietären KI-Softwareingenieuren wie Devin von Cognition AI zu sein, mit dem ehrgeizigen Ziel, deren Leistung in Benchmarks wie SWE-bench zu erreichen und schließlich zu übertreffen.
Hauptzweck und Zielgruppe
- Hauptzweck: Die Softwareentwicklung zu revolutionieren, indem sie einen KI-Paarprogrammierer bereitstellt, der komplexe Codierungsaufgaben mit minimaler menschlicher Anleitung bewältigen kann, einschließlich der Erstellung neuer Funktionen, der Fehlerbehebung oder der Entwicklung kompletter Projekte.
- Zielgruppe: Entwickler, Softwareingenieure und Teams, die einen fortschrittlichen KI-Assistenten suchen, um ihre Codierungs-Workflows zu automatisieren und zu optimieren, insbesondere diejenigen, die an Open-Source-Lösungen interessiert sind und große Sprachmodelle für Softwareentwicklungsaufgaben nutzen möchten.
Funktionsdetails und Operationen
- Anweisungsverständnis: Interpretiert übergeordnete menschliche Anweisungen für Softwareentwicklungsaufgaben.
- Aufgabenzerlegung: Zerlegt komplexe Ziele in überschaubare, sequenzielle Schritte.
- Informationsrecherche: Nutzt Web-Browsing-Funktionen und kontextuelle Stichwortextraktion, um relevante Informationen zu sammeln.
- Code-Generierung: Schreibt Code in mehreren Programmiersprachen basierend auf Forschung und Aufgabenanforderungen.
- LLM-Unterstützung: Unterstützt verschiedene große Sprachmodelle, darunter Claude 3, GPT-4, Gemini, Mistral, Groq und lokale LLMs über Ollama. Claude 3-Modelle werden für optimale Leistung empfohlen.
- Dynamische Zustandsverfolgung: Visualisiert und verfolgt den Fortschritt und den aktuellen Zustand des Agenten.
- Chat-Schnittstelle: Ermöglicht natürliche Sprachinteraktion zur Bereitstellung von Anweisungen und zum Empfang von Updates.
- Projektmanagement: Organisiert und verwaltet Softwareentwicklungsaufgaben auf Projektbasis.
- Erweiterbare Architektur: Konzipiert für die einfache Integration neuer Funktionen und Funktionalitäten.
- Web-Schnittstelle: Zugänglich über einen Webbrowser für Benutzerinteraktion und Projektmanagement.
- Konfiguration: Ermöglicht Benutzern die Konfiguration von API-Schlüsseln für verschiedene Dienste (Bing, Google Search, OpenAI, Gemini, Claude, Mistral, Groq, Netlify) und API-Endpunkten (Bing, Google, Ollama, OpenAI).
Benutzervorteile
- Gesteigerte Effizienz: Automatisiert große Teile des Softwareentwicklungsprozesses und beschleunigt den Projektabschluss.
- Reduzierter manueller Aufwand: Minimiert den Bedarf an menschlichem Eingreifen bei Codierungs- und Forschungsaufgaben.
- Erhöhte Produktivität: Fungiert als KI-Paarprogrammierer, der es Entwicklern ermöglicht, sich auf übergeordnete Design- und Problemlösungsaufgaben zu konzentrieren.
- Zugang zu fortschrittlicher KI: Nutzt modernste LLMs und KI-Planungsfähigkeiten für anspruchsvolle Codegenerierung.
- Open-Source-Flexibilität: Bietet eine transparente und anpassbare Alternative zu proprietären Lösungen.
- Optimierter Workflow: Integriert Recherche, Planung und Codierung in einen einzigen, kohärenten Prozess.
Kompatibilität und Integration
- Betriebssystem: Benötigt Python >= 3.10 und < 3.12, NodeJs >= 18 und Bun.
- Browser-Integration: Verwendet Playwright für Browsing-Funktionen.
- API-Integrationen: Konfigurierbar mit API-Schlüsseln für verschiedene Suchmaschinen ({Bing, Google Search}) und LLM-Anbieter ({OpenAI, Gemini, Anthropic, Mistral, Groq}).
- Bereitstellung: Unterstützt den Netlify API-Key zur Bereitstellung und Verwaltung von Webprojekten.
- Lokale LLM-Unterstützung: Integriert sich mit Ollama zur Ausführung lokaler Sprachmodelle.
Kundenfeedback und Fallstudien
- Derzeit in einem frühen Entwicklungs-/Experimentierstadium mit vielen nicht implementierten/fehlerhaften Funktionen.
- Zielt darauf ab, eine wettbewerbsfähige {Open-Source}-Alternative zu {Devin} von {Cognition AI} zu sein, mit dem „überaus ehrgeizigen“ Ziel, deren {SWE-bench} Benchmarks-Punktzahl zu erreichen und schließlich zu übertreffen.
- Community-Beiträge sind willkommen, um die Entwicklung und Feature-Implementierung zu beschleunigen.
- Demos sind verfügbar (z. B.
devika-pygame-demo.mp4), die ihre Fähigkeiten demonstrieren.
Zugang und Aktivierungsmethode
- Quellcode: Verfügbar auf GitHub:
https://github.com/stitionai/devika. - Installation:
- Das GitHub-Repository klonen.
- In das Projektverzeichnis navigieren.
- Eine virtuelle Umgebung erstellen und Abhängigkeiten mit
uv venvunduv pip install -r requirements.txtinstallieren. - Playwright für Browser-Funktionen installieren:
playwright install --with-deps. - Den Devika-Server starten:
python devika.py. - Für das Frontend in das Verzeichnis
ui/navigieren,bun installausführen und anschließendbun run start.
- Zugriff: Auf die Devika-Web-Schnittstelle zugreifen, indem man im Webbrowser zu
http://127.0.0.1:3001navigiert. - Konfiguration: API-Schlüssel und Endpunkte werden über die Einstellungsseite in der UI konfiguriert, wodurch eine
config.toml-Datei im Stammverzeichnis erstellt wird.