Как собрать зоопарк из инструментов для AI-агентов в один стек
Каждый, кто пробовал выкатывать автономных агентов или сложные LLM-цепочки в продакшен, быстро упирался в одну и ту же боль. Сначала вы прикручиваете Langfuse или Phoenix для трейсинга. Потом понимаете, что логи без автоматической оценки бесполезны, и тащите отдельную библиотеку для эвалов. Следом выясняется, что агент радостно ловит джейлбрейки и сливает токены, поэтому сверху встает Guardrails или Lakera. А еще нужен быстрый шлюз для роутинга между провайдерами и симулятор для прогона диалогов перед деплоем.
В итоге вместо работы над продуктом команда тратит недели на склеивание пяти разных сервисов через костыли. Проект future-agi пытается закрыть этот хаос одной коробкой. Ребята написали платформу с открытым исходным кодом под лицензией Apache 2.0, куда запаковали трейсинг, эвалы, симуляции, шлюз и оптимизацию промптов.
Что внутри коробки
Основная идея платформы простая: объединить сбор данных с продакшена и улучшение агента в единый замкнутый цикл. Если агент ошибся на реальном пользователе, этот трейс должен сразу стать тестовым кейсом для следующей итерации промпта.
Весь функционал разбит на шесть основных направлений.
Симуляция сценариев и синтетические тесты
Тестировать агентов руками долго и неэффективно. Встроенный модуль симуляции умеет генерировать тысячи многошаговых диалогов с разными ролями, каверзными вопросами и попытками взлома.
Что любопытно, модуль поддерживает не только текст, но и голосовых агентов через интеграции с LiveKit, Retell, VAPI и Pipecat. Можно проверить задержки и работу детектора активности голоса (VAD) до того, как живой клиент услышит невнятное бормотание бота.
Оценка качества и безопасность на лету
В библиотеку зашито более 50 метрик. Там есть стандартные проверки на галлюцинации и соответствие контексту, оценка корректности вызова инструментов (tool use), проверка тональности и детекция утечек персональных данных. Оценка работает через комбинацию эвристик, легковесных ML-моделей и подхода LLM-as-a-judge.
Для защиты в реальном времени предусмотрено 18 встроенных сканеров против инъекций и джейлбрейков, плюс адаптеры к внешним решениям вроде Presidio или Llama Guard. Сканеры можно вызывать прямо внутри прокси-шлюза или дергать через отдельный SDK в коде приложения.
Шлюз Command Center и трейсинг
За роутинг запросов отвечает шлюз на Go. Авторы заявляют задержку взвешенного роутинга порядка 9.9 наносекунд и пропускную способность около 29 тысяч запросов в секунду на инстансе t3.xlarge. С включенными проверками безопасности P99 задержки держится в районе 21 миллисекунды.
Шлюз совместим с API OpenAI, поддерживает больше сотни провайдеров (от OpenAI и Anthropic до локальных Ollama и vLLM), умеет делать семантическое кэширование и рулить виртуальными ключами.
Для трейсинга используется стандарт OpenTelemetry. Платформа собирает графы спанов, задержки и расходы на токены из 50 фреймворков вроде LangChain, CrewAI, DSPy или LlamaIndex без сложной ручной настройки.
Оптимизация промптов на реальных данных
Самая интересная часть — алгоритмическая подгонка промптов. Вместо ручного перебора формулировок в коде доступны шесть алгоритмов оптимизации, включая GEPA, PromptWizard, ProTeGi и байесовский поиск. Трейсы реальных ошибок с продакшена передаются на вход оптимизатору, а тот автоматически генерирует и тестирует новые варианты системного промпта.
Быстрый старт
Проект можно развернуть локально через Docker Compose или запустить в облаке. Для локального запуска достаточно стянуть репозиторий и запустить скрипт установки:
git clone https://github.com/future-agi/future-agi.git
cd future-agi
./bin/install
После завершения веб-интерфейс доступен на 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 для веб-сокетов.
- Высоконагруженный шлюз написан на 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-инструментов, где критично ловить сбои в цепочках рассуждений.
- Системы, которые нельзя отдавать во внешние SaaS-сервисы из-за требований к изоляции данных.
В этих сценариях возможность поднять весь контур мониторинга, симуляций и шлюза одной командой docker compose up здорово экономит инженерные часы.
Проект сейчас находится в стадии активной разработки, о чем честно предупреждает плашка в README. Местами можно наткнуться на шероховатости интерфейса, но открытый код и архитектура на OTel и ClickHouse делают его отличным кандидатом для тестирования в собственной инфраструктуре.
