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 より)
- gem を追加
bundle add activeagent # コアフレームワーク # 1 つ以上の LLM プロバイダーを選択 bundle add openai # または anthropic, ollama, deepseek, ruby_llm … - インストーラーを実行 – 設定ファイルとベースエージェントクラスを生成します:
rails generate active_agent:install - エージェントを定義
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?" - カスタムエージェントを作成
次に、rails generate active_agent:agent TravelAgent search book confirmpromptを呼び出すアクション(search、book、confirm)を実装します。
コア機能(README に記載)
- エージェント指向プログラミング – エージェントは Rails コントローラーのように動作し、MVC に自然に適合します。
- マルチプロバイダーサポート – OpenAI、Anthropic、Ollama、DeepSeek、RubyLLM、および OpenAI 互換の API。
- アクションベースの設計 – エージェントの各パブリックメソッドは、呼び出してトレースできる アクション です。
- プロンプトテンプレート – テキスト、JSON、HTML プロンプト用の ERB ビューテンプレート。
- ストリーミング – ActionCable によるリアルタイム応答。
- ツール/関数呼び出し – エージェントは外部サービス(例:猫の画像を取得)を呼び出し、結果を組み込むことができます。
- 委任 – 予算/タイムアウト契約付きでサブタスクを他のエージェントに渡します。
- コンテキスト管理 – 会話履歴を自動的に処理します。
- 構造化出力 – 予測可能な応答のための JSON スキーマ検証。
- テレメトリとダッシュボード – オプションの
actionagentgem は、トレース、トークン使用量、コスト見積もり、および/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 アプリ内でプロンプト、ストリーミング、ツール呼び出し、委任をすべて開始できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト