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

新しい Ubuntu VPS に AEGIS をインストールし、最初の承認付きタスクを実行する

他の言語: English, Español, Português, Deutsch, Français · 日本語のガイド一覧

開示: 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 で入ってください。

必要なもの:

ステップ 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 を確認し、ほかの形も試してください。

このガイドで扱わないこと

次に読むもの

ゲートの背景にある考え方は オーケストレーターに承認ステップを持たせる方法を、各実行で何を記録すべきかは 本番環境の AI エージェントのためのトレーサビリティ・チェックリスト を読んでください。エージェントのメモとコードを、MCP で読み書きできる 1 つの記録にまとめたいなら、Claude Code を MCP で Carbon Forge に接続する をご覧ください。

100monkeys.ai から AEGIS をインストール