데몬과 런타임
Multica가 컴퓨터를 연결하고 AI 코딩 도구를 찾아 작업을 실행하는 방식을 알아봅니다.
Multica는 작업을 기록하고 조율하며 연결된 컴퓨터가 실행을 담당합니다. 컴퓨터의 데몬(daemon)이 작업을 가져간 뒤 로컬에 설치된 AI 코딩 도구를 호출합니다.
개념 구분
- 데몬은 한 컴퓨터에서 실행되는 Multica 백그라운드 프로그램입니다. 서버 연결, 로컬 도구 검색, 작업 수령, 결과 반환을 담당합니다.
- 런타임은 워크스페이스가 사용할 수 있는 구체적인 실행 환경을 나타냅니다. 컴퓨터 한 대와 그 컴퓨터의 AI 코딩 도구 하나 또는 사용자 지정 런타임 설정의 조합입니다.
예를 들어 한 컴퓨터에 Claude Code와 Codex가 모두 설치되어 있고 두 워크스페이스에 연결되어 있다면 데몬이 각 워크스페이스에 Claude Code와 Codex 런타임을 각각 등록합니다. 데몬을 다시 시작하면 기존 기록이 업데이트되며 같은 조합의 런타임이 계속 새로 생기지 않습니다.
실행 위치와 데이터 경계
로컬 런타임이 호출하는 AI 코딩 도구, 도구 자체의 로그인 자격 증명, 로컬 코드 디렉터리는 연결된 컴퓨터에 남습니다. Multica 서버가 로컬 도구를 대신해 명령을 실행하거나 전체 작업 디렉터리를 자동으로 업로드하지 않습니다.
팀 협업을 위해 서버에는 태스크, 댓글, 에이전트 설정, 작업 컨텍스트, 실행 기록, 에이전트가 반환한 결과가 저장됩니다. 이 내용에는 에이전트가 직접 읽고 답변에 포함한 코드 조각이나 다른 프로젝트 컨텍스트가 들어갈 수 있습니다.
에이전트의 사용자 지정 환경 변수는 서버에 저장되고 실행할 때 런타임으로 전송됩니다. "로컬 실행"이 모든 secret이 로컬에만 존재한다는 뜻은 아닙니다. 사용자 지정 환경 변수와 MCP 설정은 서버에 저장되며 민감 정보 규칙에 따라 표시가 제한됩니다.
데몬 시작
Multica Desktop을 사용하면 앱이 데몬을 자동으로 시작하므로 별도 명령을 실행할 필요가 없습니다.
Web, 원격 컴퓨터, 화면 없는 환경에서는 먼저 Multica CLI를 설치한 뒤 다음을 실행합니다.
multica daemon start데몬은 기본적으로 백그라운드에서 실행됩니다. 자주 사용하는 명령은 다음과 같습니다.
| 명령 | 역할 |
|---|---|
multica daemon status | 데몬과 연결 상태 확인 |
multica daemon logs -f | 로그 계속 보기 |
multica daemon restart | 데몬을 다시 시작하고 로컬 도구 다시 감지 |
multica daemon stop | 데몬 중지 |
multica daemon start --foreground | 디버깅을 위해 현재 터미널에서 실행 |
작업 작업 디렉터리를 다른 디스크에 두려면 multica config set workspaces_root <path>로 현재 profile의 루트를 저장하거나 daemon start 또는 daemon restart에 --workspaces-root <path>를 전달합니다. flag는 MULTICA_WORKSPACES_ROOT보다 우선하고, 환경 변수는 profile 설정보다 우선합니다. 루트를 변경해도 기존 작업 디렉터리는 이동되지 않습니다.
시작할 때 데몬은 PATH에서 지원되는 AI 코딩 도구를 감지하고 사용자가 연결할 권한이 있는 워크스페이스에 런타임을 등록합니다. 도구를 방금 설치하거나 로그인했다면 데몬을 다시 시작해 다시 감지할 수 있습니다.
데몬을 시작하려면 기본 지원 AI 코딩 도구를 하나 이상 감지해야 합니다. 설치 방법과 실행 파일 이름은 AI 코딩 도구 설치를 참고하세요.
디스패치와 온라인 상태
런타임이 등록되면 연결을 계속 유지합니다. 새 작업이 큐에 들어오면 서버가 해당 데몬에 알리고, 연결이 끊겼을 때를 대비해 데몬도 주기적으로 폴링합니다. 따라서 런타임이 온라인이고 여유 용량이 있으면 작업은 보통 즉시 시작됩니다.
데몬은 15초마다 heartbeat를 보냅니다. 서버는 heartbeat와 연결 상태를 함께 사용해 런타임의 온라인 여부를 판단합니다. 데몬이 예기치 않게 종료되면 보통 늦어도 약 3분 안에 오프라인으로 표시됩니다.

