activeagents/activeagent

ActiveAgent Rails framework for Agent Apps

Active Agent – Ruby on Rails の AI ファーストフレームワーク

概要 – Rails の上に エージェント指向 レイヤーを追加する Ruby gem です。エージェントはコントローラーのように扱われ、すでに知っている Ruby/Rails の規約を使用して、モジュール式で再利用可能な AI 駆動コンポーネントを記述できます。

重要性 – 従来の Web 開発と生成 AI の間のギャップを埋めます。プロンプト、ツール呼び出し、コンテキスト処理を第一級の Rails オブジェクトに変換することで、開発者は Rails エコシステムから離れることなく、LLM 駆動の機能(チャット、抽出、翻訳など)を埋め込むことができます。


クイックスタート(README より)

  1. gem を追加
    bundle add activeagent   # コアフレームワーク
    # 1 つ以上の LLM プロバイダーを選択
    bundle add openai        # または anthropic, ollama, deepseek, ruby_llm …
    
  2. インストーラーを実行 – 設定ファイルとベースエージェントクラスを生成します:
    rails generate active_agent:install
    
  3. エージェントを定義
    class ApplicationAgent < ActiveAgent::Base
      generate_with :openai, model: "gpt-4o-mini"
    end
    
    response = ApplicationAgent.prompt(message: "Hello, world!").generate_now
    puts response.message   # => "Hello! How can I help you today?"
    
  4. カスタムエージェントを作成
    rails generate active_agent:agent TravelAgent search book confirm
    
    次に、prompt を呼び出すアクション(search、book、confirm)を実装します。

コア機能(README に記載)

  • エージェント指向プログラミング – エージェントは Rails コントローラーのように動作し、MVC に自然に適合します。
  • マルチプロバイダーサポート – OpenAI、Anthropic、Ollama、DeepSeek、RubyLLM、および OpenAI 互換の API。
  • アクションベースの設計 – エージェントの各パブリックメソッドは、呼び出してトレースできる アクション です。
  • プロンプトテンプレート – テキスト、JSON、HTML プロンプト用の ERB ビューテンプレート。
  • ストリーミング – ActionCable によるリアルタイム応答。
  • ツール/関数呼び出し – エージェントは外部サービス(例:猫の画像を取得)を呼び出し、結果を組み込むことができます。
  • 委任 – 予算/タイムアウト契約付きでサブタスクを他のエージェントに渡します。
  • コンテキスト管理 – 会話履歴を自動的に処理します。
  • 構造化出力 – 予測可能な応答のための JSON スキーマ検証。
  • テレメトリとダッシュボード – オプションの actionagent gem は、トレース、トークン使用量、コスト見積もり、および /activeagents の UI を備えた Rails エンジンを提供します。

README のユースケース例

ユースケース コードスニペット 機能
データ抽出 DataExtractionAgent.with(image_path: …).parse_content.generate_now 画像、PDF、または生テキストから構造化データを抽出します。
翻訳 TranslationAgent.with(message: "Hi, I'm Justin", locale: "japanese").translate.generate_now 文字列を別の言語に翻訳します。
ツール使用 SupportAgent.prompt(message: "Show me a cat").generate_now エージェントがツール(例:画像検索)を呼び出し、結果を返します。
委任 SummarizerAgent / ResearchAgent の例を参照 – 研究エージェントがコスト/レイテンシ予算付きでサブエージェントに要約を委任します。

インストールとエコシステム

  • コア gem – activeagent(フレームワーク、プロバイダー、生成、テレメトリを含む)。
  • ダッシュボード gem – actionagent(監視用のマウント可能なエンジン。独自の ActiveRecord モデルで実行。オプション)。
  • プロバイダー gem – 必要な LLM クライアント(openai、anthropic など)をインストールし、config/active_agent.yml で設定します。
  • Ruby バージョン – ≥ 3.1;Rails 7.2、8.0、8.1 をサポート。

ドキュメントとコミュニティ

  • 公式ドキュメント:https://docs.activeagents.ai
  • 入門ガイド、API リファレンス、サンプルエージェントはすべてそこにホストされています。
  • 通常の GitHub ワークフロー(CONTRIBUTING.MD を参照)で貢献を歓迎します。
  • MIT ライセンス。

TL;DR

Active Agent を使用すると、Rails 開発者は LLM 駆動の機能を第一級のエージェントとして扱い、使い慣れたジェネレーター、コントローラースタイルのアクション、および可観測性のための組み込みダッシュボードを使用できます。gem をインストールし、プロバイダーを選択し、エージェントを生成すると、標準の Rails アプリ内でプロンプト、ストリーミング、ツール呼び出し、委任をすべて開始できます。

関連

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