0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ローカルAIコーディングアシスタント比較:OLI vs Kwaak vs Goose

Last updated at Posted at 2025-03-20

開発者の生産性を向上させるAIツールが急速に普及しています。その中でローカル環境で動作するAIコーディングアシスタントは、コード生成、バグ修正、プロジェクト管理などを効率化する強力なツールとなりそうです。本記事では、Anthropicが提供するClaude Codeに触発されて開発された3つの要注目のオープンソースプロジェクト「OLI」「Kwaak」「Goose」を比較分析します。

はじめに

プログラミングの世界では、AIアシスタントが開発者の強力な味方となっています。GitHub Copilotなどの商用ツールが人気を集める一方で、2025年2月にAnthropicからリリースされたClaude Codeは、ターミナル内で動作し自然言語でコーディング支援を行うエージェント型ツールとして大きな注目を集めています。この流れを受け、オープンソースコミュニティでも同様のコンセプトを持つAIコーディングアシスタントの開発が活発化しています。今回は3つのRustベースのオープンソースプロジェクトを紹介します。

OLI - Open Local Intelligent assistant

OLIは「Open Local Intelligent assistant」の略で、シンプルで高速なターミナルベースのAIコーディングアシスタントです。READMEにも明記されているように「Claude Codeのオープンソース代替」として開発され、Rustで構築されています。

主な特徴

  • 柔軟なTUIインターフェース: コードと効率的に連携するためのターミナルユーザーインターフェースを提供
  • 多様なLLMサポート: ローカルLLM(vLLMやllama_cpp経由)とクラウドAPI(Anthropic ClaudeやOpenAI GPT4oなど)をサポート
  • エージェント機能: ファイル検索、編集、コマンド実行などの完全なエージェント機能を提供
  • 軽量設計: シンプルかつ効率的な実装により高速な動作を実現

技術スタック

OLIはRustで構築されており、以下の主要なライブラリやツールを使用しています:

  • ratatui: TUIインターフェース構築用
  • llama_cpp: ローカルLLMとの連携(Metal高速化対応)
  • openai: OpenAI APIとの連携
  • crossterm: ターミナル操作用
  • tokio: 非同期処理用

セールスポイント

  • シンプルで高速な動作
  • ローカルLLMとクラウドAPIの両方に対応
  • macOS、Linux、Windowsのマルチプラットフォーム対応
  • GPUアクセラレーション(Metal)のサポート
  • Apache 2.0ライセンスで完全オープンソース

Kwaak - 並列AIエージェント

Kwaakは「Burn through tech debt with AI agents!」をモットーに、複数のAIエージェントを並列に実行できるターミナルベースのツールです。

主な特徴

  • 並列エージェント実行: 複数のエージェントを同時に実行し、異なるタスクを並行して処理
  • チャット形式のインターフェース: 直感的なコミュニケーションが可能なターミナルインターフェース
  • 安全な実行環境: Dockerを利用した安全なコード実行サンドボックス
  • 多様なLLMサポート: OpenAI、Ollama、Anthropic、Azure、OpenRouterなど多くのLLMに対応
  • 多言語対応: Python、TypeScript/Javascript、Go、Java、Ruby、Solidity、C、C++、Rustなど

技術スタック

Kwaakは以下のテクノロジーを活用しています:

  • swiftide: 基盤となるAIエージェントフレームワーク
  • ratatui: TUIインターフェース構築用
  • duckdb: データベース処理用
  • redb: インデックスキャッシング用
  • Docker: 安全なコード実行環境
  • 様々なLLMプロバイダーAPI: OpenAI、Anthropic、Azureなど

セールスポイント

  • 複数のAIエージェントを並列実行する独自機能
  • プロジェクトのコードベースを理解し、質問への回答や例の検索が可能
  • コードの変更管理やプルリクエスト作成の自動化
  • Dockerによる安全なコード実行環境
  • MITライセンスのオープンソース

Goose - 拡張可能なローカルAIエージェント

Gooseは「a local, extensible, open source AI agent that automates engineering tasks」をコンセプトに、エンジニアリングタスクを自動化するAIエージェントです。

