如何将各种 AI Agent 工具整合到单一技术栈中
任何尝试将自主 Agent 或复杂的 LLM 流水线部署到生产环境的人,很快就会遇到同样的痛点。首先,你需要接入 Langfuse 或 Phoenix 进行追踪。然后你会意识到,没有自动化评估的日志毫无用处,所以你会引入一个单独的评估库。接着,你会发现 Agent 正在愉快地捕获越狱攻击并泄露令牌,所以你会在上面叠加 Guardrails 或 Lakera。而你仍然需要一个快速的网关来在提供商之间进行路由,以及一个模拟器来在部署前运行对话场景。
结果,团队花了几周时间将五个不同的服务拼凑在一起,而不是专注于产品开发。future-agi 项目试图用一个平台来解决这种混乱。该团队构建了一个基于 Apache 2.0 许可证的开源平台,将追踪、评估、模拟、网关和提示词优化整合在一起。
盒子里有什么
该平台的核心思想很简单:将生产数据收集和 Agent 改进整合到一个闭环中。如果一个 Agent 在真实用户身上犯了错误,该追踪记录应该立即成为下一次提示词迭代的测试用例。
所有功能被分为六个主要区域。
场景模拟和合成测试
手动测试 Agent 既缓慢又低效。内置的模拟模块可以生成数千条具有不同角色、刁钻问题和攻击尝试的多步骤对话。
有趣的是,该模块不仅支持文本,还通过与 LiveKit、Retell、VAPI 和 Pipecat 的集成支持语音 Agent。你可以在真实客户听到机器人语无伦次之前检查延迟和语音活动检测器(VAD)性能。
实时质量评估和安全
该库包含超过 50 种内置指标。有用于幻觉和上下文一致性的标准检查、工具使用正确性评估、语气分析以及个人数据泄露检测。评估通过启发式方法、轻量级 ML 模型和 LLM 即评判者方法相结合来实现。
对于实时保护,有 18 种内置扫描器用于防范注入和越狱攻击,还有用于 Presidio 或 Llama Guard 等外部解决方案的适配器。扫描器可以直接在代理网关上调用,也可以通过应用代码中的独立 SDK 调用。
命令中心网关和追踪
请求路由由一个用 Go 编写的网关处理。作者声称在 t3.xlarge 实例上加权路由延迟约为 9.9 纳秒,吞吐量约为每秒 29,000 请求。启用安全检查后,P99 延迟保持在 21 毫秒左右。
该网关与 OpenAI API 兼容,支持超过 100 个提供商(从 OpenAI 和 Anthropic 到本地 Ollama 和 vLLM),可以进行语义缓存,并管理虚拟密钥。
对于追踪,使用了 OpenTelemetry 标准。该平台从 LangChain、CrewAI、DSPy 或 LlamaIndex 等 50 个框架中自动收集跨度图、延迟和令牌成本,无需复杂的手动配置。
基于真实数据的提示词优化
最有趣的部分是算法提示词调优。不需要在代码中手动调整措辞,有六种优化算法可用,包括 GEPA、PromptWizard、ProTeGi 和贝叶斯搜索。真实的生产错误追踪被输入到优化器中,自动生成并测试新的系统提示词变体。
快速开始
该项目可以通过 Docker Compose 本地部署或在云端运行。对于本地部署,只需克隆仓库并运行安装脚本:
git clone https://github.com/future-agi/future-agi.git
cd future-agi
./bin/install
完成后,Web 界面可在 http://localhost:3000 访问。
集成到现有的 Python 代码中只需要三行:
from fi_instrumentation import register
from traceai_openai import OpenAIInstrumentor
import openai
register(project_name="support-agent")
OpenAIInstrumentor().instrument()
client = openai.OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Как оформить возврат товара?"}],
)
在 TypeScript 或 Node.js 代码库中,一切看起来类似:
import { register } from "@traceai/fi-core";
import { OpenAIInstrumentation } from "@traceai/openai";
import OpenAI from "openai";
register({ projectName: "support-agent" });
new OpenAIInstrumentation().instrument();
const openai = new OpenAI();
const response = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Как оформить возврат товара?" }],
});
调用后,数据会自动发送到追踪器,你可以在其中看到调用树、传递的参数并测量生成时间。
架构和技术栈
在底层,该平台使用了一个相当实用的技术栈,没有使用任何特殊选择:
- 后端使用 Python 3.11 编写,采用 Django 5.1 和 Django Channels 处理 WebSocket。
- 高负载网关使用 Go 1.23 编写。
- 前端使用 React 18 和 Vite 构建器构建。
- PostgreSQL 用于元数据和配置存储,ClickHouse 用于跨度分析和时间序列,Redis 用于状态和缓存。后台任务通过 RabbitMQ 和 Temporal 运行。
所有生态系统组件都被拆分为独立的包。如果不需要整个界面,你可以只安装指标模块 pip install ai-evaluation 或提示词优化器 pip install agent-opt。
这个项目目前适合谁
如果你正在构建一个简单的 FAQ 聊天机器人,用一个按钮回答问题,Future AGI 看起来就像是大材小用。在这种情况下,几个基本的控制台日志就足够了。
但如果你正在构建:
- 复杂的 RAG 流水线,需要验证引用和事实核查答案。
- 基于 LiveKit 或 Retell 的语音助手,每毫秒延迟都很关键。
- 调用数十个外部 API 和 MCP 工具的 Agent,捕获推理链中的失败至关重要。
- 由于数据隔离要求无法交给外部 SaaS 服务的系统。
在这些场景中,用一条命令 docker compose up 启动整个监控、模拟和网关堆栈可以节省大量工程时间。
该项目目前处于活跃开发状态,README 中的横幅诚实地警告了这一点。你可能会在界面中遇到一些粗糙的地方,但开源代码和基于 OTel 和 ClickHouse 的架构使其成为在你的自有基础设施中测试的绝佳候选。
相关项目