Devika AI: 오픈 소스 에이전트 AI 소프트웨어 엔지니어
개요
Devika AI는 오픈 소스 에이전트 AI 소프트웨어 엔지니어입니다. 복잡한 인간의 지시를 이해하고, 실행 가능한 단계로 분해하며, 연구를 수행하고, 지정된 목표를 달성하기 위해 코드를 작성하도록 설계되었습니다. Devika는 Cognition AI의 Devin과 같은 독점 AI 소프트웨어 엔지니어에 대한 경쟁력 있는 오픈 소스 대안이 되는 것을 목표로 하며, SWE-bench와 같은 벤치마크에서 성능을 맞추고 궁극적으로 능가하려는 야심찬 목표를 가지고 있습니다.
주요 목적 및 대상 사용자 그룹
- 주요 목적: 새로운 기능 생성, 버그 수정 또는 전체 프로젝트 개발을 포함하여 최소한의 인간 개입으로 복잡한 코딩 작업을 처리할 수 있는 AI 페어 프로그래머를 제공하여 소프트웨어 개발에 혁명을 일으키는 것입니다.
- 대상 사용자 그룹: 오픈 소스 솔루션 및 소프트웨어 엔지니어링 작업을 위한 대규모 언어 모델 활용에 특히 관심이 있는 개발자, 소프트웨어 엔지니어 및 팀이 코딩 워크플로우를 자동화하고 간소화하기 위한 고급 AI 비서를 찾고 있습니다.
기능 세부 정보 및 작동
- 지시 이해: 소프트웨어 개발 작업을 위한 고급 인간 지시를 해석합니다.
- 작업 분해: 복잡한 목표를 관리 가능하고 순차적인 단계로 분해합니다.
- 정보 연구: 관련 정보를 수집하기 위해 웹 브라우징 기능 및 상황별 키워드 추출을 활용합니다.
- 코드 생성: 연구 및 작업 요구 사항에 따라 여러 프로그래밍 언어로 코드를 작성합니다.
- LLM 지원: Claude 3, GPT-4, Gemini, Mistral, Groq 및 Ollama를 통한 로컬 LLM을 포함한 다양한 대규모 언어 모델을 지원합니다. 최적의 성능을 위해 Claude 3 모델을 권장합니다.
- 동적 상태 추적: 에이전트의 진행 상황과 현재 상태를 시각화하고 추적합니다.
- 채팅 인터페이스: 지시를 제공하고 업데이트를 받기 위한 자연어 상호 작용을 가능하게 합니다.
- 프로젝트 관리: 프로젝트별로 소프트웨어 개발 작업을 구성하고 관리합니다.
- 확장 가능한 아키텍처: 새로운 기능 및 기능을 쉽게 통합할 수 있도록 설계되었습니다.
- 웹 인터페이스: 사용자 상호 작용 및 프로젝트 관리를 위해 웹 브라우저를 통해 액세스할 수 있습니다.
- 환경 설정: 사용자가 다양한 서비스(Bing, Google Search, OpenAI, Gemini, Claude, Mistral, Groq, Netlify) 및 API 엔드포인트(Bing, Google, Ollama, OpenAI)에 대한 API 키를 구성할 수 있습니다.
사용자 이점
- 효율성 향상: 소프트웨어 개발 프로세스의 상당 부분을 자동화하여 프로젝트 완료 속도를 높입니다.
- 수작업 감소: 코딩 및 연구 작업에서 인간 개입의 필요성을 최소화합니다.
- 생산성 향상: AI 페어 프로그래머 역할을 하여 개발자가 더 높은 수준의 설계 및 문제 해결에 집중할 수 있도록 합니다.
- 고급 AI 접근: 정교한 코드 생성을 위해 최첨단 LLM 및 AI 계획 기능을 활용합니다.
- 오픈 소스 유연성: 독점 솔루션에 대한 투명하고 사용자 정의 가능한 대안을 제공합니다.
- 간소화된 워크플로우: 연구, 계획 및 코딩을 단일하고 응집력 있는 프로세스로 통합합니다.
호환성 및 통합
- 운영 체제: Python >= 3.10 및 < 3.12, NodeJs >= 18 및 Bun이 필요합니다.
- 브라우저 통합: 브라우징 기능을 위해 Playwright를 사용합니다.
- API 통합: 다양한 검색 엔진(Bing, Google Search) 및 LLM 제공업체(OpenAI, Gemini, Anthropic, Mistral, Groq)를 위한 API 키로 구성할 수 있습니다.
- 배포: 웹 프로젝트 배포 및 관리를 위한 Netlify API 키를 지원합니다.
- 로컬 LLM 지원: 로컬 언어 모델 실행을 위해 Ollama와 통합됩니다.
고객 피드백 및 사례 연구
- 현재 많은 구현되지 않았거나 손상된 기능이 있는 초기 개발/실험 단계에 있습니다.
- Cognition AI의 Devin에 대한 경쟁력 있는 오픈 소스 대안이 되는 것을 목표로 하며, SWE-bench 벤치마크 점수를 맞추고 궁극적으로 능가하려는 "지나치게 야심 찬" 목표를 가지고 있습니다.
- 개발 및 기능 구현을 가속화하기 위해 커뮤니티 기여를 환영합니다.
- 기능을 보여주는 데모(예:
devika-pygame-demo.mp4)를 사용할 수 있습니다.
접근 및 활성화 방법
- 소스 코드: GitHub에서 사용 가능:
https://github.com/stitionai/devika. - 설치:
- GitHub 레포지토리를 복제합니다.
- 프로젝트 디렉토리로 이동합니다.
- 가상 환경을 생성하고
uv venv및uv pip install -r requirements.txt를 사용하여 종속성을 설치합니다. - 브라우저 기능을 위해 Playwright를 설치합니다:
playwright install --with-deps. - Devika 서버를 시작합니다:
python devika.py. - 프론트엔드의 경우
ui/디렉토리로 이동하여bun install을 실행한 다음bun run start를 실행합니다.
- 접근: 웹 브라우저에서
http://127.0.0.1:3001로 이동하여 Devika 웹 인터페이스에 액세스합니다. - 환경 설정: API 키 및 엔드포인트는 UI의 설정 페이지를 통해 구성되며, 이는 루트 디렉토리에
config.toml파일을 생성합니다.