AgentSpace: 사람과 AI 에이전트가 한 팀으로 일하는 협업 워크스페이스 (feat. HKUDS)

AgentSpace 소개

AgentSpace는 사람과 AI 에이전트가 하나의 워크스페이스에서 한 팀으로 일하도록 설계된 에이전트 협업 플랫폼입니다. 에이전트가 점점 똑똑해지고 있지만, 대부분의 에이전트 도구는 여전히 한 사람이 터미널 하나에서 단발성으로 쓰는 형태에 머물러 있습니다. 강력한 에이전트가 한 사람의 계정 안에만 갇혀 있고, 맥락과 권한이 여기저기 흩어져 있어서, 팀이 일상 업무에 에이전트를 끌어들이려는 순간 곧바로 한계에 부딪힙니다.

AgentSpace는 이 문제를 "에이전트를 디지털 직원(Digital Employee)으로 다룬다"는 발상으로 풉니다. 에이전트는 그냥 호출하는 도구가 아니라 역할과 소유자, 책임을 가진 1급 팀원으로 취급됩니다. 사람은 방향 설정과 권한 부여를 맡고, 에이전트는 조율과 실행을 맡는 구조입니다. 이 프로젝트는 홍콩대학교 데이터지능연구소(HKUDS)가 공개했으며, 초경량 개인 비서 nanobot 같은 에이전트 도구를 함께 만들어 온 팀입니다.

AgentSpace는 일정과 실행 라우팅, 역량(에이전트) 공유, 협업, 권한 통제라는 네 가지 축을 한곳에서 제공합니다. 구현은 TypeScript 모노레포로 되어 있고, Next.js 기반 웹 워크스페이스와 로컬 제어용 CLI, 원격 실행을 담당하는 데몬(daemon), 그리고 여러 에이전트 CLI를 하나의 실행 계약으로 묶는 AgentRouter로 구성됩니다. 본 게시물에서는 AgentSpace가 풀려는 문제, 네 가지 핵심 기능, 전체 구조와 AgentRouter, 그리고 설치와 사용법을 정리합니다.

AgentSpace가 풀려는 문제

대부분의 에이전트 제품은 한 사람, 하나의 터미널, 하나의 채팅 세션을 전제로 만들어졌습니다. 그래서 팀이 운영 업무에 에이전트를 투입하려 하면 다음과 같은 지점에서 무너진다고 개발팀은 설명합니다:

  • 에이전트가 비공개로 머문다: 강력한 에이전트가 한 사람의 터미널이나 계정 안에서만 살아 있어 나머지 팀원에게는 보이지 않습니다.

  • 맥락이 흩어진다: 메시지, 문서, 승인, 스크린샷, 런타임 파일이 공유될 곳 없이 따로 떠다닙니다.

  • 실행이 파편화된다: 제공자(provider)마다 CLI 동작, 세션 모델, 진단 방식이 달라서 런타임을 바꾸면 맥락을 처음부터 다시 쌓아야 합니다.

  • 거버넌스가 없다: 자격 증명, 문서, 런타임 접근, 도구 호출, 외부로 나가는 동작을 한곳에서 들여다보기가 거의 불가능합니다.

  • 작업이 남지 않는다: 여러 날에 걸친 작업에는 큐, 인수인계, 산출물, 재시도, 사람 체크포인트가 필요하지만 단일 에이전트 프레임워크는 이를 제공하지 못합니다.

결과적으로 에이전트는 혼자 쓸 때는 강력하지만 팀에서는 약해집니다. AgentSpace는 사람이 방향과 권한을 쥐고 에이전트가 조율과 실행을 맡는 구조로 이 간극을 메우려 합니다.

AgentSpace의 네 가지 핵심 기능

AgentSpace는 에이전트 조직에 **일정(Scheduling), 역량(Capability), 협업(Collaboration), 보안(Security)**이라는 네 가지 역량을 부여해, 에이전트가 실제 팀처럼 일하게 만드는 것을 목표로 합니다. AgentSpace가 지향하는 각 역량들은 다음과 같습니다.

일정과 실행 라우팅 (Scheduling)

같은 에이전트를 실행 요구사항이 바뀔 때마다 다시 만들 필요가 없도록, AgentSpace는 에이전트의 정체성과 지침, 맥락을 작업 전반에 걸쳐 안정적으로 유지합니다. 각 작업은 AgentRouter를 통해 Claude Code, Codex, OpenClaw, Hermes 등 알맞은 하네스나 제공자 런타임으로 라우팅됩니다. 실행 경로가 바뀌어도 바뀌는 것은 하네스뿐이고, 스킬과 지식, 권한, 직원의 전체 맥락은 그대로 유지됩니다.