런타임이 오프라인일 때는 다음과 같이 처리됩니다.
- 이미 큐에 들어간 작업은 런타임이 복구될 때까지 기다립니다. 해당 런타임이 재연결 유예를 넘겨 하트비트를 멈추고 동시에 작업도 그만큼 기다린 뒤에만 실패하므로, 단지 바쁜 런타임은 밀린 작업을 그대로 유지하고 이미 오프라인인 런타임에 배정된 작업도 온전한 유예를 한 번 갖습니다.
- 실행 중인 작업은 실패합니다. 조건을 만족하는 태스크 또는 대화 작업은 자동으로 재시도될 수 있습니다.
- 데몬이 다시 시작되면 런타임을 재등록하고 이전에 정상적으로 끝나지 않은 작업을 회수합니다.
- 7일 넘게 오프라인이고 연결된 에이전트가 하나도 없는 런타임은 보관된 에이전트까지 확인한 뒤 자동으로 정리됩니다.
자세한 상태와 재시도 규칙은 작업를 참고하세요.
동시 실행 제한
데몬 한 대는 기본적으로 작업을 최대 20개까지 동시에 실행하며, 에이전트 한 명은 기본적으로 최대 6개까지 동시에 실행합니다. 실제 동시 실행 수에는 둘 중 더 작은 값이 적용됩니다.
상한에 도달하면 새 작업은 계속 큐에서 기다립니다. 에이전트 설정에서 개별 에이전트의 동시 실행 수를 조정할 수 있고 MULTICA_DAEMON_MAX_CONCURRENT_TASKS로 컴퓨터 전체 상한을 조정할 수도 있습니다. 병렬 실행은 컴퓨터 성능, 도구 계정 사용량, 같은 작업 디렉터리를 동시에 사용합니다.
비공개와 공개
로컬 런타임의 기본값은 비공개입니다. 그 위에 에이전트를 만들 수 있는 사람은 런타임 owner뿐이며, 워크스페이스 owner와 admin도 예외가 아닙니다. 런타임은 다른 멤버의 컴퓨터이고, 거기서 에이전트를 실행하면 그 멤버의 컴퓨터와 도구 자격 증명을 사용하게 되기 때문입니다.
공개로 바꿀 수 있는 사람은 런타임 owner뿐입니다. 워크스페이스 관리자는 런타임의 이름을 바꾸거나 삭제할 수 있지만, 공유 여부는 owner가 결정합니다. 공개하면 워크스페이스의 다른 멤버도 이 런타임을 선택할 수 있습니다. 기반 AI 코딩 도구의 로그인 자격 증명을 공유하는 것이 아니라 멤버가 에이전트 작업을 해당 컴퓨터로 라우팅할 수 있게 하는 것입니다.
사용자 지정 런타임 설정
팀에서 내부 wrapper, 고정 버전 실행 파일을 사용하거나 호환 도구에 고정 인수를 추가해야 한다면 사용자 지정 런타임 설정을 만들 수 있습니다.
사용자 지정 설정이 새 통신 프로토콜을 추가하지는 않습니다. 만들 때 Multica가 이미 지원하는 프로토콜 계열 중 하나를 선택해야 하며(도구 연동 프로토콜 유형은 AI 코딩 도구 비교 참고), 명령 자체도 해당 프로토콜과 호환되어야 합니다.
작업 런타임 환경
데몬이 에이전트 작업을 시작하면 작업 컨텍스트를 런타임 프로세스에 주입합니다. 이 값은 데몬이 관리하므로 에이전트의 사용자 지정 환경에서 MULTICA_ 변수나 작업 임시 디렉터리 변수를 덮어쓸 수 없습니다.
다음 표는 사용자 지정 런타임이 현재 사용할 수 있는 변수를 보여 줍니다. 전체 목록이 아니며 버전이 보장되는 API도 아닙니다. 연동에는 연동 계약으로 표시된 5개 변수만 사용하세요. 나머지는 참고 정보이며 변경될 수 있습니다.
| 변수 | 작업에서의 값 | 안정성 |
|---|---|---|
MULTICA_TOKEN | 작업 범위 mat_ API 자격 증명 | 연동 계약 |
MULTICA_TASK_ID | 실행 중인 작업의 ID | 연동 계약 |
MULTICA_AGENT_ID | 할당된 에이전트의 ID | 연동 계약 |
MULTICA_WORKSPACE_ID | 작업이 속한 워크스페이스의 ID | 연동 계약 |
MULTICA_SERVER_URL | 데몬이 선택한 Multica 서버 URL | 연동 계약 |
MULTICA_TASK_CONFIG_ROOT | 비공개 작업 로컬 Multica CLI 설정 루트 | 참고 정보 |
MULTICA_TASK_WORKSPACES_ROOT | 데몬이 관리하는 작업 워크스페이스의 루트 | 참고 정보 |
MULTICA_AGENT_NAME | 할당된 에이전트의 표시 이름 | 참고 정보 |
MULTICA_DAEMON_PORT | multica repo checkout 같은 작업 전용 명령이 사용하는 로컬 데몬 상태/API 포트 | 참고 정보 |
MULTICA_TASK_SLOT | 데몬 전체 동시 실행 풀의 슬롯. GPU 같은 슬롯 번호 기반 리소스에 사용 가능 | 참고 정보 |
TMPDIR | 실행 중인 작업의 비공개 임시 디렉터리. 크로스 플랫폼 도구를 위해 TMP와 TEMP로도 제공 | 참고 정보 |
MULTICA_TOKEN을 사용하는 요청의 작성자는 서버가 결정하며, 태스크 댓글 같은 쓰기는 할당된 에이전트와 실행 중인 작업에 귀속됩니다. 자격 증명의 전체 바인딩, 권한, 귀속, 최대 24시간의 유효 기간 및 정리 동작은 에이전트 실행용 임시 토큰을 참고하세요.
이 값은 런타임 프로세스의 실제 환경에 존재합니다. 런타임이 시작하는 모든 자식 프로세스는 기본적으로 MULTICA_TOKEN을 포함한 모든 값을 상속합니다. 자식 프로세스가 자격 증명을 보유하면 안 되는 경우 명시적으로 제거하세요. 존재하지 않는 프로세스 격리를 전제로 하면 안 됩니다. 반대로 자체적으로 하위 프로세스 환경을 필터링하는 도구에는 명시적인 변수 허용 규칙이 필요할 수 있습니다. 예를 들어 Codex의 shell 도구는 이름에 TOKEN, KEY, SECRET이 포함된 변수를 제거하므로 데몬은 필요한 작업 변수를 허용하는 관리형 shell 정책을 설정합니다. 토큰은 프로세스 환경에만 두고 prompt, 로그, 저장소 파일 또는 영구 설정에 기록하지 마세요. 자식 프로세스는 상위 작업의 ID와 권한을 공유하며 독립된 새 범위 ID를 받지 않습니다.
설정 만들기
워크스페이스 owner와 admin만 사용자 지정 런타임 설정을 만들고 수정하거나 삭제할 수 있습니다.
- 런타임을 열고 해당 명령이 설치된 컴퓨터로 들어갑니다.
- 사용자 지정 런타임 추가를 클릭합니다.
- 명령이 실제로 호환되는 프로토콜 계열을 선택합니다.
- 이름, 명령, 고정 인수를 입력하고 저장합니다.
설정은 워크스페이스에서 공유됩니다. 연결된 각 컴퓨터가 이 명령을 개별적으로 찾으며 PATH에서 명령을 확인할 수 있는 컴퓨터만 해당 런타임을 등록합니다. 설정을 만든다고 명령이 자동으로 설치되거나 다른 멤버의 도구 로그인이 완료되지는 않습니다.
여기에는 shell script가 아니라 실행 파일과 인수를 입력합니다. 일반 인수, 따옴표, 백슬래시 이스케이프는 사용할 수 있지만 파이프, 리디렉션, &&, ;, 역따옴표, 환경 변수 확장은 사용할 수 없습니다. 이런 동작이 필요하면 wrapper script에 넣고 해당 스크립트를 명령으로 입력하세요.
Desktop이 시작한 데몬에서 터미널에서는 실행되는 명령을 찾지 못한다면 현재 컴퓨터에 절대 경로를 설정할 수 있습니다.
multica runtime profile set-path <profile-id> --path /absolute/path/to/command경로 덮어쓰기를 제거하려면 다음을 실행합니다.
multica runtime profile unset-path <profile-id>설정 변경은 이후 가져가는 작업에만 적용됩니다. 설정을 삭제하기 전에 해당 런타임에 계속 연결된 활성 에이전트를 먼저 처리해야 합니다. 특정 컴퓨터의 런타임 인스턴스만 삭제해도 설정은 삭제되지 않으며 실행 중인 데몬이 다시 등록합니다.
런타임 오프라인 문제 해결
다음 순서로 확인하세요.
multica daemon status를 실행해 데몬이 시작되었는지 확인합니다.multica daemon logs -f를 실행해 로그인, 네트워크, 도구 감지 오류를 확인합니다.- 같은 실행 환경에서
command -v <도구 명령>을 실행해 데몬이 도구를 찾을 수 있는지 확인합니다. - Multica의 런타임 페이지를 열고 대상 컴퓨터와 해당 AI 코딩 도구가 온라인으로 표시되는지 확인합니다.
- 도구를 방금 설치했거나 경로 또는 설정을 변경했다면
multica daemon restart를 실행합니다.
그래도 해결되지 않으면 문제 해결을 참고하세요.
다음 단계
- AI 코딩 도구 설치 — 지원되는 AI 코딩 도구를 설치하고 확인합니다.
- AI 코딩 도구 비교 — 모델, 세션 복원, MCP, 스킬 지원을 비교합니다.
- 작업 — 큐 대기, 중지, 재시도를 알아봅니다.