Oleksandr Kuzmenko, РедакторОпубліковано 8 хв читанняЗа участі AI · перевірено редактором
TL;DR
- Agent Substrate відокремлює стан сесії від робочих подів, дозволяючи Kubernetes заморожувати неактивних агентів без втрати контексту.
- Час відновлення становить менше 400 мс, що запобігає 20-секундним холодним стартам і скорочує витрати на простій до 95%.
- Код агентів ізолюється за допомогою gVisor або мікро-VM Cloud Hypervisor із вихідним мережевим режимом default-deny.
Ключові факти
- Час простою агента
- 90% - 95% (за даними Google)
- Затримка відновлення
- < 400 мс (за даними проєкту)
- Пропускна здатність
- > 1 500 активацій/с (за даними проєкту)
- Ліцензія
- Apache-2.0
- Механізми ізоляції
- Ядро простору користувача gVisor та мікро-VM Cloud Hypervisor
Проблема 95% простою агентів у Kubernetes
Більшу частину свого життєвого циклу автономні AI-агенти перебувають у стані очікування. За даними Google Cloud, інтерактивні сесії агентів очікують на генерацію токенів моделлю, відповіді зовнішніх API або дії оператора від 90% до 95% часу. Утримання постійних подів Kubernetes для кожного користувача призводить до катастрофічних витрат уже при 10 000 активних користувачів, тоді як класичний serverless scale-to-zero дає холодні старти тривалістю понад 20 секунд.
Для розв'язання цієї проблеми Google передала проєкти Agent Substrate, gVisor та OpenRL до CNCF у статусі Sandbox. Цей стек формує відкритий стандарт для оркестрації ненадійного коду агентів у будь-яких сумісних кластерах Kubernetes.
Відокремлення стану через патерн Actor-Worker
Agent Substrate розділяє виконання та стан за допомогою розподіленої архітектури:
- Actors (Актори): Інкапсулюють стан конкретної сесії — файлову систему, змінні оточення, виділену пам'ять і правила вихідного трафіку.
- Workers (Воркери): Попередньо прогріті поди Kubernetes у спільному пулі
WorkerPool. Один воркер послідовно обслуговує різні сесії. - atenet-router: L7-проксі, що перехоплює вхідні виклики. Якщо цільовий актор призупинений, проксі утримує запит у пам'яті, сигналізує контролеру та миттєво монтує стан актора у вільний воркер.
За даними розробників, час відновлення сесії становить менше 400 мс, пропускна здатність перевищує 1500 активацій на секунду, а щільність розміщення контейнерів зростає у 10 разів порівняно зі стандартними подами.
Безпека та стан готовності до продакшену
Код, згенерований агентами, виконується в пісочницях gVisor або мікро-віртуалках Cloud Hypervisor, а не у звичайних контейнерах Linux. Системні виклики перехоплюються в просторі користувача, мережа за замовчуванням заблокована, а облікові дані підставляються через egress-шлюз із короткоживучими сертифікатами SPIFFE X.509.
У GKE підтримка доступна за замовчуванням починаючи з версії 1.37 (у 1.36 потрібне ввімкнення бета-API). Проте, попри заяви в пресрелізах про реліз 1.0, репозиторій на GitHub поки що попереджає про відсутність гарантій зворотної сумісності.
Коли використовувати
- Застосовуйте для інтерактивних кодинг-агентів, які тривалий час очікують на підтвердження дій або відповіді моделей.
- Використовуйте для масового тестування та оцінки агентів, коли створення тисяч подів на хвилину перевантажує etcd.
Коли НЕ варто
- Не використовуйте для суто пакетних пакетних завдань, де агенти виконують неперервні обчислення без очікування API чи людини.
- Уникайте впровадження у критичному продакшені, якщо ваша інфраструктура вимагає суворої стабільності API версії 1.0+.
Що зробити сьогодні
- Проаналізуйте метрики вашого кластера агентів, щоб оцінити частку часу очікування API порівняно з активними обчисленнями.
- Ознайомтеся з архітектурою Agent Substrate на ate.dev та протестуйте життєвий цикл акторів у тестовому кластері Kubernetes 1.37.
- Налаштуйте runtime-класи gVisor для існуючих кодинг-агентів, щоб ізолювати виконання системних команд і доступ до файлів.
Назви кроків узяті з блоку «Що зробити сьогодні».
Назви кроків узяті з блоку «Що зробити сьогодні». Проаналізуйте метрики вашого кластера агентів, щоб оцінити частку часу очікування API порівняно з активними обчисленнями.. Ознайомтеся з архітектурою Agent Substrate на ate.dev та протестуйте життєвий цикл акторів у тестовому кластері Kubernetes 1.37.. Налаштуйте runtime-класи gVisor для існуючих кодинг-агентів, щоб ізолювати виконання системних команд і доступ до файлів.
- Проаналізуйте метрики вашого кластера агентів, щоб оцінити частку часу очікування API порівняно з активними обчисленнями.
- Ознайомтеся з архітектурою Agent Substrate на ate.dev та протестуйте життєвий цикл акторів у тестовому кластері Kubernetes 1.37.
- Налаштуйте runtime-класи gVisor для існуючих кодинг-агентів, щоб ізолювати виконання системних команд і доступ до файлів.
