지금까지의 AI 도구가 "한 번 묻고 한 번 답하는" 단발성이었다면, PilotDeck은 여러 프로젝트를 오래 굴리는 작업에 초점을 맞춘다. 그러려면 각 프로젝트의 기억이 섞이지 않아야 하고(WorkSpace 격리), 비용이 통제돼야 하며(라우팅), 사람이 없을 때도 일이 굴러가야(상시 실행) 한다.
PilotDeck은 "AI 에이전트를 위한 운영체제(OS)"다. 컴퓨터 OS가 프로그램마다 프로세스를 격리하고 메모리를 관리하듯, PilotDeck은 프로젝트(WorkSpace)마다 작업 공간을 격리하고 AI의 기억을 관리한다.
WorkSpace는 사무실의 개별 책상 겸 서랍이라고 보면 된다. A 프로젝트 서류가 B 책상에 섞이지 않고, 각 책상에는 그 일에 필요한 도구(스킬)와 메모(메모리)만 놓인다. 책상을 옮겨도 다른 책상은 그대로다.
칭화대 자연어처리 연구실(THUNLP), 그리고 OpenBMB·ModelBest·AI9Stars가 공동 개발해 2026년 5월 28일 오픈소스로 풀었다. 이제 막 나온 v0.1.0이라 별 수는 적지만, "에이전트를 어떻게 오래 굴릴 것인가"라는 다음 단계 질문을 정면으로 다룬다는 점에서 주목받는다.
README가 직접 비교한다 — Claude Code/Cursor는 IDE 안의 코딩, Claude Cowork는 데스크톱 지식노동, WorkBuddy는 메신저 연동에 강하다. PilotDeck은 시선을 "장기적으로 여러 프로젝트를 병렬로 돌리는 생산성 작업"으로 옮긴다. 그래서 격리·비용·자율성이 핵심 설계 목표가 된다.
보통의 AI 에이전트는 무엇을 기억하는지 사용자가 볼 수 없고(블랙박스), 한 번 잘못 기억하면 고칠 수도 없다. PilotDeck은 메모리의 생성→추출→저장→검색 전 과정을 들여다보고 직접 수정·삭제·고정할 수 있게 했다. 잘못 기억한 항목을 콕 집어 고치고, 한 번에 되돌릴(rollback) 수도 있다.
무엇을 기억하는지 출력으로만 짐작할 뿐 볼 수 없고, 한 번 쓰인 기억은 편집·삭제가 안 된다. 여러 작업을 한 컨텍스트 풀에 섞으면 프로젝트끼리 기억이 오염되고, 압축한 뒤엔 원본도 사라진다.
모든 메모리 항목을 "언제, 어느 WorkSpace에 무엇이 저장됐는지" 볼 수 있고, 편집·삭제·고정이 된다. WorkSpace별로 격리돼 A의 기억이 B로 넘어가지 않으며, 유휴 시간에 메모리를 정리하는 'Dream Mode'와 원클릭 롤백을 지원한다.
작업 난이도를 자동 판정해, 복잡한 호출은 최상위 모델(Opus·GPT급)에, 단순 호출은 가벼운 모델(Sonnet·MiniMax급)에 보낸다. README의 실측에 따르면 소셜미디어 운영 작업에서 비용을 약 70% 절감했고, "강한 메인 + 가벼운 서브" 조합이 최상위 단일 모델과 맞먹는 점수를 1/6 비용으로 냈다.
"묻고 답하기" 루프를 깬다. 사용자가 로그아웃해도 에이전트가 할 만한 작업을 스스로 찾고, 장시간 모니터링을 돌리며, 결과를 로컬 파일 + 요약 리포트로 남겨둔다. 다음에 돌아오면 결과가 기다리고 있는 식이다.
언어 비중은 TypeScript 68% · JavaScript 23% · Python 4% 정도로, TypeScript 기반 pnpm 모노레포다. 크게 "백엔드 런타임(Gateway) + 웹 UI + 데스크톱 앱" 세 덩어리로 나뉜다.
pnpm-workspace.yaml이 그 구성을 정의한다. pnpm은 디스크를 아끼는 빠른 패키지 매니저로, 모노레포에서 특히 강하다.README의 설치 안내에서 "root deps (Gateway runtime)"라고 부르는 부분이 src/의 백엔드다. WorkSpace 관리, 메모리 저장/검색, 모델 라우팅, MCP 연결, 상시 실행 스케줄링이 모두 여기서 돈다. Node.js 22 위에서 실행된다. 웹 UI 서버 기본 포트는 3001(HTTP), Gateway WebSocket 기본 포트는 18789다.
관리 화면은 React + Vite + Tailwind CSS + shadcn/ui로 만들었다. WorkSpace 관리, 화이트박스 메모리 편집, 멀티 에이전트 협업 시각화를 브라우저에서 바로 다룬다.
macOS(Apple Silicon)용 서명·공증 DMG를 통한 더블클릭 실행이 계획돼 있다. 단, 현재 main 브랜치에는 apps/desktop/ 디렉토리가 아직 존재하지 않는다(미공개).
PilotDeck은 바닥부터 다 만들지 않고, OpenBMB가 만든 부품들을 조립했다.
| 구성 요소 | 역할 |
|---|---|
ClawXRouter | 지능형 모델 라우팅 (스마트 라우팅의 엔진) |
ClawXMemory | 에이전트 메모리 시스템 (화이트박스 메모리의 토대) |
UltraRAG | RAG(검색 증강 생성) 프레임워크 |
| Anthropic Skills 등 | 스킬 프레임워크와 기본 스킬(skill-creator 등) 참조 |
모델 프로바이더는 OpenAI·Anthropic·DeepSeek·Qwen·Kimi·MiniMax 등 OpenAI 호환 엔드포인트를 폭넓게 지원한다.
어느 입구(Web·CLI·메신저)로 들어와도 같은 Gateway를 거치고, 그 아래에 프로젝트별 WorkSpace가 격리돼 놓인다. 세 기둥(메모리·라우팅·상시실행)이 이 WorkSpace들을 가로질러 동작한다.
가장 근본적인 결정이다. 프로젝트마다 파일·메모리·스킬을 완전히 분리한다. 그 효과는 세 가지 — 병렬 작업이 서로 간섭하지 않고, 검색(retrieval) 범위가 그 WorkSpace로 한정돼 정확해지며, 스킬이 작업이 커질수록 자연스럽게 그 안에 쌓인다. "전역 컨텍스트 오염"이 사라진다.
운영체제의 프로세스 격리와 똑같다. 한 앱이 죽어도 다른 앱이 안 죽고, 한 앱이 다른 앱의 메모리를 함부로 못 읽는다. PilotDeck은 그 개념을 "AI 프로젝트" 단위로 가져왔다.
메모리의 생성 → 추출 → 저장 → 검색 네 단계가 모두 들여다보이고 감사(audit) 가능하다. 잘못된 기억을 콕 집어 고치거나 삭제하고, 중요한 결정은 고정(pin)해 떠내려가지 않게 한다. 유휴 시간엔 'Dream Mode'가 메모리를 정리·압축하되, 원클릭으로 이전 상태로 되돌릴 수 있어 압축으로 원본이 사라지는 문제도 막는다.
들어온 작업의 난이도를 자동 판정해, 어려운 건 강한 모델(메인)에, 쉬운 건 가벼운 모델(서브)에 분배한다. 온디바이스/클라우드를 함께 조율해 품질은 지키면서 토큰 비용만 깎는다. "기획 체크포인트에서만 비싼 모델, 다듬기·레이아웃은 싼 모델" 같은 식이다.
사용자 입력이 없을 때도 에이전트가 후보 작업을 발굴하고, 장기 모니터를 돌리며, 결과를 로컬 파일로 떨군 뒤 요약 리포트를 남긴다. "요청 → 응답"의 동기 루프를 비동기 백그라운드 작업으로 확장한 것이다.
오픈소스 코어와 플러그인 영역의 경계를 명확히 두고, plugin.json 하나로 확장한다. 네 갈래로 끼워 넣을 수 있다 — MCP 서버(외부 도구), Tools & Skills(ClawHub로 커뮤니티 스킬 설치), Lifecycle Hooks(PreToolUse·UserPromptSubmit 등 가로채기), Custom Memory(자체 메모리 저장소 교체).
pnpm 워크스페이스로 묶인 모노레포라, 최상위 폴더만 봐도 "백엔드 / 프론트 / 앱 / 스킬"의 경계가 보인다.
읽는 법: src/가 두뇌(Gateway), ui/가 얼굴(웹 화면), apps/desktop/이 포장(데스크톱 앱 — 향후 계획)이다. skills/와 products/_example/은 "확장하는 법"을 보여주는 자리로, 자신만의 스킬·플러그인을 만들 때 출발점이 된다. 데모 GIF가 무거워 Git LFS로 관리하므로, 클론할 때 git lfs가 없으면 미디어가 안 받아진다(필요 없으면 건너뛰는 옵션도 있다).
PilotDeck은 "에이전트를 어떻게 제품 수준으로 운영하는가"를 보여주는 살아있는 교재다. 분야별로 배울 거리를 정리하면:
단일 에이전트가 아니라 "여러 프로젝트를 동시에 굴리는 플랫폼"을 어떻게 설계하는지 본다. 운영체제의 프로세스 격리 개념을 AI에 적용한 사례 연구.
기억을 "보고·고치고·되돌릴 수 있게" 만드는 설계가 무엇인지, 그리고 왜 그게 신뢰성에 중요한지 배운다. Dream Mode 같은 유휴 시간 메모리 정리 아이디어도 흥미로운 패턴.
"강한 메인 + 가벼운 서브"로 품질을 지키며 비용을 깎는 라우팅 전략. 어떤 작업을 어떤 모델에 보낼지 판단하는 오케스트레이션 설계를 배운다.
사용자 없이도 작업을 발굴·수행하고 결과를 파일로 남기는 비동기 에이전트 루프. 장기 실행 작업의 상태 관리·산출물 설계 감각을 익힌다.
백엔드 런타임·웹 UI·데스크톱 앱을 한 저장소에서 관리하는 모노레포 구성, 그리고 MCP·Hooks로 확장 가능한 플러그인 아키텍처를 실제 코드로 본다.
| 항목 | 요구 사항 / 메모 |
|---|---|
| 런타임 | Node.js 22 (one-line 설치 스크립트가 자동 설치). 웹 UI 기본 포트 3001 / Gateway WebSocket 기본 포트 18789 |
| 패키지 매니저 | pnpm (모노레포). 소스 설치 시 root + ui/ 각각 의존성 설치 |
| 설정 파일 | ~/.pilotdeck/pilotdeck.yaml — 모델 프로바이더·API 키. 웹 UI에서 시각적으로도 설정 가능 |
| LLM API 키 | OpenAI/Anthropic/DeepSeek/Qwen/Kimi/MiniMax 등 최소 하나 |
| Git LFS | 데모 미디어가 LFS로 관리됨. 클론 시 필요(또는 건너뛰기 옵션) |
| 옵션 | Docker Compose로 컨테이너 기동, macOS Apple Silicon용 DMG 앱 |
PilotDeck은 AGPL-3.0 라이선스다. 이 라이선스는 "네트워크로 서비스만 제공해도" 수정한 소스 코드를 공개하도록 요구한다(SaaS 형태 포함). 사내에서 고쳐 서비스로 띄우려는 경우 라이선스 함의를 꼭 확인해야 한다 — MIT/Apache 같은 느슨한 라이선스와는 다르다.
macOS/Linux에서 one-line 설치 스크립트로 깔고 pilotdeck 실행 → http://localhost:3001 접속. WorkSpace·메모리·설정 화면이 어떻게 생겼는지 눈으로 익힌다.
서로 다른 프로젝트용 WorkSpace를 두 개 만들고, 한쪽에만 메모리를 쌓은 뒤 다른 쪽에서 그 기억이 보이지 않는지 확인한다. "격리"가 실제로 무엇인지 체감하는 게 목표.
같은 작업을 라우팅 켠 상태와 끈 상태로 돌려, 토큰 비용과 결과 품질을 비교한다. README의 "70% 절감"을 내 작업에서 재현해 본다.
에이전트가 잘못 기억한 항목을 UI에서 찾아 고치거나 삭제하고, Dream Mode 정리 후 원클릭 롤백으로 되돌려 본다. "기억을 손으로 만지는" 경험.
MCP 서버를 붙이거나, PreToolUse 같은 Lifecycle Hook을 작성해 동작을 가로채거나, 커스텀 메모리 프로바이더를 끼워 본다. products/_example을 출발점으로 삼는다.
| 주차 | 주제 | 핵심 키워드 |
|---|---|---|
| 1주 | 에이전트 하니스/OS 개념 잡기 | Claude Code, Cowork, 하니스, WorkSpace |
| 2주 | MCP로 도구 연결 | Model Context Protocol, 도구 호출 |
| 3주 | 에이전트 메모리 시스템 | 화이트박스 메모리, RAG, Dream Mode |
| 4주 | 멀티 모델 라우팅 + 비용 | 스마트 라우팅, 메인/서브 에이전트 |
| 5주 | 풀스택 모노레포 구조 | pnpm workspace, Gateway, React/Vite/shadcn |
| 6주 | 상시 실행 + 플러그인 확장 | Always-on, Lifecycle Hooks, Custom Memory |
| 용어 | 뜻 |
|---|---|
| WorkSpace | 프로젝트별로 파일·메모리·스킬을 격리하는 기본 단위 |
| 화이트박스 메모리 | 생성→추출→저장→검색이 모두 보이고 편집·롤백 가능한 메모리 |
| Dream Mode | 유휴 시간에 메모리를 정리·압축하는 모드 (롤백 지원) |
| 스마트 라우팅 | 작업 난이도에 따라 강/약 모델을 자동 분배 (비용 절감) |
| 상시 실행 (Always-on) | 사용자가 없어도 배경에서 작업을 발굴·수행해 파일로 산출 |
| Gateway 런타임 | src/의 백엔드 코어 (Node 22, Web UI → http://localhost:3001, Gateway → ws://localhost:18789) |
| MCP | 모델이 외부 도구에 접근하는 표준 규약. PilotDeck은 네이티브 지원 |
| 에이전트 OS / 하니스 | LLM을 실제 작업에 부리도록 감싸는 운영 골격 |
| ClawXRouter / ClawXMemory | 라우팅·메모리를 담당하는 기반 라이브러리 (OpenBMB) |
| pnpm 모노레포 | 런타임·UI·앱을 한 저장소에서 관리하는 구성 |
| Lifecycle Hooks | PreToolUse·UserPromptSubmit 등 동작을 가로채는 확장점 |
| AGPL-3.0 | 네트워크 서비스에도 소스 공개를 요구하는 강한 카피레프트 라이선스 |