ДалееСледующее руководство
Разработка инструментов для агентов LLM
Технический
Техническое РУКОВОДСТВО
Песочница выполнения кода — это изолированная среда, в которой агент ИИ может запускать написанный им код, не имея возможности нанести вред хост-компьютеру, получить доступ к данным, которые он не должен видеть, или использовать неограниченные ресурсы.
Это важно, потому что агент, который может выполнять код, гораздо более способен (он может вычислять, анализировать файлы и тестировать свою собственную работу), но код, написанный на модели, по умолчанию не заслуживает доверия и может содержать ошибки, расточителен или манипулироваться путем внедрения подсказки.
Когда агент генерирует код, что-то должно его запускать. Запускать этот код непосредственно на ноутбуке разработчика или рабочем сервере рискованно: код может удалить файлы, прочитать учетные данные из переменных среды, установить программное обеспечение, добыть криптовалюту или открыть сетевые соединения. Песочница устанавливает границу между кодом и всем остальным. Существует несколько уровней изоляции с разными компромиссами. Стандартные контейнеры (например, Docker) используют пространства имен и контрольные группы Linux, чтобы предоставить коду собственное представление о процессах, файлах и сети, а также ограничить ЦП и память. Они запускаются быстро, но каждый контейнер использует ядро хоста, поэтому уязвимость ядра может привести к утечке кода. gVisor, проект с открытым исходным кодом от Google, добавляет ядро пользовательского пространства, которое перехватывает системные вызовы, сокращая количество ненадежного кода, которое может затронуть реальное ядро. Микровиртуальные машины, такие как Firecracker, первоначально созданные AWS для Lambda и Fargate, предоставляют каждой рабочей нагрузке собственную облегченную виртуальную машину и ядро, загружаясь при этом за доли секунды. Службы размещенной песочницы для агентов, такие как E2B, основаны на этом подходе microVM. В самом простом случае среды выполнения WebAssembly и такие инструменты, как Pyodide, могут запускать Python в браузере или песочнице Wasm без прямого доступа к системе. Технология изоляции – это только половина проекта. Хорошие песочницы также ограничивают сеть (часто запрещенную по умолчанию с помощью списка разрешенных), монтируют файловую систему только для чтения, за исключением временного каталога, полностью хранят секреты вне среды и устанавливают ограничения по времени, памяти, количеству процессов и диску. Обычно они эфемерны: создаются для каждой задачи и впоследствии уничтожаются. Распространенным заблуждением является то, что песочница делает агента безопасным. Это ограничивает ущерб от самого кода, но не мешает агенту выдавать неправильные ответы, и любой инструмент или учетные данные, которые вы передаете в «песочницу», становятся доступными для любого кода, выполняющегося там, включая код, написанный в ответ на введенные инструкции.
Архитектурные решения влияют на производительность и эксплуатационные расходы на протяжении многих лет.
Техническое образование помогает командам выбрать правильный стек, а не только самый новый.
Лучший инженерный выбор снижает вероятность возникновения проблем с надежностью на производстве.
Выполнение кода становится стандартной возможностью для помощников и агентов ИИ, поэтому «песочница», скорее всего, станет скорее стандартной услугой с разумными настройками по умолчанию, а не чем-то, что каждая команда создает с нуля. Ожидайте продолжения работы над более быстрым запуском, созданием моментальных снимков и возобновлением работы, а также более детальными политиками доступа к сети и файлам, которые можно настроить для каждой задачи. Более сложная открытая проблема — это политика, а не изоляция: решить, чего агенту следует разрешить, и информировать пользователей, когда агенты предпринимают более длительные автономные действия. Изоляция останется одним из нескольких уровней, наряду с разрешениями, ведением журналов и проверкой человеком.
Помощник по анализу данных получает загруженный CSV-файл, пишет код pandas для его очистки и построения графиков тенденций, а затем запускает этот код в одноразовой песочнице, которая удаляется после завершения сеанса.
Агент кодирования запускает набор тестов репозитория внутри контейнера без доступа к исходящей сети, поэтому вредоносный сценарий зависимости не может отправить исходный код или секреты на внешний сервер.
Образовательная платформа позволяет учащимся попросить преподавателя ИИ запустить примеры Python, причем каждый запуск ограничен несколькими секундами использования ЦП и фиксированным лимитом памяти, чтобы случайный бесконечный цикл не мог остановить работу службы.
Исследовательская группа предоставляет агенту микроVM с копией набора данных, доступной только для чтения, и одной выходной папкой с возможностью записи, чтобы агент мог получать результаты, не изменяя и не удаляя исходные данные.
Оптимизация одного теста может скрыть более широкие недостатки системы.
Затраты на инфраструктуру и техническое обслуживание часто недооцениваются.
Пробелы в безопасности и наблюдаемости могут увеличиваться по мере усложнения систем.
Определите целевые показатели задержки, качества и стоимости перед внедрением.
Тестирование при реалистичной нагрузке и условиях данных.
Мониторинг прибора на наличие ошибок, дрейфа и влияния пользователя.
Перед масштабированием подготовьте пути отката и реагирования на инциденты.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Песочница выполнения кода — это изолированная среда, в которой агент ИИ может запускать написанный им код, не имея возможности нанести вред хост-компьютеру, получить доступ к данным, которые он не должен видеть, или использовать неограниченные ресурсы. Это важно, потому что агент, который может выполнять код, гораздо более способен (он может вычислять, анализировать файлы и тестировать свою собственную работу), но код, написанный на модели, по умолчанию не заслуживает доверия и может содержать ошибки, расточителен или манипулироваться путем внедрения подсказки.
В руководстве объясняется, что код, написанный на основе модели, может содержать ошибки, потреблять лишние ресурсы или следовать введенным инструкциям, поэтому он должен выполняться внутри границ, а не непосредственно на хосте.
Контейнеры используют пространства имен и контрольные группы, но все они совместно используют ядро хоста, поэтому уязвимость ядра может позволить уйти. MicroVM предоставляют каждой рабочей нагрузке собственное ядро.
gVisor от Google запускает ядро пользовательского пространства, которое обрабатывает системные вызовы, уменьшая тем самым, какую часть реального ядра хоста может достичь ненадежный код.
Firecracker был создан для бессерверных рабочих нагрузок AWS, таких как Lambda и Fargate, где многие изолированные рабочие нагрузки должны запускаться быстро.
Если введенные инструкции заставляют агента писать вредоносный код, сеть, запрещающая по умолчанию, не позволяет этому коду украсть данные.
Продолжайте учиться
Другие руководства, выбранные по этой теме
ДалееСледующее руководство
Разработка инструментов для агентов LLM
Технический