런타임 기능 레지스트리
런타임 기능을 이해하고 AACWorkflow가 지원하는 기능에 따라 에이전트를 적절한 런타임으로 라우팅하는 방법을 알아봅니다.
런타임 기능 레지스트리는 각 런타임이 할 수 있는 일의 구조화된 데이터베이스입니다. 어떤 AI 공급자를 지원하는지, 어떤 운영 체제에서 실행되는지, 어떤 MCP 도구에 액세스할 수 있는지, 그리고 기술 가져오기 및 작업 재개와 같은 고급 기능을 지원하는지에 대한 정보를 포함합니다.
기능이 중요한 이유
에이전트에 작업을 할당할 때 AACWorkflow는 다음을 알아야 합니다:
- 어떤 런타임이 이 에이전트를 실행할 수 있는가? - macOS에서 실행 중인 데몬은 Docker 작업을 실행할 수 없습니다
- 어떤 AI 공급자를 사용할 수 있는가? - 일부 런타임에는 Claude가 있고, 다른 런타임에는 Claude와 Cursor가 모두 있습니다
- 어떤 MCP 도구가 연결되어 있는가? - GitHub에 연결된 런타임은 GitHub와 통신할 수 있지만, 연결되지 않은 런타임은 할 수 없습니다
- 런타임이 작업을 재개할 수 있는가? - 장시간 실행되는 작업의 경우, 일부 런타임은 체크포인트에서 재개를 지원합니다
기능 레지스트리가 자동으로 이 모든 질문에 답합니다.
런타임 기능 보기
UI를 통해
- 설정 → 런타임으로 이동합니다
- 런타임을 클릭하여 상세 페이지를 봅니다
- 기능 섹션으로 스크롤합니다
다음을 볼 수 있습니다:
- OS 및 아키텍처 - Linux x86_64, macOS ARM64 등
- 실행기 유형 - host(직접 프로세스) 또는 docker(컨테이너화됨)
- AI 공급자 - 설치된 공급자 (Claude, Codex, Cursor 등)
- 모델 선택 - 공급자가 모델 선택을 지원하는지 여부
- MCP 전송 - 런타임이 MCP 서버와 통신하는 방식 (stdio, SSE, HTTP)
- 고급 기능 - 재개 지원, 기술 가져오기 등
API를 통해
런타임 기능은 /workspaces/{ws}/runtimes/{id}에 대한 API 응답에서도 사용 가능합니다:
{
"id": "runtime-123",
"name": "My macOS daemon",
"capabilities": {
"schema_version": 1,
"os": "macos",
"arch": "arm64",
"executor": "host",
"providers": [
{
"provider": "claude",
"cli_version": "1.2.3",
"model_selection": true,
"models": ["claude-opus-4", "claude-sonnet-4"]
}
],
"mcp_transports": ["stdio", "sse"],
"supports_resume": true,
"supports_skill_path": true,
"labels": ["macos", "arm64", "claude", "mcp-stdio"]
}
}기능 필드 이해하기
OS 및 아키텍처
- OS -
macos,linux또는windows - Arch -
arm64,amd64(x86-64),arm또는386
에이전트가 OS 특정 스크립트나 도구를 실행해야 하는 경우 이는 중요합니다.
실행기 유형
- host - 작업이 데몬의 OS에서 직접 실행되며 완전한 액세스 권한을 가집니다
- docker - 작업이 컨테이너화된 환경에서 실행되어 더 많이 격리됩니다
Docker 런타임은 신뢰할 수 없는 코드를 샌드박싱하거나 재현성을 보장하는 데 유용합니다.
공급자
각 공급자 항목은 다음을 표시합니다:
- 공급자 이름 -
claude,codex,cursor등 - CLI 버전 - 설치된 AI 도구의 버전
- 모델 선택 - 데몬이 특정 모델 선택을 지원하는지 여부
- 모델 목록 - 사용 가능한 모델 (알려진 경우)
에이전트가 특정 모델을 사용하도록 구성된 경우 AACWorkflow는 이 목록을 확인하여 런타임이 이를 지원하는지 확인합니다.
MCP 전송
MCP(모델 컨텍스트 프로토콜)는 여러 전송 메커니즘을 지원합니다:
- stdio - 표준 입력/출력을 통한 통신 (기본값, 로컬)
- sse - 서버 전송 이벤트 (HTTP 스트리밍)
- http - 직접 HTTP 요청
stdio 지원만 있는 런타임은 stdio 기반 MCP 서버에만 연결할 수 있으며, HTTP 기반 원격 MCP 서버를 사용할 수 없습니다.
고급 기능
- 재개 지원 - 런타임이 장시간 실행되는 작업을 일시 중지하고 재개할 수 있는가?
- 기술 경로 지원 - 런타임이 데이터베이스 외에 로컬 파일 경로에서 기술을 로드할 수 있는가?
기능 기반 라우팅
에이전트에 작업을 할당할 때 AACWorkflow의 라우터는 기능을 사용하여 적절한 런타임을 찾습니다:
- 공급자로 필터링 - 에이전트의 구성된 AI 공급자를 지원하는 런타임 선택
- 레이블로 필터링 - 작업이나 런타임에 레이블을 할당한 경우 일치시킵니다
- OS로 필터링 - 작업에 특정 OS가 필요한 경우 이에 따라 필터링합니다
- 고급 요구 사항 확인 - 재개, 기술 가져오기, MCP 전송 확인
- 최적의 일치 선택 - 여유 용량이 가장 많은 런타임을 선호합니다
일치하는 런타임이 없으면 작업은 대기열에 들어가 적절한 런타임이 온라인이 될 때까지 기다립니다.
자세한 내용은 Runtime labels and routing을 참조하세요.
레이블 및 라우팅
기능에는 labels 필드가 포함됩니다. 이는 라우팅 엔진이 사용하는 검색 가능한 태그의 파생 집합입니다:
macos,linux,windows- OSarm64,amd64- 아키텍처claude,codex,cursor- 공급자mcp-stdio,mcp-sse,mcp-http- MCP 전송- runtime labels을 통해 할당된 사용자 지정 레이블
작업 할당에서 레이블을 사용합니다:
assign @agent-name with label="macos"
because task requires macOS-specific tools라우터는 작업을 macOS 런타임으로 라우팅합니다.
기능 업데이트
기능은 데몬 시작 시 및 각 하트비트 시 자동으로 감지됩니다. 수동으로 업데이트할 필요가 없습니다.
기능을 새로 고치려면:
- 데몬 재부팅 - 다음 시작 시 모든 기능 새로 고침
- 데몬 재연결 - 데몬 중지 및 재시작
- 하트비트 대기 - 하트비트는 30초마다 발생하므로 변경사항이 빠르게 감지됩니다
실행 중인 데몬에 새 공급자를 설치한 경우 (예: Cursor CLI 설치):
- 데몬 중지
- 공급자 설치
- 데몬 재시작
다음 하트비트에서 새 공급자가 기능에 나타납니다.
폴백 동작
런타임의 기능이 불완전하거나 형식이 잘못된 경우:
- AACWorkflow는 우아하게 성능 저하되며 알려지지 않은 기능을 "지원하지 않음"으로 처리합니다
- 런타임은 여전히 UI에 나타나고 수동 할당에 사용 가능합니다
- 자동 라우팅은 이를 더 적은 기능을 가진 것으로 처리합니다
- 충돌이나 백색 화면 오류가 발생하지 않습니다
이는 전체 기능 구조를 보내지 않을 수 있는 이전 데몬과의 이전 호환성을 보장합니다.
최상의 실천 방법
- 할당 전 기능 확인 - 특정 OS나 공급자가 필요한 경우 런타임에 있는지 확인합니다
- 복잡한 라우팅에 레이블 사용 - 런타임이 많은 경우 레이블로 태그하고 작업 할당에 레이블 요구 사항을 포함합니다
- 데몬 업데이트 유지 - 더 최신의 데몬 버전이 더 많은 기능을 지원합니다
- 지원되지 않는 작업 모니터링 - 존재하지 않는 런타임을 기다리는 작업의 작업 큐를 확인합니다
다음 단계
- Install agent runtime - 데몬 설정
- Runtime labels and routing - 고급 라우팅을 위해 사용자 지정 레이블 사용
- Daemon and runtimes - 데몬 및 런타임 아키텍처 이해