ブログ · ガイド · 2026年10月29日

AEGIS エージェントのランタイムを標準レジストリから選ぶ

他の言語: English, Español, Português, Deutsch, Français, 한국어, 简体中文, Italiano, हिन्दी · 日本語のガイド一覧

開示: AEGIS は 100monkeys.ai が開発しているため、このガイドは作り手による説明として読んでください。公開されている AEGIS ドキュメント、主に Standard Runtime Registry、Management Tools の aegis.runtime.list の項、CLI Reference をもとに当社の AI エージェントが下書きし、当社が確認しました。この日本語版は英語の原文ガイドの翻訳です。以下の YAML の各行、呼び出し、コマンドはそれらのページからそのまま写したもので、このガイドのためにはどれも実行していません。引用は英語のまま載せ、訳を添えています。ドキュメントが答えていない点は、最後の節に書いています。

AEGIS by 100monkeys.ai, in beta は、各エージェントをコンテナの中で実行します。エージェントのマニフェストはイメージの代わりに言語とバージョンを指定でき、イメージはオーケストレーターが選びます。レジストリのページははっきりこう書いています。"Using StandardRuntime means you never specify a Docker image directly."(StandardRuntime を使えば、Docker イメージを直接指定することはない)。このガイドではランタイムを選び、デプロイ前に確かめ、実行時に何が起きるかを示します。

ステップ 1. レジストリが決めることを知る

マニフェストが spec.runtime.language と spec.runtime.version を指定すると、オーケストレーターは "resolves them to a deterministic, pinned Docker image at execution time."(実行時にそれらを決定的で固定された Docker イメージへ解決する)。対応表は runtime-registry.yaml にあり、オーケストレーターのリポジトリにコミットされ、デーモンの起動時に読み込まれます。レビューの観点で大事なのは、同じ組を指定した 2 つのエージェントは同じイメージで動き、誰もマニフェストにイメージのタグを書かないことです。

ステップ 2. レジストリに受け付ける組を尋ねる

ほかのエージェントのマニフェストを書くエージェントや、クライアントを使う人は、組み込みツール aegis.runtime.list を呼べます。引数なしならすべてのランタイムを、言語を渡せばその言語だけを返します。

{}
{ "language": "python" }

答えには各ランタイムの language、version、image、description、deprecated フラグと、custom_runtime_supported が含まれます。レジストリのページはこのツールの理由をこう書いています。"prevents hallucinated language-version combinations from being written into manifests."(でっち上げた言語とバージョンの組がマニフェストに書かれるのを防ぐ)。aegis-system-agent-runtime のセキュリティコンテキストで "with no additional configuration"(追加の設定なしで)使えます。

ステップ 3. サポートされた組を選ぶ

レジストリのページにある現在の対応表です。

言語バージョンイメージ
python3.11、3.10。3.9 は非推奨python:3.x-slim、Debian 12
javascript20、18node:20-alpine、node:18-alpine
typescript5.1node:20-alpine
go1.21、1.20golang:1.x-alpine
rust1.75、1.74rust:1.x-alpine
bash5python:3.11-slim(ブートストラップ用に python3 入り)

非推奨のバージョンを指定したマニフェストは "still execute but emit a warning in the execution log"(引き続き実行されるが、実行ログに警告を出す)。ページは python: "3.9" を非推奨とし、3.10 か 3.11 へ移るよう書いています。削除は "two phases in advance"(2 フェーズ前に)告知され、削除されたバージョンは検証で失敗します。

ステップ 4. マニフェストに書く

spec:
  runtime:
    language: "python"   # Required (StandardRuntime)
    version: "3.11"      # Required (StandardRuntime)
    isolation: "docker"  # inherit | docker | firecracker
    model: "default"     # LLM model alias from aegis-config.yaml

"Specifying an unsupported language+version combination is rejected at execution validation time with a descriptive error. There is no fallback to a default version."(サポートされない language+version の組を指定すると、実行の検証時にわかりやすいエラーで拒否される。既定のバージョンへの切り替えはない)。役に立つのは最後の文です。打ち間違いが黙って別のインタープリターで動くことはありません。

ステップ 5. 検証してからデプロイする

aegis agent deploy ./agent.yaml --validate-only
aegis agent deploy ./agent.yaml

--validate-only はデプロイせずに解析と検証だけを行います。同じ名前とバージョンを 2 度デプロイすると、--force を付けない限り失敗します。

ステップ 6. エージェントに必要なものを入れるか、独自イメージに移る

標準イメージにはそれぞれの言語のパッケージツールが入っています。Python のイメージには pip と apt、Node のイメージには npm と apk、Go には go と apk、Rust には cargo と rustc。TypeScript ではオーケストレーターが TYPESCRIPT_VERSION=5.1 を設定し、ドキュメントはブートストラップで npm install -g typescript ts-node によりツールチェーンを入れるよう書いています。ffmpeg のような OS パッケージ、レジストリにないバージョン、ビルド済みバイナリ、非公開の依存関係が必要なときのページの答えは、毎回の実行で同じものを入れるのではなく、自分のイメージである Custom Runtime です。

ステップ 7. エージェントの起動時に起きることを知る

標準ランタイムでは、オーケストレーターが組をイメージへ解決し、コンテナを生かしておくだけのメインプロセスでコンテナを作り、bootstrap.py がまだなければ /usr/local/bin/aegis-bootstrap にアップロードし、プロンプトを渡して実行します。ブートストラップはオーケストレーターのディスパッチゲートウェイへ接続し直し、反復のループを回します。"generate → execute → validate → refine"(生成、実行、検証、改良)。

ステップ 8. 自分のノードでは、デーモンが探す場所にレジストリファイルを置く

# aegis-config.yaml
spec:
  runtime:
    runtime_registry_path: "runtime-registry.yaml"

既定のパスはデーモンの作業ディレクトリからの相対パスです。ファイルがないか解析できないと、デーモンは "hard-fails at boot"(起動時にそのまま失敗する)。理由は "a missing registry makes every StandardRuntime agent execution impossible."(レジストリがないと、StandardRuntime のエージェントはどれも実行できない)からです。デーモンを別のディレクトリやコンテナイメージの中から動かすときは、絶対パスを設定してください。

ドキュメントが答えていないこと

次に読むもの

ランタイムはエージェントマニフェストの 1 つのフィールドにすぎません。残りについては AEGIS のエージェントマニフェスト: すべてのフィールドと、それが強制することを読んでください。AEGIS は 100monkeys.ai に載っているコマンドでインストールできます。

curl -fsSL https://get.100monkeys.ai | bash

AEGIS をインストール