Devika AI: Un ingegnere del software di intelligenza artificiale agentica open-source
Panoramica
Devika AI è un ingegnere del software di intelligenza artificiale agentica open-source. È progettata per comprendere istruzioni umane complesse, scomporle in passaggi attuabili, condurre ricerche e scrivere codice per raggiungere gli obiettivi specificati. Devika mira a essere un'alternativa open-source competitiva agli ingegneri del software di IA proprietari come Devin di Cognition AI, con l'ambizioso obiettivo di eguagliare ed eventualmente superare le sue prestazioni in benchmark come SWE-bench.
Scopo principale e gruppo di utenti target
- Scopo principale: Rivoluzionare lo sviluppo del software fornendo un programmatore di coppia AI in grado di gestire compiti di codifica complessi con una guida umana minima, inclusa la creazione di nuove funzionalità, la correzione di bug o lo sviluppo di interi progetti.
- Gruppo di utenti target: Sviluppatori, ingegneri del software e team che cercano un assistente AI avanzato per automatizzare e semplificare i loro flussi di lavoro di codifica, in particolare quelli interessati a soluzioni open-source e all'utilizzo di modelli linguistici di grandi dimensioni per compiti di ingegneria del software.
Dettagli e operazioni della funzione
- Comprensione delle istruzioni: Interpreta istruzioni umane di alto livello per compiti di sviluppo software.
- Decomposizione del compito: Scompone obiettivi complessi in passaggi gestibili e sequenziali.
- Ricerca di informazioni: Utilizza capacità di navigazione web ed estrazione di {keyword} contestuali per raccogliere informazioni pertinenti.
- Generazione di codice: Scrive codice in più linguaggi di programmazione basati su ricerche e requisiti del compito.
- Supporto LLM: Supporta vari modelli linguistici di grandi dimensioni tra cui Claude 3, GPT-4, Gemini, Mistral, Groq e LLM locali tramite Ollama. I modelli Claude 3 sono consigliati per prestazioni ottimali.
- Tracciamento dinamico dello stato: Visualizza e traccia i progressi e lo stato attuale dell'agente.
- Interfaccia di chat: Consente l'interazione in linguaggio naturale per fornire istruzioni e ricevere aggiornamenti.
- Gestione progetti: Organizza e gestisce attività di sviluppo software progetto per progetto.
- Architettura estensibile: Progettata per una facile integrazione di nuove funzionalità.
- Interfaccia web: Accessibile tramite un browser web per l'interazione utente e la gestione dei progetti.
- Configurazione: Consente agli utenti di configurare le chiavi API per vari servizi (Bing, Google Search, OpenAI, Gemini, Claude, Mistral, Groq, Netlify) e gli endpoint API (Bing, Google, Ollama, OpenAI).
Vantaggi per l'utente
- Maggiore efficienza: Automatizza porzioni significative del processo di sviluppo software, accelerando il completamento del progetto.
- Sforzo manuale ridotto: Minimizza la necessità di intervento umano nei compiti di codifica e ricerca.
- Produttività migliorata: Agisce come un programmatore di coppia AI, consentendo agli sviluppatori di concentrarsi su progettazione e risoluzione dei problemi di livello superiore.
- Accesso all'AI avanzata: Sfrutta LLM all'avanguardia e capacità di pianificazione AI per una sofisticata generazione di codice.
- Flessibilità open-source: Fornisce un'alternativa trasparente e personalizzabile alle soluzioni proprietarie.
- Flusso di lavoro semplificato: Integra ricerca, pianificazione e codifica in un unico processo coeso.
Compatibilità e integrazione
- Sistema operativo: Richiede Python >= 3.10 e < 3.12, NodeJs >= 18 e Bun.
- Integrazione browser: Utilizza Playwright per le capacità di navigazione.
- Integrazioni API: Configurabile con chiavi API per vari motori di ricerca ({Bing}, {Google Search}) e fornitori LLM (OpenAI, Gemini, Anthropic, Mistral, Groq).
- Distribuzione: Supporta la chiave API {Netlify} per la distribuzione e la gestione di progetti web.
- Supporto LLM locale: Si integra con Ollama per l'esecuzione di modelli linguistici locali.
Feedback dei clienti e casi di studio
- Attualmente in fase di sviluppo/sperimentazione iniziale con molte funzionalità non implementate/difettose.
- Mira a essere un'alternativa open-source competitiva a Devin di Cognition AI, con un obiettivo "eccessivamente ambizioso" di eguagliare ed eventualmente superare il suo punteggio nei Benchmark SWE-bench.
- I contributi della comunità sono benvenuti per accelerare lo sviluppo e l'implementazione delle funzionalità.
- Sono disponibili demo (ad es.
devika-pygame-demo.mp4) che ne mostrano le capacità.
Metodo di accesso e attivazione
- Codice sorgente: Disponibile su GitHub:
https://github.com/stitionai/devika. - Installazione:
- Clonare il repository GitHub.
- Navigare nella directory del progetto.
- Creare un ambiente virtuale e installare le dipendenze usando {uv venv} e {uv pip install -r requirements.txt}.
- Installare Playwright per le capacità del browser: {playwright install --with-deps}.
- Avviare il server Devika: {python devika.py}.
- Per il frontend, navigare nella directory
ui/, eseguire {bun install} e quindi {bun run start}.
- Accesso: Accedere all'interfaccia web di Devika navigando su
http://127.0.0.1:3001in un browser web. - Configurazione: Le chiavi API e gli endpoint sono configurati tramite la pagina delle impostazioni nell'interfaccia utente, che crea un file
config.tomlnella directory radice.