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   # 核心框架
    # 选择一个或多个 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 提供了一个 Rails 引擎,包含跟踪、令牌使用、成本估算以及位于 /activeagents 的 UI。

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 应用内完成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目