Devika AI:オープンソースのAIソフトウェアエンジニア
概要
Devika AIは、オープンソースのエージェント型AIソフトウェアエンジニアです。複雑な人間の指示を理解し、実行可能なステップに分解し、調査を行い、指定された目標を達成するためのコードを作成するように設計されています。Devikaは、Cognition AIのDevinのようなプロプライエタリなAIソフトウェアエンジニアの競争力のあるオープンソースの代替となることを目指しており、SWE-benchなどのベンチマークでその性能に匹敵し、最終的にはそれを上回るという野心的な目標を掲げています。
主な目的とターゲットユーザーグループ
- 主な目的: 新機能の作成、バグ修正、プロジェクト全体の開発など、最小限の人間によるガイダンスで複雑なコーディングタスクを処理できるAIペアプログラマを提供することで、ソフトウェア開発に革命をもたらすこと。
- ターゲットユーザーグループ: コーディングワークフローを自動化および合理化するための高度なAIアシスタントを求めている開発者、ソフトウェアエンジニア、チーム、特にオープンソースソリューションに関心があり、ソフトウェアエンジニアリングタスクに大規模言語モデルを活用したいと考えている人々。
機能の詳細と操作性
- 指示理解: ソフトウェア開発タスクに関する高レベルの人間からの指示を解釈します。
- タスク分解: 複雑な目標を管理可能で順次的なステップに分解します。
- 情報調査: Webブラウジング機能と文脈的キーワード抽出を利用して関連情報を収集します。
- コード生成: 調査とタスク要件に基づいて複数のプログラミング言語でコードを作成します。
- LLMサポート: Claude 3、GPT-4、Gemini、Mistral、Groq、OllamaによるローカルLLMなど、さまざまな大規模言語モデルに対応しています。最適なパフォーマンスを得るには、Claude 3モデルが推奨されます。
- 動的状態追跡: エージェントの進捗と現在の状態を視覚化して追跡します。
- チャットインターフェース: 指示の提供と更新の受信を自然言語で可能にします。
- プロジェクト管理: ソフトウェア開発タスクをプロジェクト単位で整理および管理します。
- 拡張可能なアーキテクチャ: 新機能の簡単な統合を目的として設計されています。
- Webインターフェース: ユーザーとの対話とプロジェクト管理のためにWebブラウザ経由でアクセス可能です。
- 設定: ユーザーはさまざまなサービス(Bing、Google Search、OpenAI、Gemini、Claude、Mistral、Groq、Netlify)のAPIキーとAPIエンドポイント(Bing、Google、Ollama、OpenAI)を設定できます。
ユーザーメリット
- 効率の向上: ソフトウェア開発プロセスのかなりの部分を自動化し、プロジェクトの完了を加速します。
- 手作業の削減: コーディングおよび調査タスクにおける人間の介入の必要性を最小限に抑えます。
- 生産性の向上: AIペアプログラマとして機能し、開発者がより高レベルの設計と問題解決に集中できるようにします。
- 高度なAIへのアクセス: 洗練されたコード生成のために、最先端のLLMとAI計画機能を活用します。
- オープンソースの柔軟性: プロプライエタリなソリューションに代わる、透明でカスタマイズ可能な代替手段を提供します。
- 合理化されたワークフロー: 調査、計画、コーディングを単一のまとまったプロセスに統合します。
互換性と統合
- オペレーティングシステム: Python >= 3.10 および < 3.12, NodeJs >= 18, および Bun が必要です。
- ブラウザ統合: ブラウジング機能にPlaywrightを使用しています。
- API統合: 様々な検索エンジン(Bing、Google Search)およびLLMプロバイダー(OpenAI、Gemini、Anthropic、Mistral、Groq)のAPIキーで設定可能です。
- デプロイ: Webプロジェクトのデプロイと管理のために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を実行します。
- アクセス: Webブラウザで
http://127.0.0.1:3001にアクセスしてDevikaのWebインターフェースにアクセスします。 - 設定: APIキーとエンドポイントは、UIの設定ページを通して設定され、ルートディレクトリに
config.tomlファイルが作成されます。