Devika AI: Uma Engenheira de Software com IA Agente de Código Aberto
Visão Geral
Devika AI é uma engenheira de software com IA agente, de código aberto. Ela foi projetada para entender instruções humanas complexas, dividi-las em etapas acionáveis, conduzir pesquisas e escrever código para atingir objetivos especificados. Devika aspira ser uma alternativa competitiva de código aberto a engenheiros de software de IA proprietários, como Devin da Cognition AI, com o objetivo ambicioso de igualar e, eventualmente, superar seu desempenho em benchmarks como SWE-bench.
Propósito Principal e Grupo de Usuários Alvo
- Propósito Principal: Revolucionar o desenvolvimento de software, fornecendo um programador de IA que possa lidar com tarefas de codificação complexas com mínima orientação humana, incluindo a criação de novos recursos, correção de bugs ou desenvolvimento de projetos inteiros.
- Grupo de Usuários Alvo: Desenvolvedores, engenheiros de software e equipes que buscam um assistente de IA avançado para automatizar e otimizar seus fluxos de trabalho de codificação, especialmente aqueles interessados em soluções de código aberto e no aproveitamento de {large language models} para tarefas de engenharia de software.
Detalhes e Operações de Função
- Compreensão de Comandos: Interpreta comandos humanos de alto nível para tarefas de desenvolvimento de software.
- Decomposição de Tarefas: Divide objetivos complexos em etapas gerenciáveis e sequenciais.
- Pesquisa de Informações: Utiliza recursos de navegação na web e extração de {keyword} contextual para coletar informações relevantes.
- Geração de Código: Escreve código em várias linguagens de programação com base em pesquisa e requisitos da tarefa.
- Suporte a LLM: Suporta vários {large language models}, incluindo Claude 3, GPT-4, Gemini, Mistral, Groq e LLMs locais via Ollama. Os modelos Claude 3 são recomendados para um desempenho ótimo.
- Rastreamento Dinâmico de Estado: Visualiza e rastreia o progresso e o estado atual do agente.
- Interface de Chat: Permite interação em linguagem natural para fornecer instruções e receber atualizações.
- Gerenciamento de Projetos: Organiza e gerencia tarefas de desenvolvimento de software por projeto.
- Arquitetura Extensível: Projetada para fácil integração de novos recursos e funcionalidades.
- Interface Web: Acessível via navegador da web para interação do usuário e gerenciamento de projetos.
- Configuração: Permite aos usuários configurar chaves de API para vários serviços (Bing, Google Search, OpenAI, Gemini, Claude, Mistral, Groq, Netlify) e pontos de extremidade de API (Bing, Google, Ollama, OpenAI).
Benefícios para o Usuário
- Aumento da Eficiência: Automatiza partes significativas do processo de desenvolvimento de software, acelerando a conclusão do projeto.
- Redução do Esforço Manual: Minimiza a necessidade de intervenção humana em tarefas de codificação e pesquisa.
- Produtividade Aprimorada: Atua como um programador de IA, permitindo que os desenvolvedores se concentrem em design de nível superior e resolução de problemas.
- Acesso a IA Avançada: Aproveita LLMs de última geração e recursos de planejamento de IA para geração de código sofisticada.
- Flexibilidade de Código Aberto: Fornece uma alternativa transparente e personalizável às soluções proprietárias.
- Fluxo de Trabalho Otimizado: Integra pesquisa, planejamento e codificação em um processo único e coeso.
Compatibilidade e Integração
- Sistema Operacional: Requer Python >= 3.10 e < 3.12, NodeJs >= 18 e Bun.
- Integração com Navegador: Usa Playwright para recursos de navegação.
- Integrações de API: Configurável com chaves de API para vários mecanismos de busca (Bing, Google Search) e provedores de LLM ({OpenAI}, Gemini, Anthropic, Mistral, Groq).
- Implantação: Suporta chave de API Netlify para implantação e gerenciamento de projetos web.
- Suporte a LLM Local: Integra-se com Ollama para execução de {large language models} locais.
Feedback do Cliente e Estudos de Caso
- Atualmente em estágio inicial de desenvolvimento/experimental com muitos recursos não implementados/quebrados.
- Visa ser uma alternativa competitiva de código aberto para Devin da Cognition AI, com o objetivo "excessivamente ambicioso" de igualar e eventualmente superar sua pontuação nos {SWE-bench Benchmarks}.
- Contribuições da comunidade são bem-vindas para acelerar o desenvolvimento e a implementação de recursos.
- Demonstrações estão disponíveis (por exemplo,
devika-pygame-demo.mp4) mostrando suas capacidades.
Acesso e Método de Ativação
- Código Fonte: Disponível no GitHub:
https://github.com/stitionai/devika. - Instalação:
- Clone o repositório do GitHub.
- Navegue até o diretório do projeto.
- Crie um ambiente virtual e instale as dependências usando
uv venveuv pip install -r requirements.txt. - Instale Playwright para recursos de navegador:
playwright install --with-deps. - Inicie o servidor Devika:
python devika.py. - Para o frontend, navegue até o diretório
ui/, executebun installe depoisbun run start.
- Acesso: Acesse a interface web do Devika navegando para
http://127.0.0.1:3001em um navegador da web. - Configuração: As chaves e pontos de extremidade da API são configurados através da página de configurações na IU, que cria um arquivo
config.tomlno diretório raiz.