Один Ruby-гем, 12 провайдеров ИИ, 800 моделей — и затор у мейнтейнера
RubyLLM прячет раздутые клиенты всех провайдеров за единым интерфейсом. Продакшн-команды его хвалят — пока не приходит время сделать PR.
Одно API вместо двенадцати: OpenAI, Anthropic, Gemini, xAI, Mistral, DeepSeek, Ollama и другие — плюс чат, зрение, эмбеддинги, вызов инструментов и хук acts_as_chat для Rails на трёх зависимостях.
Реальные команды подтверждают, что запустили на нём прод, — и тут же называют проблемы: кеширование промптов ломается по-разному у каждого провайдера, а основатель Rubygems.org пишет, что мейнтейнер принимает вайб-кодированные PR, игнорируя нормальные.
Один интерфейс поверх дюжины раздутых клиентов

RubyLLM решает одну проблему: «Каждый провайдер ИИ поставляет свой раздутый клиент. Разные API. Разные форматы ответов.» Фреймворк объединяет 12+ провайдеров — OpenAI, Anthropic, Gemini, xAI, Mistral, DeepSeek, Ollama и другие — и 800+ моделей за единым Ruby-интерфейсом, опираясь всего на три зависимости: Faraday, Zeitwerk, Marcel.
Функциональность широкая: стриминговый чат, зрение, транскрипция аудио, генерация изображений через RubyLLM.paint, эмбеддинги, вызовы инструментов, открывающие Ruby-методы модели, структурированный JSON-вывод и Rails-интеграция acts_as_chat на ActiveRecord. Слоган лаконичный: «Чат, изображения, эмбеддинги, инструменты».
Продакшн-команды хвалят, затем перечисляют дыры
Отзывы в треде конкретные: компании называют живые продукты. Но самые ценные комментарии — оговорки. CTO, запустивший прод на RubyLLM, указал на пробел в наблюдаемости:
«Из минусов: было сложно наладить трассировку запросов, и есть паттерн, когда ретраи удаляют исходные модели, — история выглядит чистой, но не показывает точную последовательность API-вызовов.» — CTO Shogun, бывший инженер YC
Скептик указал на структурную слабость любой унифицирующей обёртки: детали провайдера просачиваются наружу.
«Кеширование промптов, схемы вызова инструментов, структурированный вывод и reasoning-токены настолько по-разному реализованы у провайдеров, что общий интерфейс тихо отбрасывает всё специфическое.» — комментатор, которому важно кеширование промптов
Самая острая критика поступила от человека со статусом в экосистеме:
«Мы используем RubyLLM около 6 месяцев… практически без успеха с точки зрения взаимодействия с мейнтейнером по PR, и замечаем, что принимается много вайб-кодированных PR, включая переписанные версии наших же PR.» — основатель Rubygems.org
Сквозная мысль: абстракция достаточно элегантна, чтобы компании поставили на неё продакшн, — и именно поэтому вопрос управления проектом, кто решает, что попадает в общий интерфейс, теперь важнее синтаксиса.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Pico W за $4 стал беспроводным USB-адаптером без драйверов — Gemini говорил «невозможно»
Gemini признал проект нереализуемым. Автор потратил длинные выходные и миллион токенов Claude, доказал обратное, а потом опубликовал результат через сам же адаптер.