見出し画像

AI マルチエージェントフレームワーク Kagura AI の紹介

はじめに

日本発のオープンソースとして、新しいAIフレームワークを開発してみました。日本の伝統芸能「神楽(かぐら)」にちなんで名付けた「Kagura AI」は、調和、つながり、そして敬意という日本の精神性を大切にしながら、最新のAI技術との融合を目指しています。

生成AIやLLM(大規模言語モデル)が注目を集める中、これらの技術を実際のアプリケーションやシステムに組み込む際の課題が見えてきているように感じています。個人的には、LLMは言語OSとも呼べる基盤技術だと考えていますが、単体での価値は限定的で、より具体的な形での社会実装が求められているのではないでしょうか。

そんな中で、AIマルチエージェントの構築とオーケストレーションに特化した軽量なオープンソースフレームワーク「Kagura AI」の開発に取り組んでみました。

和製フレームワークとしての特徴

神楽が音楽、舞、儀式を一つの演目として融合させるように、Kagura AIは多様な技術を統合的なワークフローへと結びつけることを目指しています。また、日本のものづくりの特徴でもある「シンプルさ」と「確かな品質」を重視し、YAMLベースの簡潔な設定と堅牢な型システムを採用してみました。

Kagura AIを開発した背景

最近、「AI Agents」という概念に注目が集まっているように思います。これは、特定のタスクや目的に特化したAIアシスタントを指すものですが、エンジニアの視点からみると、こうしたAgentの構築や管理には以下のような課題があるのではないでしょうか:

  1. 高い自由度がある反面、実装が煩雑になりがち

  2. 複数のAgentを連携させる際の状態管理が複雑になりやすい

  3. エラーハンドリングやデバッグが困難な場面が多い

これらの課題を少しでも解決できないかと考え、より手軽にAIエージェントを構築・管理できるフレームワークとしてKagura AIを開発してみることにしました。

Kagura AIの特徴

1. YAMLベースの設定

設定ファイルにYAMLを採用することで、人間にとって読みやすく、メンテナンスしやすい形式でエージェントを定義できるのではないかと考えています。

# エージェントの基本設定例
type: atomic
description:
  - language: en
    text: This agent analyzes customer feedback.
  - language: ja
    text: このエージェントは顧客フィードバックを分析します。

2. 3種類のエージェントタイプ

  • Atomic Agent: 単一のタスクに特化したLLM駆動のエージェント

  • Tool Agent: データ処理やAPI連携に特化したエージェント

  • Workflow Agent: 複数のエージェントを組み合わせた複雑なワークフローの管理

それぞれのエージェントタイプには、異なる特徴や利点があると考えています。

3. 型安全な状態管理

エージェント間のデータの受け渡しには、Pydanticを活用した型システムを採用しています。これにより、以下のような利点が得られるのではないかと考えています:

  • 開発時のエラー検出と防止

  • エージェント間の明確なインターフェース定義

  • 状態の一貫性の維持

  • データ変換や検証の自動化

YAMLで定義した状態モデルから自動的に型安全なPythonクラスが生成され、開発者はビジネスロジックに集中できる環境を目指しています。

4. 様々なLLMとの連携

OpenAI、Anthropic、Ollama、Googleなど、様々なLLMプロバイダーと連携できる可能性を検討しています。

使用例

以下は、簡単な感情分析エージェントの作成例です:

from kagura.core.agent import Agent

async def analyze_sentiment():
    agent = Agent.assigner("sentiment_analyzer")
    result = await agent.execute({
        "text": "この製品は使いやすくて気に入っています!"
    })
    print(result.sentiment)

今後の展望

Kagura AIは現在も開発を続けており、以下のような機能の追加を検討しています:

  • GitHubレポジトリーとの連動(エージェント構築、管理)

  • Agentの生成機能

  • MCPとの連動

  • AgentのAPI化

  • エージェントのパフォーマンスモニタリング

  • コミュニティの皆様との協力によるエージェントテンプレートの充実
    など

まとめ

Kagura AIを通じて、AIエージェントの実装における複雑さを少しでも軽減できればと考えています。日本発のオープンソースとして、シンプルさと確かな品質、そして調和のとれた設計を目指していますが、まだまだ改善の余地はたくさんあると感じています。世界に向けて、日本らしい丁寧なものづくりの精神を込めたフレームワークとして育てていければと思います。

参考リンク

もし興味を持っていただけましたら、ぜひKagura AIを試してみていただければと思います。フィードバックやコントリビューションもお待ちしています!

#KaguraAI #オープンソース #AI開発 #和製フレームワーク

いいなと思ったら応援しよう!