<НА ГЛАВНУЮ

Ускорьте работу AI-кодирующих агентов: запуск нескольких агентов в изолированных контейнерах с container-use от Dagger

container-use от Dagger позволяет запускать нескольких AI-кодирующих агентов в изолированных контейнерах, предотвращая конфликты и обеспечивая прозрачность и контроль разработки.

Управление несколькими AI-кодирующими агентами с помощью контейнеров

AI-кодирующие агенты стали незаменимыми помощниками в разработке, способными самостоятельно писать, тестировать и рефакторить код. Однако одновременная работа нескольких агентов приводит к проблемам: конфликтам зависимостей, утечкам состояния и сложности отслеживания действий каждого агента. Проект container-use от Dagger решает эти задачи, предоставляя контейнеризированные среды для каждого агента. Такая изоляция позволяет запускать несколько агентов параллельно без взаимного влияния, а также наблюдать за их работой в реальном времени и при необходимости вмешиваться напрямую.

Проблемы традиционных сред

Обычно агенты работают в локальной среде разработчика, что приводит к конфликтам при обновлении общих библиотек или оставлению артефактов, мешающих следующим запускам. Контейнеризация решает эти проблемы, изолируя среду каждого агента. Это позволяет создавать новые среды для экспериментов и мгновенно удалять неудачные запуски, сохраняя прозрачность всех операций агента.

Бесшовная интеграция с существующими инструментами

container-use отлично интегрируется с такими инструментами, как Docker, git и стандартными CLI-утилитами, поддерживая различные технологические стеки: виртуальные окружения Python, Node.js, системные пакеты. Такая гибкость позволяет командам использовать привычные инструменты без потери контроля и прозрачности.

Установка и настройка

Для начала необходимо собрать и установить CLI-инструмент на Go под названием 'cu' с помощью простой команды make:

# Сборка CLI
make
 
# (опционально) Установка в PATH
make install && hash -r

Поддерживается кросс-компиляция через переменную окружения TARGETPLATFORM, например, для ARM64:

TARGETPLATFORM=linux/arm64 make

Интеграция с популярными AI-агентами

container-use поддерживает любых агентов, совместимых с протоколом Model Context Protocol (MCP). Среди примеров — Claude Code, Cursor, GitHub Copilot и Goose. Интеграция обычно сводится к настройке агента на использование 'container-use' в качестве MCP-сервера:

  • Claude Code регистрирует сервер через NPM-хелпер:
npx @anthropic-ai/claude-code mcp add container-use -- $(which cu) stdio
curl -o CLAUDE.md https://raw.githubusercontent.com/dagger/container-use/main/rules/agent.md
  • Конфигурация Goose в ~/.config/goose/config.yaml:
extensions:
  container-use:
    name: container-use
    type: stdio
    enabled: true
    cmd: cu
    args:
      - stdio
    envs: {}
  • Cursor требует поместить файл правил в .cursor/rules/container-use.mdc.
  • Пользователи VSCode и GitHub Copilot обновляют соответствующие файлы конфигурации, указывая команду 'cu'.

Практические примеры

В репозитории Dagger есть примеры, демонстрирующие возможности container-use:

  • Hello World: агент создаёт и запускает простой HTTP-сервер в контейнере.
  • Параллельная разработка: два агента запускают версии приложения на Flask и FastAPI в отдельных контейнерах.
  • Сканирование безопасности: агент обновляет уязвимые зависимости и создаёт патчи в временном контейнере.

Запуск примера с Claude Code:

cat examples/hello_world.md | claude

Или с Goose:

goose run -i examples/hello_world.md -s

Каждый агент сохраняет изменения в отдельной git-ветке для удобства проверки и слияния.

Мониторинг и отладка агентов

container-use ведёт единый журнал всех команд, выводов и изменений файлов в git-истории репозитория под именем удалённого 'container-use'. Для просмотра активности в реальном времени используйте:

cu watch

Эта команда показывает активные ветки контейнеров, последние выводы и позволяет перейти в shell агента для ручной отладки.

Настройка пользовательских контейнеров

Можно создавать собственные образы, добавляя Containerfile или Dockerfile в корень проекта. Пример:

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y git build-essential
WORKDIR /workspace
COPY requirements.txt .
RUN pip install -r requirements.txt

Агенты, запускаемые с помощью 'cu', будут работать в этих кастомных контейнерах, имея доступ ко всем предустановленным инструментам и библиотекам.

Итог

По мере усложнения задач AI-агентов для разработки растёт потребность в надёжной изоляции и прозрачности. container-use от Dagger предлагает практичное решение — контейнеризированные среды, обеспечивающие стабильность, воспроизводимость и видимость работы агентов в реальном времени. Благодаря использованию стандартных инструментов и протоколов, а также интеграции с популярными MCP-совместимыми агентами, он снижает барьеры для безопасной и масштабируемой работы с несколькими агентами одновременно.

🇬🇧

Switch Language

Read this article in English

Switch to English