
Superconductor 리뷰: AI 에이전트를 병렬로 실행하는 가장 깔끔한 방법
요약
다양한 코딩 에이전트를 하나의 인터페이스에서 병렬로 실행할 수 있는 'Superconductor'를 소개합니다. 특정 제공업체에 종속되지 않는 에이전트 불가지론적(Agent-agnostic) 환경을 제공하며, Rust 기반의 네이티브 macOS 앱으로 매우 빠른 성능을 자랑합니다.
핵심 포인트
- 여러 코딩 에이전트를 하나의 워크스페이스에서 병렬 실행 가능
- 특정 모델이나 제공업체에 종속되지 않는 에이전트 불가지론적 설계
- Rust 및 Metal 기반의 네이티브 macOS 앱으로 압도적인 반응 속도 제공
- 개발자 친화적인 완벽한 단축키 지원
저는 매일 Claude Code를 사용합니다. 본업에서는 이것이 저의 주력 에이전트이며, 제가 얼마나 이 도구를 좋아하는지에 대해 이미 많이 이야기했습니다. 하지만 개인 프로젝트에서는 Codex, OpenCode 등 그 주에 새로 등장하는 어떤 CLI든 다른 에이전트들을 가지고 이것저것 시도해보는 것을 좋아합니다. 그리고 최근에 예상보다 더 짜증스러운 벽에 부딪혔습니다.
저는 여러 에이전트를 병렬로 실행하고 싶었습니다. 한 번에 하나씩이 아니라, 서로 다른 프로젝트에 걸쳐 여러 개를 동시에 실행하고 싶었습니다. 그런데 그렇게 시도하는 순간, 모든 도구가 저를 자신들만의 작은 세계에 가두려 한다는 사실을 깨달았습니다.
글을 읽는 대신 제가 클릭하는 과정을 직접 보고 싶으시다면, 전체 워크스루(walkthrough)는 바로 여기에서 확인하실 수 있습니다:
애초에 이것이 왜 필요했는가
상황은 이렇습니다. Claude를 사용 중이라면, Claude 데스크톱 앱을 열어 여러 개의 Claude를 병렬로 실행할 수 있습니다. 멋진 일이죠. OpenAI의 Codex 앱도 마찬가지로 할 수 있습니다. 이 또한 멋집니다.
하지만 다른 에이전트를 사용하고 싶다면 어떻게 될까요? OpenCode나 Pi 코딩 에이전트를 실행하고 싶다면요? 갑자기 막히게 됩니다. 각 데스크톱 앱은 오직 자신의 제공업체(provider)에 대해서만 알고 있습니다. 제가 특정 앱을 선택하는 순간, 저는 그 회사가 출시하는 모델에 종속됩니다.
저는 그것을 원하지 않습니다. 제가 어떤 에이전트를 사용하는지는 상관하지 않는 하나의 인터페이스를 원합니다. 세 개의 별도 앱을 번갈아 가며 사용하는 번거로움 없이, 본업을 위한 Claude Code와 개인 프로젝트를 위한 Codex를 나란히 실행할 수 있는 하나의 장소를 원합니다. 에이전트 불가지론적 (Agent-agnostic) 인 것이 핵심입니다.
그것이 바로 Superconductor가 하는 일입니다. Superconductor는 사용하고 싶은 어떤 에이전트든 사용하여, 서로 다른 프로젝트와 서로 다른 워크트리(worktrees)에 걸쳐 코딩 에이전트를 병렬로 실행할 수 있는 단일 워크스페이스입니다.
Superconductor의 실체
실행해 보기도 전에 눈에 띄는 몇 가지 특징이 있습니다.
첫째, 이 도구는 100% Rust로 작성되었습니다. Electron을 사용하지 않습니다. 전체가 Metal을 통해 GPU에서 렌더링되는 네이티브 macOS 바이너리이며, 시작 시간은 약 **50밀리초 (milliseconds)**입니다. 이 수치는 직접 체감하기 전까지는 마케팅 용어처럼 들릴 수도 있습니다. Codex 앱과 같은 일부 프로바이더(provider) 앱들은 진심으로 훌륭하기도 하지만 꽤 불안정한 면이 있습니다. 사이드바를 열 때마다 느릿느릿하게 미끄러지듯 들어옵니다. 반면 Superconductor는 즉각적으로 반응합니다. 모든 것이 즉각적입니다.
둘째, 개발자를 위해 구축되었기 때문에 단축키가 완벽하게 갖춰져 있습니다. 마우스를 전혀 건드리지 않고도 앱 전체를 제어할 수 있습니다. 제가 가장 자주 사용하는 단축키는 다음과 같습니다:
| 단축키 | 기능 |
|---|---|
Cmd + Shift + E | 왼쪽 사이드 패널 토글 |
| ... |
제가 실제로 어떻게 사용하는지 살펴보겠습니다.
레이아웃 (The layout)
왼쪽에는 프로젝트가 있습니다. 프로젝트 폴더를 열면 모든 워크트리 (worktrees)를 볼 수 있습니다. 현재 저는 두 개의 프로젝트, 즉 개인 웹사이트와 CourseShelf v2의 메인 브랜치만 가지고 있습니다. 별표가 표시된 브랜치 행이 **기본 워크트리 (primary worktree)**이며, 이는 Superconductor가 처음 열었던 원래의 체크아웃 상태로, 브랜치를 생성하는 기준점 (source of truth)이 됩니다.
오른쪽에는 완전히 커스터마이징할 수 있는 패널이 있습니다. 기본적으로 상단에는 파일, 변경 사항, 체크 항목이 표시되고 하단에는 터미널이 표시됩니다 (터미널에는 실행 스크립트와 설정 스크립트를 연결할 수도 있는데, 이에 대해서는 잠시 후에 더 자세히 설명하겠습니다).
저는 기본 배치가 마음에 들지 않아서, 오른쪽에는 두 개의 탭이 보이도록 변경했습니다. 하나는 설정(setup)과 실행(run)을 위한 터미널이고, 다른 하나는 파일용입니다. 설정하는 데 10초밖에 걸리지 않으며 레이아웃은 그대로 유지됩니다.
새 프로젝트를 추가하는 방법은 간단히 Cmd + Shift + A를 누르거나(또는 왼쪽 하단의 "Add Project" 버튼 클릭), 폴더를 선택하면 끝입니다.
에이전트 시작하기
이 지점에서 "브라우저와 똑같다"는 멘탈 모델이 맞아떨어집니다. Cmd + T를 눌러 기본 에이전트를 열 수 있는데, 저의 경우 Claude Code입니다. 또는 Cmd + Shift + T를 눌러 설정된 모든 에이전트 중에서 선택할 수 있습니다. Superconductor는 Claude Code, Codex, Gemini CLI, OpenCode, Cursor Agent, Grok, Pi, Kiro, Copilot 등 기본적으로 매우 긴 목록을 지원하며, 기본적으로 여러분이 이미 사용 중인 거의 모든 CLI 에이전트를 지원합니다.
드롭다운 메뉴를 통해 제공자(provider)와 모델을 전환할 수 있는 네이티브 채팅 UI(native chat UI)도 있습니다. 아주 좋습니다. 하지만 솔직히 저는 거의 항상 CLI를 고수합니다. 그래서 Cmd + W로 채팅을 닫고, 다시 Cmd + Shift + T를 누른 뒤 "terminal"을 선택하여 거기서 바로 CLI를 실행합니다. 핵심은 Superconductor가 특정 워크플로우를 강요하지 않는다는 점입니다. CLI, 네이티브 채팅, 일반 터미널 중 원하는 대로 선택하면 됩니다.
알아둘 만한 점 한 가지는, Superconductor가 사용자의 프롬프트나 코드를 자체 서버를 통해 라우팅하지 않는다는 것입니다. 사용자가 직접 제공자 CLI와 구독권을 가져오며, 모든 것은 로컬(local)에 머뭅니다. 생성해야 할 계정도 없고, 자격 증명(credentials)이 어디로 프록시(proxied)되지도 않습니다.
실제 병렬 작업 실행하기
이제 병렬 처리 부분을 실제로 테스트해 보겠습니다. OpenCode를 위한 탭을 열고 모델을 선택하겠습니다. Kimi가 있나요? 아니요, 아직은 없습니다. 괜찮습니다. 높은 추론(high reasoning) 모드의 DeepSeek V4 Pro를 선택하고 다음과 같이 물어보겠습니다: "이 프로젝트는 무엇에 관한 것인가요?" 엔터.
이제 탭을 다른 프로젝트로 전환하고 두 번째 에이전트를 시작합니다. 평소라면 여기서 Claude Fable를 사용했겠지만, 이 영상을 녹화하던 바로 그 시점에 차단되어 대신 X-high effort 모드의 Claude Opus로 전환했습니다. 동일한 질문을 던집니다: "이 프로젝트는 무엇에 관한 것인가요?"
그게 전부입니다. 두 개의 에이전트, 두 개의 서로 다른 제공자(provider), 두 개의 서로 다른 프로젝트가 모두 동시에 작동하고 있습니다. 저는 탭을 전환하며 Opus가 여전히 생각 중인 동안 OpenCode가 작업을 완료하는 것을 지켜봅니다. 이것만으로도 저의 원래 문제, 즉 여러 에이전트, 여러 프로젝트를 사용하면서도 특정 제공자에 종속되지 않는(zero provider lock-in) 환경을 해결했습니다.
하지만 서로 다른 프로젝트를 가로질러 실행하는 것은 쉬운 경우입니다. 진짜 질문은 이것입니다: 동일한 프로젝트 내부에서의 병렬 작업은 어떻게 될까요?
Worktrees: 하나의 프로젝트 내부에서의 병렬 작업
여기서 Worktrees(워크트리)가 등장하며, Superconductor가 진정으로 영리해지는 지점이 나타납니다.
새로운 worktree를 생성하려면 Cmd + N(또는 플러스 버튼)을 누르세요. 내부적으로는 여전히 Git을 사용하지만, worktree는 코드베이스를 완전히 새로운 폴더로 복사하여 각 작업이 자신만의 격리된 작업 디렉토리(working directory)를 갖도록 합니다. 동시 실행되는 에이전트들은 서로의 파일을 절대 침범하지 않습니다. 이것이 바로 핵심적인 매력입니다.
하지만 코드를 새로운 폴더로 복사하는 것은 두 가지 매우 현실적인 골칫거리를 만들어냅니다:
- 환경 변수 (Environment variables).
.env파일은 gitignored 되어 있으므로, 새로운 worktree에는 이 파일이 없습니다. 앱 실행에 필수적인 단 하나의 파일이 새 폴더에는 누락되어 있는 것입니다. - 의존성 (Dependencies).
node_modules역시 없습니다. 그렇다면... worktree를 생성할 때마다 매번 수동으로npm install을 실행해야 하는 걸까요?
만약 그렇다면, 이 기능은 시작하기도 전에 실패한 것이나 다름없습니다. 아무도 하루 종일 npm install을 관리하고 .env 파일을 수동으로 복사하는 수고를 하고 싶어 하지 않으니까요.
걱정 마세요, 친구여. 이것이 바로 스크립트(scripts)가 해결해 주는 문제입니다.
마법: setup 및 run 스크립트
프로젝트 설정(왼쪽 사이드바에서 프로젝트별로 설정 가능)을 열고 아래로 스크롤하면 scripts 섹션을 찾을 수 있습니다. 여기서 모든 것이 자동화됩니다.
몇 가지 훅(hooks)이 있습니다. 제가 중요하게 생각하는 두 가지는 다음과 같습니다:
- **Setup script (설정 스크립트)**는 새로운 워크트리 (worktree)가 생성될 때마다 자동으로 실행됩니다.
- **Run script (실행 스크립트)**는 실행 버튼을 눌렀을 때 실행됩니다.
제 개인 웹사이트의 경우, 설정 스크립트는 두 가지 작업을 수행합니다: 메인 폴더에서 환경 변수 (environment variables)를 새로운 워크트리로 복사한 다음, npm install을 실행합니다. 실행 스크립트는 단순히 npm run dev입니다.
이 설정들은 앱의 프로젝트 설정에서 구성하거나, 팀 전체가 공유할 수 있도록 리포지토리 (repo)에 커밋할 수 있습니다. Superconductor는 워크트리로부터 .superconductor/config.json 파일을 읽습니다 (파일이 없는 경우 기본 워크트리를 사용합니다):
// .superconductor/config.json
{
"setup": ["cp ../main/.env .env", "npm install"],
...
setup배열은 새로운 워크트리에서 실행되는 항목이고,run은 실행 버튼이 실행하는 항목이며,teardown은 워크트리를 삭제할 때 정리 작업을 수행합니다. (제 실제 설정은 환경 변수 복사를 위해 저만의 경로를 사용하므로, 위의cp라인은 실제 명령어가 아닌 그 형태를 보여주는 예시로 간주해 주세요.)
이제 어떤 일이 일어나는지 보세요. 제 Next.js 개인 웹사이트에서 Cmd + N을 누릅니다. 설정 스크립트가 시작되고, 패널에서 바로 그 출력 내용을 확인할 수 있습니다: added 49 packages. 전형적인 npm install 출력 결과입니다. 워크트리가 실행될 준비가 되었습니다.
파일로 이동해서 확인해 보세요. 첫째, node_modules가 생성되어 있어 의존성 (dependencies)이 설치되었습니다. 둘째, 제 .env 파일도 바로 거기에 놓여 있습니다. 저는 cp나 npm install을 수동으로 단 한 번도 실행하지 않았습니다. 모든 것이 자동화되었습니다. Cmd + N으로 또 다른 워크트리를 생성하면 똑같은 일이 다시 일어납니다: 의존성, 환경 변수, 모두 준비 완료입니다.
내장 브라우저 (The built-in browser)
그 실행 스크립트(run script)를 기억하시나요? 실행하려면 Cmd + R을 누르세요. 제 개발 서버(dev server)가 부팅됩니다. 일반적인 브라우저에서 평소처럼 열 수도 있지만, Superconductor의 **내장 브라우저 (built-in browser)**를 사용할 수도 있습니다. "Open Preview"를 클릭하면 앱 내부에서 바로 브라우저 창이 열립니다.
몇 가지 편리한 기능들이 있습니다. URL을 복사하는 버튼, 사이트를 외부 브라우저에서 여는 버튼, 그리고 검사(inspect) 버튼이 있습니다.
이제 전체적인 병렬 설정을 상상해 보세요. 저는 CourseShelf를 시작하고, Cmd + R을 누른 뒤 미리보기(preview)를 엽니다. 제 개인 웹사이트에 대해서도 똑같이 수행합니다. 두 개의 개발 서버, 두 개의 미리보기가 동시에 라이브 상태로 작동합니다. 그리고 왼쪽 사이드바를 보면, 서버가 실행 중인 모든 워크트리(worktree)에는 빛나는 파란색 점이 표시되므로, 탭을 일일이 뒤져보지 않고도 무엇이 실행 중인지 한눈에 알 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기





