ブログ · ガイド · 2026年10月28日
新しい Ubuntu VPS に AEGIS をインストールし、最初の承認付きタスクを実行する
開示: AEGIS は 100monkeys.ai が開発しているため、このガイドは作り手による説明として読んでください。docs.100monkeys.ai の公開ドキュメントをもとに当社の AI エージェントが下書きし、当社がレビューしました。この日本語版は英語の原文ガイドの翻訳です。以下のコマンドはすべてそのドキュメントか当社のトップページからコピーしたものです。このガイドのために新しい VPS でこの手順をそのまま実行したわけではありません。ドキュメント同士が食い違う箇所は、推測せずにそう明記しています。
AEGIS by 100monkeys.ai, in beta は、自律エージェントを隔離され、ポリシーが強制され、永続的な状態を持つランタイムで動かすセルフホスト型のオーケストレーターです。このガイドでは、まっさらな Ubuntu サーバーをローカルスタックが動く状態まで持っていき、次に人間の承認ゲートの後ろで 1 つのエージェントを実行します。エージェントの作業は止まり、あなたが「yes」と答えるまで待ちます。
始める前に
クイックインストールの位置づけを理解しておきましょう。Getting Started ページははっきりこう書いています。aegis init は "is designed for local testing and evaluation only. It uses an in-memory secrets store and does not deploy Keycloak (IAM) or OpenBao (secrets management)"(ローカルでのテストと評価専用で、シークレットはメモリ上に保存され、Keycloak も OpenBao もデプロイしない)。Infrastructure Requirements ページでは、IAM は "None (unauthenticated)"、TLS は "None" です。本番環境向けには、ドキュメントは aegis-deploy リポジトリを案内しています。
つまり VPS 上では、このスタックを非公開の実験環境として扱ってください。CLI のヘルスチェックはデフォルトでホスト 127.0.0.1、ポート 8088 を使います。このポートはインターネットに公開せず、サーバーには SSH で入ってください。
必要なもの:
- SSH で接続でき、
sudoを実行できるユーザーがいる Ubuntu または Debian のサーバー。インストーラーは "runs on Ubuntu or Debian (it needsapt-get)" です。 - x86_64 マシン。インストーラーが固定するリリースには Linux x86_64 用のアーカイブ
aegis-linux-x86_64.tar.gzが含まれます。 - モデルプロバイダーの API キー。ドキュメントのプロバイダーページは、独自モデルを持ち込むエイリアスの仕組みのもとで OpenAI、Anthropic、Ollama を扱っています。
ステップ 1. インストーラーを実行する
100monkeys.ai に表示されている行をコピーし、通常のユーザーで実行します:
curl -fsSL https://get.100monkeys.ai | bash
先にスクリプトを読みたい場合はそうしてください。ドキュメントによると、https://get.100monkeys.ai は aegis-orchestrator の main ブランチにある install.sh にリダイレクトされます。Linux では、足りなければ curl、ca-certificates、fuse3 をインストールし、バイナリが必要とする場合は libfuse3 を、Docker がなければ Docker Engine(docker-ce)をインストールします。Docker は動いているのにユーザーが使えない場合は、そのユーザーを docker グループに追加します。その後 aegis を /usr/local/bin/aegis に配置し、aegis up --tag <version> でスタックを起動します。
リリースを固定したい場合は、実行前に AEGIS_VERSION にリリースタグを設定してください。公開済みのパッケージはドキュメントの Releases ページに一覧があります。
ステップ 2. バイナリとスタックを確認する
aegis --version
aegis status
aegis status はローカルスタックの状態を表示します。インストール中に docker グループに追加された場合は、一度ログアウトして入り直し、新しいシェルにグループが反映されるようにしてください。
ステップ 3. ガイド付きセットアップを実行し、モデルプロバイダーを選ぶ
aegis init
このウィザードは "prepares stack files, configures the node, starts Docker Compose services, verifies health, and can optionally load smoke-test agents"(スタックのファイルを用意し、ノードを設定し、Docker Compose のサービスを起動し、ヘルスを確認し、必要ならスモークテスト用エージェントを読み込む)ものです。hello-world のスモークテストを聞かれたら受け入れてください。次のステップで使います。書き出される設定は、モデルのエイリアス default、smart、judge、tool-judge を選んだプロバイダーに割り当てます。hello-world エージェントは smart を使い、ノードに割り当てのないエイリアスは Model alias '<alias>' not found で失敗するので、プロバイダーの質問は最後まで答えてください。--dir を指定しない限り、スタックのファイルは ~/.aegis に置かれます。
ステップ 4. hello-world を一度、無人で実行する
ゲートを足す前に、ループが動くことを確かめます:
aegis task execute hello-world \
--input '{"task": "Write a Python function that returns the Fibonacci sequence up to n."}' \
--follow
--follow は各イテレーションのイベントを流します。エージェントはコードを生成して検証を実行し、成功するか、バリデーターが通るまでイテレーションを重ねて改善します。
ステップ 5. 承認ゲートを持つワークフローを書く
AEGIS の承認は、kind: Human のワークフロー状態です。次の内容を approved-task.yaml として保存します。Building Workflows ページの例の形にならい、エージェント 1 つとゲート 1 つに絞ったものです:
apiVersion: 100monkeys.ai/v1
kind: Workflow
metadata:
name: approved-task
version: "1.0.0"
description: "One agent drafts, a person approves, then the run completes."
spec:
initial_state: DRAFT
states:
DRAFT:
kind: Agent
agent: hello-world
timeout: 600s
transitions:
- condition: on_success
target: APPROVE
- condition: on_failure
target: FAILED
APPROVE:
kind: Human
prompt: |
Draft:
{{DRAFT.output}}
Approve? (yes/no)
timeout: 86400s
transitions:
- condition: input_equals_yes
target: DONE
- condition: input_equals_no
target: FAILED
DONE:
kind: System
command: "echo 'Approved'"
transitions: []
FAILED:
kind: System
command: "echo 'Rejected or failed'"
transitions: []
ステップ 6. デプロイして実行を開始する
aegis workflow deploy ./approved-task.yaml --force
aegis workflow run approved-task \
--input '{"task": "Write a Python function that returns the Fibonacci sequence up to n."}'
run コマンドは実行 ID を表示します。それを追いかけます:
aegis workflow logs <execution-id> --follow --verbose
aegis workflow executions get <execution-id>
下書きができると、executions get は現在の状態を APPROVE (WAITING FOR HUMAN SIGNAL) と表示します。誰かが答えるまで、ゲートの後ろは何も実行されません。
ステップ 7. 下書きを読み、答える
aegis workflow signal <execution-id> --response yes
no と答えると、実行は FAILED に進みます。誰も答えないゲートはタイムアウト後に期限切れとなり、デフォルトの動作では理由 human_input_timeout で失敗として記録されます。
注意点が 1 つあります。ドキュメントの間で答える単語が一致していません。Human Approvals ページは yes/no のゲートが ["yes", "no"] を受け付けるとし、Building Workflows ページは --response approved を送り、CLI のページは --response "approve" を示しています。ここでは、遷移 input_equals_yes の名前の由来である yes を使っています。実行が進まない場合は executions get を確認し、ほかの形も試してください。
このガイドで扱わないこと
- 本番環境。Keycloak、OpenBao、Caddy による TLS、オブザーバビリティを追加する aegis-deploy を使ってください。
- API の公開。
aegis initのスタックには IAM がないため、ポート 8088 に到達できる人は誰でも操作できてしまいます。 - ハードウェアのサイズ。ドキュメントには依存関係の表(Docker 24.0+ または Podman 4.0+、PostgreSQL 15+、SeaweedFS、ワークフロー用の Temporal)がありますが、ローカルスタックの最小 RAM の数値は見つからなかったため、ここでは記載しません。
次に読むもの
ゲートの背景にある考え方は オーケストレーターに承認ステップを持たせる方法を、各実行で何を記録すべきかは 本番環境の AI エージェントのためのトレーサビリティ・チェックリスト を読んでください。エージェントのメモとコードを、MCP で読み書きできる 1 つの記録にまとめたいなら、Claude Code を MCP で Carbon Forge に接続する をご覧ください。