В эпоху стремительного развития искусственного интеллекта и автоматизации программирования все актуальнее становится вопрос создания безопасной и надежной среды для работы AI-агентов. Современные инструменты, такие как Cerebras Cloud и Docker Compose, позволяют не только обеспечить высокую производительность ИИ-моделей, но и создать изолированные, контейнеризированные решения, которые сохраняют высокий уровень безопасности. В данной статье мы рассмотрим, как построить защищенного AI-агента для программирования с помощью Cerebras и Docker Compose, а также как использовать кастомные MCP-серверы для создания безопасных песочниц для выполнения кода, созданного агентом. Основной упор будет сделан на практическое применение технологий и объяснении архитектуры такого решения. Начнем с знакомства с ключевыми технологиями и необходимыми инструментами для реализации.
Для создания безопасной среды AI-агентов применяется платформа Cerebras, облачное решение с мощной инфраструктурой для скоростного инференса моделей с полутриллионным числом параметров. По сочетанию с Docker Compose можно эффективно разворачивать комплексы из нескольких контейнеров, которые взаимодействуют друг с другом, создавая полноценную систему AI-агента. В основе решения лежит репозиторий, который можно клонировать с GitHub. После клонирования необходимо подготовить файл конфигурации .env, в котором хранится API-ключ Cerebras.
Этот ключ можно получить, зарегистрировавшись на платформе Cerebras Cloud. Запуск системы осуществляется командой docker compose up --build, которая подтянет все необходимые образы контейнеров и модели ИИ. После успешного запуска интерфейс агента становится доступен в браузере по адресу localhost:8000. Здесь пользователь может взаимодействовать с агентом, отдавать команды по написанию кода, управлению песочницей и запрашивать работу инструментов. Архитектура решения основана на трех ключевых компонентах.
Во-первых, это цикл агентского взаимодействия - основная логика приложения, реализованная на основе ADK-Python. Этот фреймворк позволяет не только управлять поведением агента, но и визуализировать его внутренние решения, что важно для отладки и понимания работы. Во-вторых, используются MCP-инструменты, внешние сервисы, предоставляющие возможности для расширения функционала агента. Они обеспечиваются безопасным MCP-Gateway с поддержкой различных MCP-серверов, таких как context7 для доступа к актуальной документации и node-code-sandbox для запуска кода в изолированной среде. В-третьих, сама модель ИИ может быть локальной или удаленной, в нашем случае используется локальный Qwen-модель и мощный Cerebras API, позволяющий масштабировать и ускорять обработку запросов.
Особое внимание уделяется безопасности выполнения кода. Для этого разработан кастомный MCP-сервер - песочница на базе Node.js и Quarkus, которая запускает изолированные контейнеры с ограничениями, к примеру, с отключенной сетью. Благодаря этому любые попытки сгенерированного кода обращаться к интернет-ресурсам будут безуспешными, что значительно снижает риск утечки данных и внешних воздействий. Именно такая контейнеризация песочницы обеспечивает надежный контур безопасности и минимизирует уязвимости, присущие традиционным способам запуска кода.
Для работы песочницы применяется библиотека Testcontainers, которая позволяет программно управлять жизненным циклом контейнеров - запускать их, выполнять команды внутри и копировать файлы. Это дает максимальную гибкость для поддержки разных языков и требований по безопасности. Пакетирование кастомного MCP-сервера происходит с помощью Maven, который собирает Docker-образ, готовый к интеграции с MCP-Gateway. В каталоге MCP серверов прописывается ссылка на конкретный образ с использованием sha256-хэша для обеспечения воспроизводимости и контроля версий. Настройка docker-compose.
yml позволяет запускать все серверы и MCP-инструменты в едином окружении, что упрощает разработку и эксплуатацию. Все контейнеры можно контролировать с помощью Docker Desktop - просматривать логи, файлы и взаимодействовать с запущенными процессами. Основные преимущества такого подхода заключаются в высокой безопасности и гибкости системы. Использование Docker-контейнеров гарантирует четкие границы изоляции задач и повышает контроль за ресурсами, а отключение сети в песочнице исключает несанкционированный доступ к внешним ресурсам. При этом другие инструменты, например контекст для документации, продолжают полноценно работать с интернетом.
Это достигается благодаря продуманной архитектуре с использованием MCP Gateway, который обеспечивает баланс между безопасностью и функциональностью. Еще одним важным аспектом является легкость расширения и адаптации. Поскольку песочница - это самостоятельный MCP-сервер с открытым исходным кодом, разработчики могут дополнительно настраивать безопасность, внедрять новые ограничения, интегрировать собственные инструменты или менять параметры исполнения без ущерба для основной системы. Это особенно актуально для промышленных проектов, где требования к безопасности и контролю доступа постоянно меняются и требуют максимальной гибкости. Перспективы развития таких систем связаны с предоставлением изолированного доступа к дополнительным внутренним ресурсам, например npm-кэшу, что позволит управлять используемыми сторонними библиотеками и снижать риски безопасности.
Также возможно расширение функционала агентских циклов, внедрение более сложных моделей и оптимизация взаимодействия с Cerebras API для обработки более объемных запросов. Заключение подводит итог проделанной работе, фиксируя актуальность построения безопасных AI-агентов на современных технологиях. Совмещение высокопроизводительных вычислительных мощностей Cerebras с гибкостью Docker Compose и кастомных MCP-серверов создает надежную и масштабируемую платформу для развития интеллектуальных систем программирования. Возможность создавать изолированные, контейнеризированные среды для выполнения кода обеспечивает высокий уровень безопасности, минимизируя риски и повышая доверие пользователей. Рекомендуется самостоятельно ознакомиться с публичным репозиторием, протестировать систему и адаптировать под собственные задачи.
Такой подход открывает широкие перспективы для интеграции AI в реальные проекты с учетом современных требований к безопасности и производительности. Наличие открытых стандартов и инструментов облегчает внедрение и сопровождение решений. Применение описанной архитектуры может стать основой для создания новых поколений интеллектуальных помощников, успешно работающих в условиях реальных бизнес-задач и защищенных от внешних угроз. Развитие и поддержка подобных проектов помогут сформировать надежный фундамент для будущих инноваций в области программирования и искусственного интеллекта. .