google/ax
AIエージェントの仕事を、Kubernetes の上で隔離して大量に回す
どういうものか
AIエージェントの作業を、クラスタの上でまとめて動かすための実行基盤だ。Google の GitHub 組織で公開されていて、Go で書かれ、ライセンスは Apache-2.0。何をさせたいかを YAML の設定ファイルに書いて ax apply で渡すと、AX が隔離された実行環境(サンドボックス)を用意し、作業場所をつないで、エージェントを走らせる。README は「Kubernetes を使ったことがあれば似た感覚で使える」と書いていて、コマンドも apply・get・describe・watch・delete と kubectl に形を揃えてある。
設定ファイルで扱うものは3つある。エージェントを CPU とメモリの上限つきで隔離して動かす単位の Task、Git リポジトリ・MCP サーバー・スキルをあらかじめつないでおく Workspace、基盤そのものが使う LLM を指定する Model だ。Model の認証情報は Kubernetes の secret から読む。エージェント向けのコマンドもあり、ax suspend で止めた作業を ax resume で止めたところから再開でき、ax ssh で動いている環境の中に入って様子を見られる。
なぜ専用の基盤が要るのかについて、README はこう説明している。エージェントは、状態を持たないサービスとも、最後まで走って終わる一括処理とも違う。状態を溜め込み、厳しい隔離が要り、モデルの API やツールのサーバーを呼び出し、誰も見ていなければループしてお金を使い続けることもある。実際の隔離実行は、別プロジェクトの Agent Substrate が受け持つ。
どんなときに使うか
たくさんのエージェントを、互いに干渉させずに動かしたいとき
エージェントごとにサンドボックスを分け、CPU とメモリの上限を付けて動かす。信頼しきれないコードをエージェントに実行させる場合にも、ほかの作業と切り離しておける。
動いているエージェントが何をしているか、途中で確かめたいとき
ax watch で状態の変化を流して見られ、ax ssh で実行環境の中に入れる(ssh で入るには設定で debug: true にしておく)。手を止めておきたいときは ax suspend で止め、あとで続きから再開できる。
注意点
仕様がまだ固まっていない。 README の冒頭に、中心の考え方・プロトコル・仕様を練り直している最中で、安定版の前に大きな互換性のない変更が入る見込みだと警告がある。設定ファイルの版も v1alpha1 だ。
始めるまでの前提が重い。 Agent Substrate を入れた Kubernetes クラスタ、Go と kubectl、コンテナを組み立てる ko、クラスタから取得できるコンテナレジストリが要る。