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 # 核心框架 # 选择一个或多个 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 提供了一个 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 应用内完成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目