Devika AI: วิศวกรซอฟต์แวร์ AI แบบ Open-Source ที่ขับเคลื่อนด้วย Agent
ภาพรวม
Devika AI เป็นวิศวกรซอฟต์แวร์ AI แบบ open-source ที่ขับเคลื่อนด้วย agent ได้รับการออกแบบมาเพื่อทำความเข้าใจคำสั่งที่ซับซ้อนของมนุษย์ แบ่งคำสั่งเหล่านั้นออกเป็นขั้นตอนที่สามารถดำเนินการได้ ทำวิจัย และเขียนโค้ดเพื่อให้บรรลุวัตถุประสงค์ที่ระบุไว้ Devika มุ่งมั่นที่จะเป็นทางเลือกแบบ open-source ที่สามารถแข่งขันได้กับวิศวกรซอฟต์แวร์ AI ที่เป็นกรรมสิทธิ์ เช่น Devin โดย Cognition AI โดยมีเป้าหมายที่ทะเยอทะยานที่จะเทียบเท่าและก้าวข้ามประสิทธิภาพของคู่แข่งในการวัดผลมาตรฐาน เช่น SWE-bench
วัตถุประสงค์หลักและกลุ่มผู้ใช้เป้าหมาย
- วัตถุประสงค์หลัก: เพื่อปฏิวัติการพัฒนาซอฟต์แวร์โดยการจัดหา AI คู่หูในการเขียนโปรแกรมที่สามารถจัดการงานเขียนโค้ดที่ซับซ้อนได้โดยมีการชี้นำจากมนุษย์น้อยที่สุด รวมถึงการสร้างคุณสมบัติใหม่ การแก้ไขข้อผิดพลาด หรือการพัฒนาโปรเจกต์ทั้งหมด
- กลุ่มผู้ใช้เป้าหมาย: นักพัฒนา วิศวกรซอฟต์แวร์ และทีมที่กำลังมองหาผู้ช่วย AI ขั้นสูงเพื่อทำให้เวิร์กโฟลว์การเขียนโค้ดเป็นไปโดยอัตโนมัติและมีประสิทธิภาพ โดยเฉพาะอย่างยิ่งผู้ที่สนใจโซลูชันแบบ open-source และการใช้ประโยชน์จากแบบจำลองภาษาขนาดใหญ่ (large language models) สำหรับงานวิศวกรรมซอฟต์แวร์
รายละเอียดการทำงานและการปฏิบัติการ
- การทำความเข้าใจคำสั่ง: ตีความคำสั่งระดับสูงของมนุษย์สำหรับงานพัฒนาซอฟต์แวร์
- การแบ่งย่อยงาน: แบ่งวัตถุประสงค์ที่ซับซ้อนออกเป็นขั้นตอนที่จัดการได้และเป็นลำดับ
- การวิจัยข้อมูล: ใช้ความสามารถในการเรียกดูเว็บและการดึงคำหลักตามบริบทเพื่อรวบรวมข้อมูลที่เกี่ยวข้อง
- การสร้างโค้ด: เขียนโค้ดในภาษาโปรแกรมหลายภาษาตามการวิจัยและข้อกำหนดของงาน
- การสนับสนุน LLM: รองรับแบบจำลองภาษาขนาดใหญ่ที่หลากหลาย รวมถึง Claude 3, GPT-4, Gemini, Mistral, Groq และ LLM ในเครื่องผ่าน Ollama แนะนำให้ใช้โมเดล Claude 3 เพื่อประสิทธิภาพสูงสุด
- การติดตามสถานะแบบไดนามิก: แสดงภาพและติดตามความคืบหน้าและสถานะปัจจุบันของ agent
- อินเทอร์เฟซแชท: เปิดใช้งานการโต้ตอบด้วยภาษาธรรมชาติสำหรับการให้คำแนะนำและรับข้อมูลอัปเดต
- การจัดการโปรเจกต์: จัดระเบียบและจัดการงานพัฒนาซอฟต์แวร์แบบโปรเจกต์ต่อโปรเจกต์
- สถาปัตยกรรมที่ขยายได้: ออกแบบมาสำหรับการรวมคุณสมบัติและฟังก์ชันการทำงานใหม่ๆ ได้ง่าย
- เว็บอินเทอร์เฟซ: เข้าถึงได้ผ่านเว็บเบราว์เซอร์สำหรับการโต้ตอบกับผู้ใช้และการจัดการโปรเจกต์
- การกำหนดค่า: อนุญาตให้ผู้ใช้กำหนดค่า API keys สำหรับบริการต่างๆ (Bing, Google Search, OpenAI, Gemini, Claude, Mistral, Groq, Netlify) และ API endpoints (Bing, Google, Ollama, OpenAI)
ประโยชน์สำหรับผู้ใช้
- เพิ่มประสิทธิภาพ: ทำให้ส่วนสำคัญของกระบวนการพัฒนาซอฟต์แวร์เป็นไปโดยอัตโนมัติ ช่วยเร่งการดำเนินการโปรเจกต์
- ลดความพยายามด้วยตนเอง: ลดความจำเป็นในการแทรกแซงของมนุษย์ในงานเขียนโค้ดและงานวิจัย
- เพิ่มผลผลิต: ทำหน้าที่เป็น AI คู่หูในการเขียนโปรแกรม ช่วยให้นักพัฒนาสามารถมุ่งเน้นไปที่การออกแบบและการแก้ปัญหาระดับสูงขึ้นได้
- การเข้าถึง AI ขั้นสูง: ใช้ประโยชน์จาก LLM ที่ล้ำสมัยและความสามารถในการวางแผน AI สำหรับการสร้างโค้ดที่ซับซ้อน
- ความยืดหยุ่นแบบ Open-Source: เป็นทางเลือกที่โปร่งใสและปรับแต่งได้สำหรับโซลูชันที่เป็นกรรมสิทธิ์
- เวิร์กโฟลว์ที่คล่องตัว: ผสานรวมการวิจัย การวางแผน และการเขียนโค้ดเข้าเป็นกระบวนการเดียวที่สอดคล้องกัน
ความเข้ากันได้และการผสานรวม
- ระบบปฏิบัติการ: ต้องการ Python >= 3.10 และ < 3.12, NodeJs >= 18, และ Bun
- การผสานรวมกับเบราว์เซอร์: ใช้ Playwright สำหรับความสามารถในการเรียกดู
- การผสานรวม API: กำหนดค่าได้ด้วย API keys สำหรับเครื่องมือค้นหาต่างๆ (Bing, Google Search) และผู้ให้บริการ LLM (OpenAI, Gemini, Anthropic, Mistral, Groq)
- การปรับใช้: รองรับ Netlify API key สำหรับการปรับใช้และจัดการเว็บโปรเจกต์
- การสนับสนุน LLM ในเครื่อง: ผสานรวมกับ Ollama สำหรับการรันแบบจำลองภาษาในเครื่อง
ความคิดเห็นของลูกค้าและกรณีศึกษา
- ปัจจุบันอยู่ในช่วงการพัฒนา/ทดลองเบื้องต้น โดยมีคุณสมบัติหลายอย่างที่ยังไม่ได้ใช้งาน/ใช้งานไม่ได้
- มุ่งมั่นที่จะเป็นทางเลือกแบบ open-source ที่สามารถแข่งขันได้กับ Devin by Cognition AI โดยมีเป้าหมายที่ "ทะเยอทะยานเกินไป" ที่จะเทียบเท่าและในที่สุดก็เอาชนะคะแนน SWE-bench Benchmarks ของคู่แข่ง
- ยินดีรับการมีส่วนร่วมจากชุมชนเพื่อเร่งการพัฒนาและการใช้งานคุณสมบัติ
- มีตัวอย่างสาธิต (เช่น
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 - สำหรับส่วนหน้า (frontend) ให้นำทางไปยังไดเรกทอรี
ui/รันbun installจากนั้นbun run start
- การเข้าถึง: เข้าถึงเว็บอินเทอร์เฟซของ Devika โดยนำทางไปยัง
http://127.0.0.1:3001ในเว็บเบราว์เซอร์ - การกำหนดค่า: API keys และ endpoints จะถูกกำหนดค่าผ่านหน้าการตั้งค่าใน UI ซึ่งจะสร้างไฟล์
config.tomlในไดเรกทอรีหลัก