rome-os/rome
요약
Rome은 에이전트가 작업하는 환경(도구, 워크플로우, 메모리 등)을 확장하여 복합적인 협업이 가능한 보호된 OS를 제공합니다. 이는 자체 하네스 구축 및 SOP 설계를 통해 사용자와의 상호작용을 증폭시키며, Grok Bot과 Muse에 대한 오픈 소스 대안으로 기능합니다.
핵심 포인트
- 에이전트 환경(도구/워크플로우) 확장에 초점
- 인간-에이전트 협업을 위한 보호된 OS 제공
- Grok Bot 및 Meta Muse의 오픈소스 대안
- Docker를 이용한 간편한 퀵스타트 가이드
재귀 에이전트를 위한 복합(compounding) 에이전트 OS.
Website · Try Rome Cloud · Documentation · App Store
AI 분야의 대부분의 진보는 모델을 확장하는 것에서 나옵니다. Rome은 다른 축, 즉 에이전트가 작업하는 환경—에이전트가 사용하는 도구(tools), 워크플로우(workflows), 메모리(memory), 인터페이스(interfaces)를 확장합니다 (이것이 중요한 이유).
Rome은 인간과 에이전트가 협업하고, 그 협업이 복합적으로 증폭되는 보호된 환경(guardrailed environment)입니다. 에이전트는 자체적인 하네스(harnesses)를 구축하고, 자체적인 SOP(Standard Operating Procedures)를 설계하며, 사용자의 지침 아래 워크플로우를 오케스트레이션합니다. 입증된 역량은 유지됩니다. 모든 상호작용은 다음 단계의 한계를 높입니다.
Rome은 또한 지속적인 에이전트, 예약 작업 및 사용자 지정 앱을 위한 Grok Bot과 Meta의 Muse에 대한 오픈 소스 대안으로 작동합니다.
Rome Cloud는 각 보호자(guardian)를 위해 사설 Rome 환경을 제공합니다. 현재 프리뷰로 이용 가능합니다.
스크립트 하나만 실행하면 Docker가 설치되었는지 확인하고, 게시된 이미지를 가져와 Rome을 시작합니다:
curl -fsSL https://raw.githubusercontent.com/rome-os/rome/main/scripts/quickstart-docker.sh | bash
또는 저장소를 클론하여 해당 스크립트를 실행할 수 있습니다:
git clone https://github.com/rome-os/rome.git
cd rome
./scripts/quickstart-docker.sh
대시보드는 http://localhost:7663에서 열리며, 루프백(loopback)에만 바인딩됩니다.
첫 실행 온보딩은 먼저 도달하는 사람에게 공개되므로, 기기를 넘어 노출하려면 명시적인 --bind 옵션이 필요합니다. 상태는 이름 지정된 Docker 볼륨(volumes)에 저장되므로, 스크립트를 다시 실행해도 데이터를 잃지 않고 컨테이너가 업그레이드됩니다. 원격 측정(Telemetry) 내보내기는 OTEL_EXPORTER_OTLP_ENDPOINT를 설정하지 않는 한 꺼져 있습니다.
포트, 프로필 및 전송되는 기타 설정을 확인하려면 스크립트를 --help와 함께 실행하세요.
Rome Docker 이미지는 기본적으로 PANTHEON_BASE_ORIGIN=https://romeos.cc를 사용합니다.
다른 Rome Cloud 배포를 사용하려면, 컨테이너 시작 시 docker run -e PANTHEON_BASE_ORIGIN=https://cloud.example.com을 사용하거나 Compose의 .env 파일에 설정하세요. 값을 변경한 후에는 컨테이너를 재생성해야 합니다.
퀵스타트 스크립트는 셸 오버라이드(shell override)도 허용합니다:
PANTHEON_BASE_ORIGIN=https://cloud.example.com ./scripts/quickstart-docker.sh
이 저장소에서 소스 코드로 실행하려면 다음이 필요합니다:
- Node.js 24 이상
- Corepack 및 pnpm 11.6
- Docker와 Docker Compose
이 저장소를 체크아웃한 후:
corepack enable
pnpm install
pnpm dev:all
pnpm dev:all은 프로덕션 형태의 로컬 스택(Rome, 관측 가능성(observability), 라우팅, 웹 개발 서버)을 시작합니다. 기본적으로 https://romeos.cc에 연결하며, 다른 Rome Cloud 배포를 사용하려면 ROME_DEV_PANTHEON_ORIGIN을 설정하세요. 이 스크립트는 시작이 완료되면 로컬 URL과 개발 자격 증명을 출력합니다.
이는 기여자(contributor)의 개발 경로이며 최종 프로덕션 자체 호스팅 배포본은 아닙니다. 전체 개발 루프, 컨테이너 명령어 및 유효성 검사 요구 사항은 CLAUDE.md를 참조하세요.
Rome App은 에이전트와 상호 작용하는 새로운 방식입니다.
채팅(Chat)은 무언가를 한 번 요청하기 좋은 곳입니다. 반복적인 작업은 그 자체로 자리할 공간을 가질 자격이 있습니다: 처리된 내용을 기억하는 받은 편지함, 검토할 수 있는 코드 리뷰 루프, 계속 모니터링하는 가격 추적기, 또는 예정된 시간에 도착하는 아침 브리핑 같은 것입니다.
Rome App은 목적에 맞게 설계된 인터페이스, 에이전트 추론(agent reasoning), 재사용 가능한 워크플로우, 그리고 영구적인 데이터(persistent data)를 하나의 설치 가능한 제품으로 결합합니다. 이는 프롬프트 주위에 얇게 감싼 래퍼가 아닙니다. 앱은 대화가 끝난 후에도, 브라우저가 닫힌 후에도, 사용자가 다음 날 돌아왔을 때도 유용하게 남아 있습니다.
| 목적에 맞춘 UI 및 UX | AI 네이티브 | 기본적으로 영구적 | 커뮤니티 기반 |
|---|---|---|---|
| 해당 작업을 위해 설계된 인터페이스 | 에이전트가 제품 작동 방식의 일부임 | 데이터와 워크플로우가 지속됨 | 다른 빌더들로부터 설치하고, 공유하고, 학습함 |
유용한 경험칙은 다음과 같습니다: 워크플로우는 동사(verb)이고, 앱은 명사(noun)입니다. 워크플로우를 사용하여 작업을 수행하고 결과를 반환하세요. 작업이 자체적인 보금자리, 사용자 편집 가능한 데이터, 여러 액션 또는 영구적인 에이전트를 필요로 할 때 앱을 만드세요.
필요한 앱이 없을 때는 Rome에게 일반 언어로 설명하면 됩니다. Rome은 그 요청을 짧은 명세서로 변환하고, 앱이나 워크플로우의 기본 구조(scaffold)를 잡고, 사용자의 인스턴스에 구축하며, 같은 대화 속에서 지속적으로 반복 개선할 수 있습니다.
결과는 숨겨진 모델 상태가 아니라 일반적인 git으로 추적 가능한 소스 코드입니다. 이를 비공개로 유지하거나, 필요에 따라 수정하거나, 다른 사람들이 App Store에서 설치하도록 공개할 수 있습니다. 이는 Rome의 자체 진화 루프를 만듭니다:
설득(Describe) → Rome이 기능 구축(build the capability) → 앱은 계속 작동(keeps working)
↑ ↓
└──────────── 개선, 재사용 및 공유 ────────┘
Rome App은 app.yaml 매니페스트로 시작하며 다음 요소들을 혼합하여 배포할 수 있습니다:
| 아티팩트 | 목적 |
|---|---|
| Actions (액션) | 에이전트, 루틴, 앱 코드가 호출할 수 있는 타입화된 연산자 |
| Agents (에이전트) | 자체 지침과 도구를 가진 앱 소유의 협업자 |
| Skills (스킬) | 에이전트가 필요로 할 때 로드되는 일반 언어 절차 |
| Hooks (훅) | 메시지, 이벤트, 에이전트 턴 생명주기에 대한 확장 기능 |
| Web UI & APIs | 목적에 맞게 설계된 인터페이스와 앱 소유의 HTTP 표면(surface) |
| Database & files | 실행 간에도 유지되는 영구적이고 앱 사설 상태 |
이 요소들이 합쳐져 **기능(capability)**을 형성합니다. 기능은 Rome이 나중에 작업에서 발견하고 재사용하는 단위입니다. 앱은 그 기능의 인간 인터페이스입니다: 앱은 인간의 상호작용을 조직하고; 기능은 에이전트의 행동을 조직합니다.
앱은 두 개의 공개 SDK를 기반으로 구축됩니다:
@rome-os/app-runtime (백엔드 기능을 위해)
@rome-os/app-web-sdk (임베디드 웹 인터페이스 및 Rome 빌드 CLI용).
Rome App Store를 둘러보거나, 빌딩 가이드를 읽거나, 앱 퀵스타트로 시작해 보세요.
다음은 Rome이 구현하도록 설계된 요청의 종류입니다:
코드 리뷰 루프 실행: "P1 및 P2 검토 코멘트를 모두 수정하여 병합 차단 요소가 남지 않게 하세요. 완료되면 알려주세요." | 이메일 정리: "받은 편지함을 분류해 주세요. 노이즈는 보관하고, 긴급한 것은 플래그를 지정하며, 답장이 필요한 메시지에 대한 초안을 작성해 주세요." | 게임 가격 추적: "이 게임의 가격을 추적하여 30달러 미만으로 떨어질 때 알려주세요." | 고객 인터뷰: "온보딩에 대해 고객 다섯 명을 인터뷰해 주세요. 후속 질문을 하고 우리가 개선해야 할 점을 요약해 주세요."
Rome은 모든 것을 하나의 채팅 창에 강제할 필요 없이, 일회성 작업(one-off tasks), 예약된 작업(scheduled work), 장기 실행 후속 조치(long-running follow-through), 그리고 목적 기반 앱 경험(purpose-built app experiences)을 처리할 수 있습니다.
Rome은 두 가지 제품 흐름이 만나는 지점에 위치합니다: 지속적인 에이전트(persistent agents)와 개인용 소프트웨어(personal software). 에이전트 제품들은 에이전트가 지속하고 개선해야 한다는 Rome의 논지를 공유합니다. 여기서는 무엇이 축적되는지, 작업이 반복될 때 무엇이 실행되는지, 그리고 결과를 어디서 운영하는지에 대한 비교가 이루어집니다. 개인용 소프트웨어 플랫폼들은 소프트웨어가 사람 개개인에 맞춰 구축되어야 한다는 Rome의 논지를 공유합니다. 여기서는 누가, 그리고 무엇이 앱 뒤에 서 있는지에 대한 비교가 이루어집니다.
| 무엇이 축적되는가 | 반복 작업을 수행하는 것 | 작동하는 곳 | 호스팅 | |
|---|---|---|---|
Rome | Git으로 추적되는 코드로서의 액션, 스킬, 앱, 그리고 메모리 및 앱 전용 데이터 | 저장된 액션, 필요에 따른 모델 호출 | 목적에 맞게 설계된 앱, 채팅 채널(Telegram, Discord, WhatsApp) 포함 | 자체 호스팅 또는 Rome Cloud |
Grok Bot (xAI) | 메모리, 스킬, 공유 클라우드 컴퓨터의 파일 | 스킬 및 루틴을 실행하는 봇 | 채팅, 파일 미리보기, 컴퓨터 접근 | xAI 호스팅 |
Muse (Meta) | 메모리, 목표, 파일, 그리고 상호작용 아티팩트 | 예약되거나 이벤트가 트리거된 에이전트 작업 | Muse 앱, WhatsApp, 목표, 및 아티팩트 | Meta 호스팅 |
Hermes Agent (Nous Research) | 텍스트 형태의 제한된 메모리 노트 및 스킬 문서 | 모델 또는 스크립트 전용 크론 작업* | 채팅 스레드(채팅 클라이언트, 데스크톱 앱 또는 CLI) | 자체 호스팅 |
Manus | 영지 지속적인 클라우드 컴퓨터의 파일, 도구, 데이터베이스, 그리고 지식 및 플레이북 | 모델 또는 기계에 남겨진 스크립트* | 채팅 세션, 그리고 독립 실행형 웹 앱 구축 | 호스팅, 앱 코드 내보내기 |
- Hermes와 Manus는 모델을 건너뛰는 일반 스크립트를 예약할 수 있습니다. 스크립트는 타이머에만 응답합니다. Rome의 액션은 빌딩 블록입니다: 에이전트, 앱, 인터페이스가 모두 이를 호출하며, 승인을 위해 일시 중지될 수 있습니다.
Grok Bot은 지속적인 봇에게 공유 클라우드 컴퓨터를 제공합니다. 이 봇의 스킬과 루틴은 반복 작업을 지원합니다. Rome은 자체 호스팅할 수 있는 런타임과 액션, 데이터, 인터페이스를 재사용할 수 있는 앱을 추가합니다.
Muse는 메모리, 예약 작업 및 상호작용 아티팩트를 통해 개인적인 작업을 처리합니다. Rome은 수정 가능한 소스 코드와 모델 제공업체 선택권을 가진 앱을 통해 유사한 워크플로우를 다룹니다.
Hermes Agent가 정신적으로 가장 가깝습니다: MIT 라이선스 기반이며 자체 호스팅이 가능하고, 큐레이션된 메모리, 직접 작성한 스킬 문서, 그리고 스킬 마켓플레이스를 갖추고 있습니다. 지속되는 것은 다음 추론 실행에 정보를 제공하는 텍스트와 모델을 건너뛰지만 타이머에만 응답하는 스크립트 전용 cron job뿐입니다. Rome이 지속시키는 소프트웨어는 다음과 같습니다: 실행 가능한 액션(executable actions), 앱별 데이터베이스(app-private databases), 그리고 목적에 맞게 제작된 인터페이스(purpose-built interfaces). 액션은 느슨한 스크립트라기보다는 빌딩 블록입니다: 에이전트, 루틴, 앱 인터페이스가 모두 동일한 것을 호출하며, 일시 중지 후 승인을 기다릴 수 있고, 모든 실행 기록이 남습니다. Rome은 이미 이전 작업에서 기능을 발견하고 조합하며, 그 목표는 오래된 것들을 통합하고 리팩토링하며 폐기하는 것으로 확장됩니다(VISION.md). Hermes가 에이전트에 대한 일반적인 인터페이스 하나를 제공하는 반면(채팅 클라이언트, 데스크톱 앱, 터미널), Rome은 반복되는 워크로드마다 목적에 맞게 제작된 앱을 성장시킵니다.
Manus는 목표를 지속적인 클라우드 컴퓨터의 에이전트에게 위임합니다: 파일은 유지되고, 설치된 도구도 유지되며, 예약된 작업(scheduled jobs), 장기 실행 봇(long-running bots), 데이터베이스가 해당 머신에서 살아남을 수 있습니다. 또한 코드를 내보내어 어디든 호스팅할 수 있는 풀스택 웹 앱도 구축합니다. 차이점은 그 지속성이 무엇으로 구성되어 있느냐입니다. Manus 스케줄은 측정된 비용으로 에이전트를 재실행하거나, 머신에 주차된 스크립트를 발사하는데, 이는 파일을 다시 찾을 때만 재사용할 수 있는 반면, Rome 액션은 모든 표면(surface)이 호출할 수 있는 명명된 연산입니다. Manus 앱은 에이전트와 분리되어 존재하는 결과물인 반면, Rome 앱 역시 에이전트가 나중에 작업에서 발견하고 재사용하는 기능입니다. 그리고 지식, 플레이북, 머신을 갖춘 Manus 에이전트 자체는 자신의 클라우드 내에서만 실행되는 반면, Rome은 자체 호스팅합니다.
Wabi는 개인 소프트웨어 측면에서 접근합니다: 누구나 미니 앱을 생성하도록 프롬프트하고, 이를 공유 및 리믹스하며, Wabi가 모든 것을 호스팅하는 소셜 플랫폼입니다. 이는 Rome의 베팅 중 절반을 입증하는데, 즉 평균 사용자를 위한 것이 아니라 개인별로 구축되는 소프트웨어입니다. 하지만 이 앱 뒤에 일하는 작업자가 없습니다: Wabi 앱은 최종 결과물이며, 여전히 사용자가 직접 작동시켜야 합니다. Rome 앱은 기능(capability)으로의 인터페이스이며, 그 기능은 양방향을 가집니다: 사용자는 그 뷰를 통해 작업하고, 에이전트는 나중에 과제에서 그 액션(action), 스킬(skill), 데이터 등을 통해 작업합니다. 새로운 Wabi 앱은 라이브러리를 성장시키고, 새로운 Rome 기능 또한 에이전트가 다음에 할 수 있는 것을 확장시킵니다. Wabi는 사용자에게 앱을 설명하도록 요구하는 반면, Rome은 결과(outcome)를 설명하도록 요청하고 작업에 가치가 있을 때만 앱을 남깁니다.
차이점은 복합화(compounding)의 단위입니다. Grok Bot은 호스팅된 봇 상태와 스킬을 복합화하고, Muse는 개인 컨텍스트와 아티팩트를 복합화합니다. Hermes는 에이전트의 노트를 복합화하고, Manus는 기계와 그 파일들을 복합화하며, Wabi는 공유 가능한 앱들의 네트워크를 복합화합니다. Rome은 환경(environment)을 복합화합니다: 사용자 소유의 실행 가능하고 조합 가능한 기능입니다 (이것이 지속 가능한 자산인 이유입니다). 빌딩 블록들은 조합됩니다: 하나의 작업을 위해 만들어진 기능이 더 야심찬 작업의 일부가 될 수 있으므로, 각 요청은 이전보다 더 많은 것을 요구할 수 있습니다. 계절성 재고를 정리하기 위해 각각 별도의 작업을 위해 구축된 인벤토리 기반 액션과 고객 이탈 스킬이 나중에 결합하여 광범위한 할인 없이 이를 수행합니다.
검증된 액션들은 비용 및 신뢰성 격차를 해소하고, 목적에 맞게 설계된 앱들은 인터페이스 격차를 해소하며, 유지보수는 환경이 성장함에 따라 일관성을 유지하게 합니다. 환경은 오픈되어 있고, git으로 추적되며, 내보내기가 가능하기 때문에 모델 교체에도 살아남습니다. 사용자들은 잠금 효과(lock-in)가 아니라 복합화 자체 때문에 머무릅니다.
Rome은 pnpm 모노레포입니다.
Path What lives there
|---|---|
packages/core/ | Agent runtime, sessions, actions, events, channels, policies, memory, and persistence |
packages/web/ | Guardian-only web dashboard |
packages/desktop/ | Electron shell and local Rome runtime |
rome_apps/ | First-party Rome Apps loaded through the same app model |
packages/app-runtime-sdk/ | Rome Apps용 공개 백엔드 SDK (Public backend SDK) |
packages/app-web-sdk/ | 공개 웹 SDK 및 앱 빌드 툴링 (Public web SDK and app build tooling) |
docs/ | 제품 개념, 아키텍처, 의사결정 기록(decision records), 운영 관련 문서
공통 검사:
pnpm typecheck
pnpm test:unit
pnpm lint
...
VISION.md
— Rome이 존재하는 이유와 이 제품이 보호하는 원칙들. docs/concepts/
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기