디지털 직원 보드 (Capability)

한 사람의 계정 안에 잠겨 있는 좋은 에이전트는 조직 입장에서는 낭비된 잠재력입니다. AgentSpace의 디지털 직원 보드(Digital Employee Board)는 모든 에이전트를 역할, 소유자, 스킬, 지식, 준비 상태, 런타임 바인딩과 함께 조직 전체에 노출합니다. 팀원은 접근을 요청하거나 에이전트를 빌려 쓸 수 있고, 소유자 검토 큐와 관리자 승인 경로는 명시적으로 유지되어 사람이 "누가 무엇에 접근할 수 있는지"를 끝까지 통제합니다.

협업과 사람 승인 (Collaboration)

실제 업무는 하나의 채팅 세션이 아니라 사람과 시스템, 결정을 거쳐 움직입니다. AgentSpace의 에이전트는 채널, 1:1 대화, 인박스 작업, 문서, 작업 보드를 넘나들며 동작합니다. 증거 수집부터 예산 점검, 승인 준비, 실행, 산출물 전달까지 이어지는 복잡한 요청이 사람의 수동 인수인계 없이 진행되고, 영향이 큰 동작은 사람 승인 단계로 곧장 라우팅됩니다. 개발팀은 이 승인 과정을 "빠른 TabTabTab 스타일 승인 루프"라고 표현하는데, 에이전트가 계속 일하는 동안에도 사람이 통제권을 유지하도록 한다는 의미입니다.

권한 통제와 감사 (Security)

에이전트가 실행을 더 많이 떠맡을수록 거버넌스를 나중 문제로 미룰 수 없습니다. AgentSpace는 워크스페이스 역할, 채널, 문서, 스킬, 지식, 런타임, 데몬 토큰, Google 자격 증명을 한곳에서 통제합니다. 문서 접근 요청, 런타임 도구 승인, 지식 제안 검토, 에이전트 범위의 Google Workspace 위임을 지원하며, 권한을 자원 트리 기준이나 행위자(actor) 기준으로 들여다볼 수 있습니다. 하나의 제어 평면(control plane)에서 권한을 회수·감사하고 권한 드리프트(permission drift)를 진단할 수 있습니다.

AgentSpace와 기존 방식의 차이

개발팀은 AgentSpace를 도입했을 때와 그렇지 않을 때의 차이를 다음 표로 정리하고 있습니다.

AgentSpace 없이 AgentSpace와 함께
에이전트가 로컬 터미널이나 비공개 채팅에 숨겨진 개인 도구 에이전트가 정체성, 소유권, 스킬, 지식, 요청 흐름을 갖춘 디지털 직원
런타임마다 실행 경로, 세션 모델, 진단이 제각각 AgentRouter가 모든 하네스를 하나의 실행 계약으로 통일
사람이 채팅, 문서, 시트, 작업 사이에서 맥락을 수동으로 옮김 공유 워크스페이스가 사람과 에이전트에게 같은 작업 맥락을 제공
권한이 도구, 파일, 자격 증명, 계정에 흩어져 있음 하나의 제어 평면이 권한 부여, 승인, 위임, 감사를 집중 관리
작업이 대화 기록으로 끝남 작업이 태스크, 파일, 문서, 런타임 산출물, 승인, 기록으로 남음

AgentSpace의 전체 구조

AgentSpace는 사람 멤버가 웹 워크스페이스나 agent-space CLI로 진입하면, 그 요청이 서비스 계층을 거쳐 작업·승인·알림 큐로 들어가고, 데몬과 provider-runtime을 통해 실제 에이전트 런타임으로 전달되는 흐름을 가집니다. 런타임의 출력과 진단, 세션은 다시 서비스 계층으로 돌아와 문서·지식·첨부·Google Workspace와 함께 워크스페이스에 축적됩니다.

코드는 모노레포로 구성되어 있으며, 저장소의 apps/packages/ 아래에 역할별로 나뉘어 있습니다.

AgentSpace/
├── apps/
│   ├── web/        # Next.js App Router 워크스페이스 UI
│   └── cli/        # 로컬 제어용 CLI
├── packages/
│   ├── domain/     # 공유 도메인 모델과 데몬 API 타입
│   ├── db/         # PostgreSQL 영속화와 런타임 레코드
│   ├── services/   # 웹과 CLI가 쓰는 비즈니스 서비스
│   ├── daemon/     # 원격 데몬 패키지와 AgentRouter CLI
│   └── sandbox/    # 샌드박스 추상화와 로컬 어댑터
├── deploy/         # systemd, nginx, PostgreSQL, 원격 데몬 스크립트
└── asset/          # 제품 이미지, GIF, 영상

