Для чего нужны сэндбоксы?
Сэндбоксы – это изолированные облачные окружения, внутри которых можно запускать код, сгенерированный ИИ-агентом.
Сейчас есть два пути:
1. Дать вашему агенту доступ к MCP / написать кастомные тулы и описать логику оркестрации доступных тулов в SKILL или системном промпте.
2. Дать вашему агенту доступ к CLI и/или к REST API сервиса, с которым вы хотите интегрироваться, и попросить агента выполнить какое-то действие с помощью генерации кода.
Большинство компаний всё ещё пробуют оседлать первый вариант, даже не задумываясь об альтернативе. Он неплох в случае, когда у вас есть чёткие user stories, которые можно покрыть парой высокоуровневых тулов, — о том, как правильно писать свой MCP-сервер, я уже писал 👉тут. В случае, когда у вас есть посредственное представление о том, какие юз-кейсы придумает пользователь, – дать агенту полную свободу в том, как и в каком порядке вызывать тулы, может быть хорошим решением.
Проблема в том, где вы будете исполнять этот код – не на своей же инфраструктуре. Нужно настроить скейлинг, ограничить компьют и память, спрятать все файлы, к которым агент не должен иметь доступ, — security/devops-гемор.
Эту проблему элегантно решают продукты типа e2b, daytona, modal, runloop, vercel sandbox, cloudflare sandbox и другие.
Пример использования:
from e2b_code_interpreter import Sandbox
agent_code = "x = 21 * 2\nx" # это вернул твой агент, тут может быть что угодно
with Sandbox.create() as sandbox:
result = sandbox.run_code(agent_code)
print(result.text)
Сэндбоксы эфемерны – никакие лишние артефакты и подозрительные файлы не останутся на вашей инфре. Запускаются за десятки миллисекунд.
Эта парадигма ещё не так популярна в кругах людей, пишущих кастомных агентов, но каждый из вас, кто пользуется CC/Codex работает с сэндбоксами, того не подозревая. Все команды кодинг-агентов по дефолту исполняются в сэндбоксах – чтобы не просить вас approval на каждую команду и не сломать вашу систему. Вот как сэндбоксы работают в Codex.
Ваш покорный слуга, кстати, по долгу службы написал интеграцию e2b для библиотеки langchain langchain-e2b, чтобы флексить своими Open Source contributions перед припудренными лицами прекрасных HR-дам.
AI Engineering-стэк уже сейчас достаточно широкий и комплексный, нужно постоянно держать руку на пульсе трендов, но рынок это вознаграждает. Рынок для ИИ-мастеров сейчас – это как cloud в 2015, когда было достаточно написать AWS в шапке профиля, и от входящих предложений от эйчаров приходилось отбиваться. Если не верите – напишите себе на LinkedIn пару ключей типа RAG/agent/OpenAI API, и будет вам счастье, хоть немного сотрёте пыль со своего богом забытого LinkedIn.
Солнце стреляет в мой эпидермис своими фотонами, и я чувствую, как моя кожа покрывается вкусной корочкой, словно курица гриль. Поставьте огоньков, чтобы мне было ещё жарче 🔥
#ai #dev_tool
Багодельня Соколовского 👾
Сэндбоксы – это изолированные облачные окружения, внутри которых можно запускать код, сгенерированный ИИ-агентом.
Сейчас есть два пути:
1. Дать вашему агенту доступ к MCP / написать кастомные тулы и описать логику оркестрации доступных тулов в SKILL или системном промпте.
2. Дать вашему агенту доступ к CLI и/или к REST API сервиса, с которым вы хотите интегрироваться, и попросить агента выполнить какое-то действие с помощью генерации кода.
Большинство компаний всё ещё пробуют оседлать первый вариант, даже не задумываясь об альтернативе. Он неплох в случае, когда у вас есть чёткие user stories, которые можно покрыть парой высокоуровневых тулов, — о том, как правильно писать свой MCP-сервер, я уже писал 👉тут. В случае, когда у вас есть посредственное представление о том, какие юз-кейсы придумает пользователь, – дать агенту полную свободу в том, как и в каком порядке вызывать тулы, может быть хорошим решением.
Проблема в том, где вы будете исполнять этот код – не на своей же инфраструктуре. Нужно настроить скейлинг, ограничить компьют и память, спрятать все файлы, к которым агент не должен иметь доступ, — security/devops-гемор.
Эту проблему элегантно решают продукты типа e2b, daytona, modal, runloop, vercel sandbox, cloudflare sandbox и другие.
Пример использования:
from e2b_code_interpreter import Sandbox
agent_code = "x = 21 * 2\nx" # это вернул твой агент, тут может быть что угодно
with Sandbox.create() as sandbox:
result = sandbox.run_code(agent_code)
print(result.text)
Сэндбоксы эфемерны – никакие лишние артефакты и подозрительные файлы не останутся на вашей инфре. Запускаются за десятки миллисекунд.
Эта парадигма ещё не так популярна в кругах людей, пишущих кастомных агентов, но каждый из вас, кто пользуется CC/Codex работает с сэндбоксами, того не подозревая. Все команды кодинг-агентов по дефолту исполняются в сэндбоксах – чтобы не просить вас approval на каждую команду и не сломать вашу систему. Вот как сэндбоксы работают в Codex.
Ваш покорный слуга, кстати, по долгу службы написал интеграцию e2b для библиотеки langchain langchain-e2b, чтобы флексить своими Open Source contributions перед припудренными лицами прекрасных HR-дам.
AI Engineering-стэк уже сейчас достаточно широкий и комплексный, нужно постоянно держать руку на пульсе трендов, но рынок это вознаграждает. Рынок для ИИ-мастеров сейчас – это как cloud в 2015, когда было достаточно написать AWS в шапке профиля, и от входящих предложений от эйчаров приходилось отбиваться. Если не верите – напишите себе на LinkedIn пару ключей типа RAG/agent/OpenAI API, и будет вам счастье, хоть немного сотрёте пыль со своего богом забытого LinkedIn.
Солнце стреляет в мой эпидермис своими фотонами, и я чувствую, как моя кожа покрывается вкусной корочкой, словно курица гриль. Поставьте огоньков, чтобы мне было ещё жарче 🔥
#ai #dev_tool
Багодельня Соколовского 👾