activeagents/activeagent

ActiveAgent Rails framework for Agent Apps

何を解決するか

Active Agent は、Ruby on Rails アプリケーションに AI を統合するための構造化されたフレームワークを提供します。LLM の無秩序な統合を置き換え、"エージェント指向プログラミング" を採用し、エージェントをモジュール化・再利用可能なコンポーネント(Rails のコントローラーと同様)として扱うことで、AI駆動アプリケーションのコードの保守性とスケーラビリティを向上させます。

動作方法

このフレームワークでは、開発者がベースエージェントクラスを継承する Ruby クラスとしてエージェントを定義できます。これらのエージェントは、設定ファイルを通じてさまざまな LLM プロバイダー(OpenAI、Anthropic、Ollama など)を使用できるように構成できます。開発者は、これらのエージェントクラス内のメソッドとして「アクション」を定義し、特定の AI タスクをカプセル化します。システムは ERB を使用したプロンプトテンプレート、ActionCable を通じたストリーミングレスポンス、構造化された JSON 出力をサポートしています。

対象ユーザー

AI ロジックに構造化されたアーキテクチャ層を適用したい、既存のオブジェクト指向 Ruby パターンに馴染みのある Ruby on Rails 開発者。

特徴

  • エージェント指向プログラミング:馴染みのあるパターンを使って AI ロジックを Rails フレームワークに統合。
  • 複数プロバイダー対応:OpenAI、Anthropic、Ollama、RubyLLM と互換性あり。
  • マルチモーダル機能:画像、PDF、テキストからのデータ抽出をサポート。
  • エージェントの委任:主エージェントが、定義された契約と予算(コスト/レイテンシ)を持つサブエージェントにタスクを委任可能。
  • ツール/関数呼び出し:エージェントがツールを通じて外部サービスとやり取りできる。
  • 観測性ダッシュボード:オプションの補助 gem(actionagent)により、トレース、トークン使用量、エージェントごとのメトリクスを提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト