Devika AI: Insinyur Perangkat Lunak AI Agentik Sumber Terbuka
Gambaran Umum
Devika AI adalah insinyur perangkat lunak AI agentik sumber terbuka. Ia dirancang untuk memahami instruksi manusia yang kompleks, memecahnya menjadi langkah-langkah yang dapat ditindaklanjuti, melakukan penelitian, dan menulis kode untuk mencapai tujuan yang ditentukan. Devika bertujuan untuk menjadi alternatif sumber terbuka yang kompetitif bagi insinyur perangkat lunak AI berpemilik seperti Devin oleh Cognition AI, dengan tujuan ambisius untuk menyamai dan pada akhirnya melampaui kinerjanya dalam tolok ukur seperti SWE-bench.
Tujuan Utama dan Kelompok Pengguna Target
- Tujuan Utama: Merevolusi pengembangan perangkat lunak dengan menyediakan pemrogram pasangan AI yang mampu menangani tugas pengkodean yang kompleks dengan panduan manusia minimal, termasuk membuat fitur baru, memperbaiki bug, atau mengembangkan seluruh proyek.
- Kelompok Pengguna Target: Pengembang, insinyur perangkat lunak, dan tim yang mencari asisten AI canggih untuk mengotomatiskan dan merampingkan alur kerja pengkodean mereka, terutama mereka yang tertarik pada solusi sumber terbuka dan memanfaatkan model bahasa besar untuk tugas rekayasa perangkat lunak.
Detail dan Operasi Fungsi
- Pemahaman Instruksi: Menginterpretasikan instruksi manusia tingkat tinggi untuk tugas pengembangan perangkat lunak.
- Dekomposisi Tugas: Memecah tujuan kompleks menjadi langkah-langkah yang dapat dikelola dan berurutan.
- Penelitian Informasi: Memanfaatkan kemampuan penjelajahan web dan ekstraksi kata kunci kontekstual untuk mengumpulkan informasi yang relevan.
- Pembuatan Kode: Menulis kode dalam berbagai bahasa pemrograman berdasarkan penelitian dan persyaratan tugas.
- Dukungan LLM: Mendukung berbagai model bahasa besar termasuk {Claude 3}, {GPT-4}, {Gemini}, {Mistral}, {Groq}, dan {LLM} lokal melalui Ollama. Model {Claude 3} direkomendasikan untuk kinerja optimal.
- Pelacakan Status Dinamis: Memvisualisasikan dan melacak kemajuan dan status agen saat ini.
- Antarmuka Obrolan: Memungkinkan interaksi bahasa alami untuk memberikan instruksi dan menerima pembaruan.
- Manajemen Proyek: Mengatur dan mengelola tugas pengembangan perangkat lunak berdasarkan proyek.
- Arsitektur yang Dapat Diperluas: Dirancang untuk integrasi fitur dan fungsionalitas baru dengan mudah.
- Antarmuka Web: Dapat diakses melalui peramban web untuk interaksi pengguna dan manajemen proyek.
- Konfigurasi: Memungkinkan pengguna untuk mengonfigurasi kunci API untuk berbagai layanan ({Bing}, {Google Search}, {OpenAI}, {Gemini}, {Claude}, {Mistral}, {Groq}, {Netlify}) dan titik akhir API ({Bing}, {Google}, {Ollama}, {OpenAI}).
Manfaat Pengguna
- Peningkatan Efisiensi: Mengotomatiskan sebagian besar proses pengembangan perangkat lunak, mempercepat penyelesaian proyek.
- Pengurangan Upaya Manual: Meminimalkan kebutuhan intervensi manusia dalam tugas pengkodean dan penelitian.
- Peningkatan Produktivitas: Bertindak sebagai pemrogram pasangan AI, memungkinkan pengembang untuk fokus pada desain tingkat tinggi dan pemecahan masalah.
- Akses ke AI Tingkat Lanjut: Memanfaatkan LLM canggih dan kemampuan perencanaan AI untuk pembuatan kode yang canggih.
- Fleksibilitas Sumber Terbuka: Menyediakan alternatif yang transparan dan dapat disesuaikan untuk solusi berpemilik.
- Alur Kerja yang Ramping: Mengintegrasikan penelitian, perencanaan, dan pengkodean ke dalam satu proses yang kohesif.
Kompatibilitas dan Integrasi
- Sistem Operasi: Membutuhkan {Python} >= 3.10 dan < 3.12, {NodeJs} >= 18, dan {Bun}.
- Integrasi Peramban: Menggunakan Playwright untuk kemampuan penjelajahan.
- Integrasi API: Dapat dikonfigurasi dengan kunci API untuk berbagai mesin pencari ({Bing}, {Google Search}) dan penyedia {LLM} ({OpenAI}, {Gemini}, {Anthropic}, {Mistral}, {Groq}).
- Penyebaran: Mendukung kunci API {Netlify} untuk menyebarkan dan mengelola proyek web.
- Dukungan LLM Lokal: Berintegrasi dengan Ollama untuk menjalankan model bahasa lokal.
Umpan Balik Pelanggan dan Studi Kasus
- Saat ini dalam tahap pengembangan/eksperimental awal dengan banyak fitur yang belum diimplementasikan/rusak.
- Bertujuan untuk menjadi alternatif sumber terbuka yang kompetitif bagi {Devin} oleh {Cognition AI}, dengan tujuan "yang terlalu ambisius" untuk memenuhi dan pada akhirnya mengalahkan skor {SWE-bench}nya.
- Kontribusi komunitas disambut untuk mempercepat pengembangan dan implementasi fitur.
- Demo tersedia (misalnya,
devika-pygame-demo.mp4) yang menunjukkan kemampuannya.
Metode Akses dan Aktivasi
- Kode Sumber: Tersedia di GitHub:
https://github.com/stitionai/devika. - Instalasi:
- Kloning repositori GitHub.
- Navigasikan ke direktori proyek.
- Buat lingkungan virtual dan instal dependensi menggunakan
uv venvdanuv pip install -r requirements.txt. - Instal {Playwright} untuk kemampuan peramban:
playwright install --with-deps. - Mulai server Devika:
python devika.py. - Untuk frontend, navigasikan ke direktori
ui/, jalankanbun install, lalubun run start.
- Akses: Akses antarmuka web Devika dengan menavigasi ke
http://127.0.0.1:3001di peramban web. - Konfigurasi: Kunci API dan titik akhir dikonfigurasi melalui halaman pengaturan di {UI}, yang membuat file
config.tomldi direktori root.