主な特徴

  • ローカル実行: マシン上で動作する自律型AIエージェント
  • タスク自動化: 複雑な開発タスクを最初から最後まで自動化
  • 拡張可能な設計: あらゆるLLMと連携可能な柔軟なアーキテクチャ
  • MCP対応: Model Context Protocol対応APIとのシームレスな統合
  • 多機能: コード生成だけでなく、プロジェクト構築、デバッグ、ワークフロー管理など

技術スタック

Gooseの技術スタックには以下が含まれます:

  • MCP-client/MCP-core: Model Context Protocolの実装
  • Rust ecosystem: 高性能かつ安全なコード実行
  • Tokio: 非同期処理
  • 様々なクラウドプロバイダAPI: AWS Bedrock、GCP Vertex AIなど
  • 多様な認証システム: OAuth、JWTなど

セールスポイント

  • コード提案を超えた完全な自律型エージェント
  • あらゆるLLMとの連携可能性
  • 拡張可能なアーキテクチャ
  • ワークフローの自動化と外部APIとの連携
  • Apache 2.0ライセンスのオープンソース

3つのプロジェクトの比較

これら3つのプロジェクトはそれぞれ異なるアプローチと強みを持っています。ここでは主要な観点から比較を行います。

公式説明から見る設計方針

プロジェクト 設計方針 主な用途
OLI シンプルさと高速性を重視 コード生成、編集、問い合わせの支援
Kwaak 並列処理と自律性を重視 技術負債の解消、複数タスクの並列処理
Goose 拡張性と多機能性を重視 複雑な開発タスクの自動化

技術比較

機能 OLI Kwaak Goose
ローカルLLM対応
クラウドLLM対応
MCP対応 × ×
コード変更管理

基盤技術

  • OLI: 直接的なAPIインテグレーション(OpenAI API、llama_cpp)を採用し、Rustベースの軽量なアーキテクチャを特徴としています。

  • Kwaak: SwiftideというRustライブラリをベースに構築されています。Swiftideは「高速なデータの取り込み、変換、インデックス作成を可能にするフレームワーク」であり、RAG(検索拡張生成)機能を提供しています。

  • Goose: Model Context Protocol (MCP)に基づいて設計されています。

技術的な特徴

  • OLI: シンプルで軽量な設計を採用し、高速な動作を重視。基本的なエージェント機能を提供しながらも、使いやすさを最優先している。OpenAI APIとllama_cppインターフェースに直接対応しているが、MCP連携はサポートしていない。

  • Kwaak: 複数エージェントの並列実行と自律的なコード理解に焦点。Swiftideフレームワークを基盤としており、Swiftideはデータのインデックス作成、クエリ、エージェント機能を備えたRustライブラリ。MCPには現時点で対応していない。

  • Goose: Model Context Protocol (MCP)を中心に設計されている。リポジトリ内にmcp-coremcp-clientという専用モジュールが存在し、MCPを活用した拡張性の高いアーキテクチャを採用している。

MCPについては下記もご覧ください

想定ユースケース

各プロジェクトが想定しているユースケースは以下の通りです:

  • OLI: 公式リポジトリで「シンプルかつ高速なコーディングアシスタント」として紹介されており、特にローカルLLMと組み合わせた使用が例示されています。
  • Kwaak: 「複数のAIエージェントを並列に実行し、技術的負債を解消する」ツールとして位置づけられています。
  • Goose: 「複雑な開発タスクを自動化」し、「任意のLLMとMCP対応APIとのシームレスな統合」を実現するツールです。

まとめ

本記事では、Claude Codeの登場に触発されて開発された3つのRustベースのAIコーディングアシスタントを比較しました:

  • OLI: シンプルさと高速性を重視したClaude Codeのオープンソース代替
  • Kwaak: Swiftideフレームワークを基盤とした並列AIエージェントの実行環境
  • Goose: MCPを中心に設計された拡張性の高いAIエージェント

これらのツールはいずれもRustで構築されており、高いパフォーマンスと安全性を提供しています。それぞれに特徴があり、必要に応じて選んでみてください

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?