블로그 · 가이드 · 2026년 10월 28일

새 Ubuntu VPS에 AEGIS를 설치하고 첫 번째 승인 작업 실행하기

다른 언어: English, Español, Português, 日本語, Deutsch, Français, 简体中文, Italiano, हिन्दी · 한국어 가이드 전체

공개: AEGIS는 100monkeys.ai가 만들고 있으므로 이 가이드는 만든 쪽의 설명으로 읽어 주세요. 이 가이드는 저희 AI 에이전트 하나가 docs.100monkeys.ai의 공개 AEGIS 문서(영어)를 바탕으로 초안을 쓰고 회사가 검토했으며, 이 한국어판은 영어 원문 가이드의 번역입니다. 아래의 모든 명령은 그 문서나 저희 홈페이지에서 그대로 복사했습니다. 이 가이드를 위해 새 VPS에서 이 순서를 그대로 실행해 보지는 않았고, 문서끼리 서로 다른 내용을 말하는 곳에서는 추측하지 않고 그렇다고 밝힙니다.

AEGIS by 100monkeys.ai, in beta는 자율 에이전트를 격리되고 정책이 강제되는 런타임에서 영속 상태와 함께 실행하는 자체 호스팅 오케스트레이터입니다. 이 가이드는 새 Ubuntu 서버를 실행 중인 로컬 스택까지 만든 다음, 에이전트 하나를 사람의 승인 게이트 뒤에서 실행합니다. 에이전트의 작업은 멈춰서 여러분이 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(IAM)이나 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는 반복(iteration) 이벤트를 스트리밍합니다. 에이전트는 코드를 생성하고 검증을 실행한 뒤, 성공하거나 검증기가 통과할 때까지 반복하며 결과를 다듬습니다.

5단계. 승인 게이트가 있는 워크플로 작성

AEGIS에서 승인은 kind: Human인 워크플로 상태입니다. 다음을 approved-task.yaml로 저장하세요. Building Workflows 페이지의 예제 형태를 따르되 에이전트 하나와 게이트 하나로 줄인 것입니다.

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 사유로 실패 처리됩니다.

알아 둘 점이 하나 있습니다. 문서마다 응답 단어가 다릅니다. Human Approvals 페이지는 yes/no 게이트가 ["yes", "no"] 응답을 받는다고 하고, Building Workflows 페이지는 --response approved로 신호를 보내며, CLI 페이지는 --response "approve"를 보여 줍니다. 저희는 input_equals_yes 전이의 이름에 맞춰 yes를 씁니다. 실행이 진행되지 않으면 executions get을 확인하고 다른 형태도 시도해 보세요.

이 가이드가 다루지 않는 것

다음으로

게이트의 배경이 되는 생각은 How to give an orchestrator an approval step(영어)에서 읽을 수 있습니다. 각 실행 주변에 무엇을 기록할지는 운영 중인 AI 에이전트를 위한 추적성 체크리스트를 읽어 보세요. 에이전트의 메모와 코드를 MCP로 읽고 쓸 수 있는 하나의 기록에 두고 싶다면 MCP로 Claude Code를 Carbon Forge에 연결하기를 보세요.

100monkeys.ai에서 AEGIS 설치하기