
Настройка Harness – программной обёртки для LLM в YADRO
В новой статье серии о Spec‑Driven Development Даниил из YADRO делится пошаговой инструкцией по развёртыванию Harness — инфраструктуры‑обёртки для больших языковых моделей.
Что такое Harness?
Harness – это программная инфраструктура, выступающая в роли обёртки для LLM, позволяющая управлять запросами, кэшировать ответы и интегрировать модели в бизнес‑процессы. В рамках метода Spec‑Driven Development (SDD) она служит центральным элементом, обеспечивая согласованность между спецификациями и реальным кодом.
Ключевые шаги настройки
- Подготовка окружения – установка Docker, Python 3.11 и зависимостей из
requirements.txt. - Конфигурация агента Claude Code – в первой части серии уже был подготовлен агент Claude Code, который теперь будет использоваться в качестве базовой модели.
- Запуск Harness – команда
docker compose up -dподнимает сервисы: API‑gateway, кэш, мониторинг и интерфейс управления. - Интеграция с SDD – подключаем спецификации через YAML‑файлы; Harness автоматически генерирует запросы к Claude Code и проверяет их соответствие требованиям.
- Тестирование – в статье представлены примеры тест‑кейсов, демонстрирующие, как быстро проверять корректность генерации кода и документации.
Почему это важно?
- Унификация: единственная точка входа для всех LLM‑операций.
- Повторяемость: кэширование и логирование позволяют восстанавливать результаты и отлаживать модели.
- Гибкость: легко переключать модели (Claude, GPT‑4, Gemini) без изменения бизнес‑логики.
Подробнее о каждом шаге и готовом решении можно прочитать в оригинальной статье на Habr ML: https://habr.com/ru/companies/yadro/articles/1038084/.
Для разработчиков, практикующих Spec‑Driven Development, Harness становится практическим мостом между формальными спецификациями и реальными LLM‑моделями. Это упрощает интеграцию Claude Code и открывает путь к быстрым экспериментам с другими моделями без переписывания кода. Однако стоит учитывать накладные расходы на развертывание Docker‑инфраструктуры, что может быть избыточно для небольших прототипов.