AgentRouter, 하나의 에이전트로 여러 런타임 쓰기

AgentRouter는 제공자 하네스를 정규화하는 계층입니다. 워크스페이스나 비즈니스 큐를 대체하지 않고, 서로 다른 에이전트 CLI를 띄운 뒤 이벤트, 결과, 세션, 진단을 한 형태로 맞춰 줍니다. AgentRouter 경로로 동작하는 제공자와 레거시 provider-runtime으로 동작하는 제공자가 구분됩니다.

제공자(Provider) 실행 경로 진단
Claude Code AgentRouter stream-json 이벤트, 세션 폴백, 도구 승인 브릿지
Codex CLI AgentRouter JSON 이벤트, 세션 폴백, 런타임 도구 역량 진단
OpenClaw AgentRouter health/preflight, auth/profile/model/tool/protocol 진단, 세션 폴백
Hermes Agent AgentRouter 텍스트 출력, 실행 호환성 체크, 타임아웃·빈 응답 진단
Gemini CLI legacy provider-runtime 원샷 CLI
OpenCode legacy provider-runtime 원샷 JSON CLI
NanoBot legacy provider-runtime 원샷 CLI

AgentRouter 자체는 다음처럼 단독으로 스모크 테스트할 수 있습니다.

agent-router harnesses
agent-router detect
agent-router run --harness claude --cwd /workspace/project "summarize this repo"
agent-router run --harness codex --cwd /workspace/project --model gpt-5.1 "fix tests"
agent-router run --harness openclaw --cwd /workspace/project --mode medium "review this diff"
agent-router run --harness hermes --cwd /workspace/project "summarize this repo"

AgentSpace 설치 및 사용법

AgentSpace는 두 가지 배포 모드를 제공합니다. 인프라나 데이터베이스, 데몬 호스트를 직접 관리하지 않고 바로 시작하려는 팀을 위한 호스팅 플랫폼(Platform) 모드와, 데이터·인프라·런타임을 완전히 통제하려는 팀을 위한 자체 호스팅(Self-hosted) 모드입니다. 두 모드 모두 동일한 제품을 실행하며 기능 차이는 없다고 개발팀은 밝히고 있습니다.

자체 호스팅을 위한 요구사항은 다음과 같습니다.

  • Node.js 24 권장 (원격 데몬 패키지는 >=20.20.0 필요)
  • npm 11.x
  • PostgreSQL 16 권장 (로컬 Docker Compose 설정 포함)
  • 선택 사항으로 codex, claude, gemini, opencode, openclaw, nanobot, hermes 등 제공자 CLI와 Google OAuth / Google Workspace 설정

웹 워크스페이스는 다음 순서로 띄웁니다.

git clone
cd AgentSpace
npm run setup
cp .env.example .env
docker compose -f deploy/postgres/docker-compose.yml up -d
npm run db:pg:init
npm run dev:web

이후 브라우저에서 http://127.0.0.1:1455 로 접속합니다. 로컬 제어용 CLI는 워크스페이스 상태, 채널, 작업, 데몬 상태 등을 점검하는 데 쓰입니다.

npm run cli -- help
npm run cli -- doctor --json
npm run cli -- workspace status --json
npm run cli -- task list --json
npm run cli -- daemon status --json

원격 호스트에서 에이전트를 실행하려면 데몬을 패키징해 설치합니다. 데몬은 서버와 토큰으로 연결되어 원격 런타임 역할을 합니다.

npm run daemon:pack
npm install -g ./agent-space-daemon-0.1.3.tgz
agent-space-daemon start \
  --foreground \
  --server-url "https://your-agentspace-domain" \
  --daemon-token "adt_xxx" \
  --daemon-id "daemon-prod-01" \
  --device-name "prod-daemon-host-01" \
  --runtime-name "Remote Agent" \
  --task-timeout "43200000" \
  --state-dir "$HOME/.agent-space-daemon"

제공자별 설정과 OpenClaw health, Hermes, 문제 해결 절차는 저장소의 packages/daemon/README.md에 정리되어 있습니다. AgentSpace는 현재 멀티테넌트 워크스페이스, Google 로그인, PostgreSQL 영속화, 채널 문서·지식 베이스·전역 검색·승인·작업 보드, 원격 데몬과 AgentRouter 하네스 전환 등을 구현했으며, 더 강한 AgentRouter 플랫폼 세션과 멀티 에이전트 격리·샌드박스 정책 계층, 런타임 도구 마켓플레이스 등을 로드맵으로 두고 있습니다.

AgentSpace의 라이선스

AgentSpace는 Apache License 2.0으로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.

:house: AgentSpace 호스팅 플랫폼

:github: AgentSpace 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다!
텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. :smiley:

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: