Repolode
agent-substrate

agent-substrate/substrate

Среда выполнения с песочницами по модели нулевого доверия на Kubernetes: множество сохраняющих состояние AI-агентов используют небольшой пул воркеров благодаря снапшотам бездействующих процессов.

Звёзды
5,550
Форки
604
Открытые issues
833
Последний коммит
12 часов назад

Что это?

Agent Substrate — среда выполнения для запуска большого количества недоверенных, в основном бездействующих агентов на стандартном Kubernetes. Каждый актор работает в изолированной песочнице на базе gVisor или Cloud Hypervisor microVM и получает собственные вычислительные ресурсы, сеть и хранилище. Когда актор бездействует, его память и состояние файловой системы выгружаются из памяти в виде снапшота, а при поступлении запроса восстанавливаются. Благодаря этому множество акторов могут использовать небольшой пул прогретых воркер-подов.

В модели безопасности каждый актор считается враждебным по отношению к остальным. Акторы получают краткосрочные идентификаторы SPIFFE X.509, сетевой доступ по умолчанию запрещён, прямого доступа к учётным данным нет. Шлюз исходящего трафика atenet-egress добавляет учётные данные к разрешённым исходящим запросам за пределами песочницы; вместо него можно использовать собственный механизм политик. Проект позиционируется как среда выполнения с минимумом предписаний, а не как SDK для агентов, поэтому в ней можно запускать рабочие нагрузки, собранные с помощью таких фреймворков, как LangChain или ADK, в виде образов контейнеров OCI.

Проект пока не достиг версии 1.0, поэтому его API могут меняться. В состав входят CLI kubectl-ate, API-сервер плоскости управления, DaemonSet для узлов и несколько демонстрационных примеров, включая счётчик с сохранением состояния и конфигурацию Claude Code с несколькими агентами.

Ключевые возможности

  • 01Запускает каждый актор в изолированной песочнице на базе gVisor или Cloud Hypervisor microVM.
  • 02Создаёт снапшоты памяти и файловой системы бездействующих акторов и восстанавливает их по запросу.
  • 03Выдаёт каждому актору идентификаторы SPIFFE X.509 и JWT.
  • 04Добавляет учётные данные через шлюз исходящего трафика, поэтому код в песочнице никогда их не хранит.
  • 05По умолчанию запрещает сетевой доступ; входящий трафик проходит через atenet-router.
  • 06Работает на стандартном Kubernetes и включает CLI kubectl-ate.

Сценарии использования

  • Размещение множества агентов для написания кода с сохранением состояния файловой системы между сессиями.
  • Выполнение недоверенных инструментов для LLM-агентов без раскрытия API-ключей.
  • Распределение нагрузки множества преимущественно бездействующих MCP-серверов или агентов на небольшой пул воркер-подов с переподпиской ресурсов.
  • Совместное использование одного кластера Kubernetes агентами и рабочими нагрузками инференса и обучения.

Быстрый старт

  1. 1

    Установите Go, kubectl и Docker

  2. 2

    Создайте кластер kind и локальный реестр

    hack/create-kind-cluster.sh
  3. 3

    Установите Agent Substrate, PostgreSQL и rustfs, а затем демо counter

    hack/install-ate-kind.sh --deploy-ate-system --credential-provider='{"name":"k8s.io"}'
  4. 4

    Создайте actor counter и отправьте ему HTTP-запрос через router

    kubectl ate create actor my-counter-1 -a ate-demo-counter --template counter

Что важно знать

  • Версия до 1.0, обратная совместимость не гарантируется; API и поведение могут значительно измениться.
  • Требуется кластер Kubernetes, а также Go, kubectl и Docker. Для запуска более примерно тысячи sandbox также потребуется настроить ядро на хосте Linux.
  • Для варианта с GKE нужны ресурсы Google Cloud и настройка IAM.
  • Чтобы actors могли читать Secrets, необходимо вручную выдать разрешения политики для namespace.

Темы

Частые вопросы

Что такое substrate?
Среда выполнения с песочницами по модели нулевого доверия на Kubernetes: множество сохраняющих состояние AI-агентов используют небольшой пул воркеров благодаря снапшотам бездействующих процессов. Agent Substrate — среда выполнения для запуска большого количества недоверенных, в основном бездействующих агентов на стандартном Kubernetes. Каждый актор работает в изолированной песочнице на базе gVisor или Cloud Hypervisor microVM и получает собственные вычислительные ресурсы, сеть и хранилище. Когда актор бездействует, его память и состояние файловой системы выгружаются из памяти в виде снапшота, а при поступлении запроса восстанавливаются. Благодаря этому множество акторов могут использовать небольшой пул прогретых воркер-подов.
substrate можно использовать бесплатно? Какая у него лицензия?
substrate распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
substrate всё ещё поддерживается?
Активно поддерживается. Последний коммит в substrate — 19 окт. 2026 г..
Для чего можно использовать substrate?
Размещение множества агентов для написания кода с сохранением состояния файловой системы между сессиями. Выполнение недоверенных инструментов для LLM-агентов без раскрытия API-ключей. Распределение нагрузки множества преимущественно бездействующих MCP-серверов или агентов на небольшой пул воркер-подов с переподпиской ресурсов. Совместное использование одного кластера Kubernetes агентами и рабочими нагрузками инференса и обучения.
Как установить substrate?
Установите Go, kubectl и Docker Создайте кластер kind и локальный реестр: hack/create-kind-cluster.sh Установите Agent Substrate, PostgreSQL и rustfs, а затем демо counter: hack/install-ate-kind.sh --deploy-ate-system --credential-provider='{"name":"k8s.io"}' Создайте actor counter и отправьте ему HTTP-запрос через router: kubectl ate create actor my-counter-1 -a ate-demo-counter --template counter
Где скачать substrate?
Исходный код и инструкции по установке — на GitHub: https://github.com/agent-substrate/substrate

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Постоянная память для AI-агентов-разработчиков: автоматически сохраняет сессии и подбирает полезный контекст для следующих сессий в Claude Code, Cursor, Codex и других MCP-клиентах.

29,7 тыс.2,6 тыс.TypeScriptApache-2.0Обновлён 11 часов назад