Repolode
agent-substrate

agent-substrate/substrate

アイドル状態のアクターをスナップショットし、少数のワーカーで多数のステートフルAIエージェントを動かす、Kubernetes上のゼロトラスト・サンドボックスランタイム。

スター
5,550
フォーク
604
未解決の Issue
833
最終コミット
15 時間前

これは何?

Agent Substrateは、標準的なKubernetes上で、信頼できず大半の時間はアイドル状態にある多数のエージェントを実行するためのランタイムです。各アクターは、独自のコンピュート、ネットワーク、ストレージを備えたgVisorまたはCloud HypervisorのmicroVMサンドボックス内で動作します。アクターがアイドル状態になると、メモリとファイルシステムの状態がメモリ外にスナップショットされ、リクエストの到着時に復元されます。これにより、多数のアクターで少数のウォームなワーカーポッドを共有できます。

セキュリティモデルでは、各アクターは互いに敵対するものとして扱われます。アクターには有効期間の短いSPIFFE X.509 IDが付与され、ネットワークはデフォルト拒否で、認証情報への直接アクセスはできません。egress gatewayのatenet-egressは、サンドボックスの外部から許可されたアウトバウンドリクエストに認証情報を注入します。また、カスタムのポリシーエンジンに置き換えることもできます。このプロジェクトは、エージェントSDKではなく、特定の流儀を押し付けないランタイムとして位置付けられており、LangChainやADKなどのフレームワークで構築したワークロードをOCIコンテナイメージとして実行できます。

このプロジェクトはpre-1.0であり、APIが変更される可能性があります。kubectl-ate CLI、コントロールプレーンAPIサーバー、ノードDaemonSetに加え、ステートフルなカウンターやマルチエージェントのClaude Code構成など、複数のデモを提供しています。

主な機能

  • 01各アクターをgVisorまたはCloud HypervisorのmicroVMサンドボックス内で実行します。
  • 02アイドル状態のアクターのメモリとファイルシステムをスナップショットし、必要に応じて復元します。
  • 03アクターごとにSPIFFE X.509 IDとJWTを発行します。
  • 04egress gateway経由で認証情報を注入するため、サンドボックス内のコードが認証情報を保持することはありません。
  • 05デフォルト拒否のネットワークを採用し、ingressはatenet-router経由でルーティングします。
  • 06標準的なKubernetes上で動作し、kubectl-ate CLIを利用できます。

ユースケース

  • セッションをまたいでファイルシステムの状態を保持する、多数のステートフルなコーディングエージェントのホスティング。
  • APIキーを公開せずに、LLMエージェント向けの信頼できないツール実行を行う。
  • 大半の時間がアイドル状態にある多数のMCPサーバーやエージェントで、少数のワーカーポッドを効率よく共有する。
  • エージェント、推論、トレーニングのワークロードを、1つの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

    counter actorを作成し、router経由でHTTPリクエストを送信する

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

使う前に知っておきたいこと

  • 1.0より前のバージョンで、後方互換性は保証されません。APIや動作が大幅に変更される可能性があります。
  • Kubernetesクラスターに加えてGo、kubectl、Dockerが必要です。また、約1,000を超えるsandboxを実行するには、Linuxホストでカーネルの調整が必要です。
  • GKEの手順では、Google CloudリソースとIAMの設定が必要です。
  • actorがSecretsを読み取るには、事前にnamespaceポリシーの許可を手動で設定する必要があります。

トピック

よくある質問

substrate とは?
アイドル状態のアクターをスナップショットし、少数のワーカーで多数のステートフルAIエージェントを動かす、Kubernetes上のゼロトラスト・サンドボックスランタイム。 Agent Substrateは、標準的なKubernetes上で、信頼できず大半の時間はアイドル状態にある多数のエージェントを実行するためのランタイムです。各アクターは、独自のコンピュート、ネットワーク、ストレージを備えたgVisorまたはCloud HypervisorのmicroVMサンドボックス内で動作します。アクターがアイドル状態になると、メモリとファイルシステムの状態がメモリ外にスナップショットされ、リクエストの到着時に復元されます。これにより、多数のアクターで少数のウォームなワーカーポッドを共有できます。
substrate は無料で使えますか?ライセンスは?
substrate は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
substrate は今もメンテナンスされていますか?
活発にメンテナンス中。substrate の最終コミットは 2026年10月19日 です。
substrate は何に使えますか?
セッションをまたいでファイルシステムの状態を保持する、多数のステートフルなコーディングエージェントのホスティング。 APIキーを公開せずに、LLMエージェント向けの信頼できないツール実行を行う。 大半の時間がアイドル状態にある多数のMCPサーバーやエージェントで、少数のワーカーポッドを効率よく共有する。 エージェント、推論、トレーニングのワークロードを、1つの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"}' counter actorを作成し、router経由でHTTPリクエストを送信する: kubectl ate create actor my-counter-1 -a ate-demo-counter --template counter
substrate はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/agent-substrate/substrate

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト