0Pricing
AI Agents · Урок

Изолированное выполнение кода для агентов

Никогда не запускайте код, сгенерированный моделью, на основном сервере — используйте изолированные среды gVisor, Firecracker или E2B.

«Изолированное выполнение кода для агентов» — бесплатный урок AI Agents на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Зачем нужна Sandbox?

Агенты для работы с кодом (Devin, Claude Code, OpenDevin) запускают код, сгенерированный моделью. Если запускать этот код на основном компьютере, модель сможет:

  • читать секреты и ключи API
  • удалять файлы
  • выполнять исходящие сетевые вызовы
  • майнить криптовалюту

Sandbox — изолированная среда, ограничивающая ущерб.

Уровни изоляции

УровеньИнструментНазначение
Процессsubprocess + chrootНизкая безопасность, только для разработки
КонтейнерDockerХороший вариант по умолчанию
VM / microVMFirecracker, gVisorНадёжная изоляция
Размещённая SandboxE2B, DaytonaСамый простой вариант для боевой среды

Docker Sandbox Basics

docker run \
  --rm \
  --network=none \
  --memory=512m \
  --cpus=0.5 \
  --read-only \
  --user=nobody \
  -v /tmp/work:/work:rw \
  python:3.11-slim \
  python /work/script.py

Изоляция сети

--network=none отключает исходящий трафик. Для некоторых задач нужен ограниченный доступ к интернету — используйте прокси для исходящего трафика, разрешающий доступ только к определённым узлам.

Ограничения ресурсов

Ограничения предотвращают неконтролируемое потребление CPU и памяти:

  • --memory — ограничение RAM
  • --cpus — доля CPU
  • --pids-limit — число процессов
  • --ulimit — дескрипторы файлов

Firecracker / gVisor

Для более надёжной изоляции, чем у Docker:

  • Firecracker — microVM от AWS, используемая Lambda
  • gVisor — ядро в пользовательском пространстве от Google, устанавливаемое вместо Docker без изменения интерфейса
  • Kata Containers — интерфейс Docker с изоляцией на уровне VM

Размещённая Sandbox E2B

E2B (e2b.dev) предоставляет удалённую Sandbox через API:

# pip install e2b
import e2b
sandbox = e2b.Sandbox(template='python', api_key='...')

result = sandbox.run_code('print(2 + 2)')
print(result.stdout)   # '4'

sandbox.close()

Daytona

Daytona предлагает аналогичные возможности размещённой Sandbox, ориентированные на рабочие пространства разработчиков.

Sandbox файловой системы

Подключайте для чтения и записи только то, что нужно агенту; всё остальное делайте доступным только для чтения или скрывайте:

docker run -v ${PWD}/workdir:/workdir:rw \
           -v ${PWD}/readonly:/readonly:ro ...

Ограничения времени

Ограничивайте реальное время выполнения, чтобы предотвратить бесконечные циклы:

docker run --rm --stop-timeout 30 ... \
  python -c 'import resource; resource.setrlimit(resource.RLIMIT_CPU, (30, 30)); exec(open("/work/script.py").read())'

Журналирование

Записывайте каждую команду, каждый вывод и каждое изменение файла. Для агентов с высокими рисками заносите весь сеанс Sandbox в аудиторский журнал.

Изолированные Sandbox для нескольких арендаторов

Отдельные Sandbox для пользователей не позволяют им портить состояние друг друга. Создавайте новую Sandbox для каждого сеанса и удаляйте её после завершения.

Стоимость и безопасность

Более надёжная изоляция означает большие расходы (накладные расходы на каждую VM). Подбирайте уровень с учётом риска:

  • Учебный материал или функция Sandbox для пользователей: Docker подходит
  • Боевой код, работающий с секретами: Firecracker / E2B

Сетевая блокировка

Как предотвратить любые исходящие сетевые вызовы со стороны агента, работающего с кодом?

Итоги

Никогда не запускайте код, сгенерированный моделью, на основном хосте. Выбирайте уровень изоляции с учётом риска: Docker для разработки, gVisor / Firecracker / E2B для промышленной эксплуатации. Ограничивайте CPU, память, время и сеть.

Часто задаваемые вопросы

Урок «Изолированное выполнение кода для агентов» бесплатный?

Да — полный текст урока «Изолированное выполнение кода для агентов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Изолированное выполнение кода для агентов»?

Никогда не запускайте код, сгенерированный моделью, на основном сервере — используйте изолированные среды gVisor, Firecracker или E2B. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Изолированное выполнение кода для агентов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Защита от внедрения промптов
  2. Фильтрация вывода (Llama Guard, NeMo)
  3. Изолированное выполнение кода для агентов
  4. Контроль доступа к инструментам
← Назад к AI Agents