Почему ваш AI-агент хочет сломать вам сервер
Вы даете агенту доступ к shell, чтобы он исправил баг в коде. А он вместо этого удаляет базу данных. Знакомая история? Если нет, то почитайте про 40 000 голых агентов, которые болтаются в интернете с правами root.
LangSmith Sandboxes - это попытка LangChain решить проблему, которую все игнорируют: как выполнять произвольный код, сгенерированный AI, без риска для хостовой системы.
На 17 марта 2026 года LangSmith Sandboxes доступны как часть платформы LangSmith с управлением через Python SDK и веб-интерфейс. Последняя версия SDK - 0.9.5, которая включает поддержку пользовательских образов Docker и квот ресурсов.
Что умеют эти песочницы
LangSmith Sandboxes не просто обертка над Docker. Это целая инфраструктура для изоляции AI-агентов:
- Запуск кода на Python, Node.js, Bash в изолированных контейнерах
- Автоматическая очистка среды после каждого выполнения
- Ограничения на CPU, память, дисковое пространство
- Интеграция с LangSmith Tracing для отладки
- Поддержка пользовательских зависимостей через Dockerfile
- API для управления песочницами из кода агента
Самое важное - песочницы создаются на лету для каждого сеанса выполнения кода. Агент получает временную среду, которая уничтожается после завершения задачи.
Как это работает под капотом
В основе - контейнеризация, но не просто Docker. LangSmith использует комбинацию gVisor и пользовательских пространств ядра для изоляции. Если вы хотите глубже понять разницу между подходами, у нас есть подробное сравнение Docker, gVisor и Firecracker.
Но в отличие от ручной настройки gVisor, LangSmith Sandboxes предоставляют единый API:
from langsmith.sandbox import Sandbox
# Создаем песочницу с ограничением памяти 512MB
sandbox = Sandbox(
memory_limit="512M",
timeout=30,
tools=["python", "curl", "git"]
)
# Выполняем код, сгенерированный агентом
result = sandbox.run("""
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3]})
print(df.mean())
""")
print(result.stdout) # Безопасно, даже если код попытается сделать rm -rf /
Не путайте LangSmith Sandboxes с подходом "песочница как инструмент", который мы критиковали в статье IN Sandbox против Sandbox as Tool. Здесь среда изолирована от самого агента, а не является его инструментом.
Сравнение с альтернативами: когда Docker недостаточно
Почему бы не использовать просто Docker? Потому что Docker не создан для динамического выполнения недоверенного кода. Одна ошибка в настройке - и агент сбежит из контейнера. LangSmith Sandboxes добавляют слой безопасности специально для AI-сценариев.
| Инструмент | Изоляция | Интеграция с LangChain | Сложность настройки |
|---|---|---|---|
| LangSmith Sandboxes | gVisor + пространства ядра | Нативная | Низкая |
| Docker | Контейнеры | Через обертку | Средняя |
| Firecracker | Микро-ВМ | Самостоятельная интеграция | Высокая |
| Void-Box (Rust) | Микро-ВМ на Rust | Нет | Очень высокая |
Если вам нужна максимальная безопасность и вы готовы к сложной настройке, посмотрите на Void-Box на Rust. Но для большинства проектов LangSmith Sandboxes - оптимальный баланс безопасности и удобства.
Реальные примеры: где это спасает проект
Представьте агента для миграции данных. Он должен читать базы, преобразовывать, писать в новую систему. Без песочницы он будет выполнять код прямо на вашем сервере. Одна ошибка в SQL-запросе - и прощай, продакшен.
С LangSmith Sandboxes вы даете агенту среду, где он может делать что угодно, не задевая хост. Как в случае с Remote, который использует Code Execution Agent на LangGraph.
Вот как это выглядит в коде:
from langchain.agents import AgentExecutor
from langchain_community.tools import LangSmithSandboxTool
# Создаем инструмент для работы с песочницей
sandbox_tool = LangSmithSandboxTool(
name="code_executor",
description="Выполняет код Python в изолированной среде"
)
# Передаем агенту
agent = AgentExecutor.from_agent_and_tools(
agent=your_agent,
tools=[sandbox_tool],
verbose=True
)
# Агент может безопасно выполнять код
result = agent.run("Проанализируй этот CSV файл и найди аномалии")
Кому не подойдет LangSmith Sandboxes
Не ждите чудес. Если ваш агент должен работать с железом (например, управлять принтером), песочница не поможет. Также для high-frequency задач создание и уничтожение контейнеров добавит задержку.
И да, это проприетарная технология LangChain. Если вы против vendor lock-in, смотрите в сторону открытых решений. Но для быстрого старта и интеграции с LangChain - это лучший вариант на 2026 год.
Помните: песочница защищает хост от агента, но не защищает агента от вредоносного кода. Если ваш LLM сгенерирует код с уязвимостью, он выполнится в изоляции, но результат может быть использован для атаки через другие каналы. Всегда проверяйте вывод агента.
Что будет дальше: прогноз на 2027 год
LangSmith Sandboxes - только начало. Ожидайте, что к 2027 году появятся стандарты изоляции для AI-агентов, похожие на OCI для контейнеров. Возможно, мы увидим специализированные процессоры с аппаратной поддержкой изоляции для AI-ворклоадов.
А пока что, если вы разрабатываете AI-агентов, которые выполняют код, LangSmith Sandboxes - must-have. Не повторяйте ошибок тех, кто позволил агентам взламывать системы.
Начните с бесплатного плана LangSmith, поэкспериментируйте с песочницами, и только потом запускайте агентов в продакшен. Ваш DevOps скажет вам спасибо.