라떼군 이야기
AI 코딩 에이전트 시대, 터미널은 어떻게 변해야 할까? Ghostty 기반 'cmux' 등장
TL;DR cmux는 Swift와 libghostty로 제작된 macOS 전용 터미널로, 여러 AI 에이전트(Claude Code 등)를 동시에 실행할 때 발생하는 알림 및 컨텍스트 관리 문제를 해결합니다. 수직 탭, 시각적 알림, 스크립트 가능한 브라우저 통합을 통해 Electron 앱의 무거움 없이 쾌적한 AI 협업 환경을 제공합니다.
최근 Claude Code나 OpenCode 같은 AI 코딩 에이전트를 활용하는 개발자가 늘어나면서, 터미널 사용 패턴도 변화하고 있습니다. 하지만 기존 터미널에서 여러 에이전트를 동시에 띄워놓으면 어떤 탭이 입력을 기다리는지 파악하기 어렵고, 알림도 맥락 없이 뜨기 일쑤입니다. 이러한 문제를 해결하기 위해 고성능 터미널 Ghostty의 렌더링 엔진을 활용하면서도 AI 작업 흐름에 최적화된 네이티브 앱 ‘cmux’가 등장했습니다.
핵심 내용
cmux의 핵심은 ‘AI 에이전트 관제’에 최적화된 UI/UX입니다. 기존의 수평 탭 대신 Git 브랜치, 포트 정보, 최신 알림 내용을 보여주는 ‘수직 사이드바’를 채택했으며, 에이전트가 입력을 기다릴 때 해당 패널에 파란색 링을 표시해 시각적으로 즉시 인지할 수 있게 했습니다. 또한 Electron이 아닌 Swift/AppKit으로 개발되어 가볍고 빠르며, 기존 Ghostty 설정을 그대로 읽어옵니다. 특히 내장 브라우저 패널을 통해 에이전트가 직접 웹 요소를 제어(클릭, 입력 등)할 수 있는 스크립트 API를 제공하여, 터미널 안에서 개발과 테스트를 동시에 수행할 수 있습니다.
기술적 인사이트
기술적으로 가장 흥미로운 점은 ’libghostty’를 활용한 하이브리드 접근 방식입니다. 렌더링 엔진은 검증된 고성능 라이브러리(Ghostty)를 사용하되, 껍데기는 macOS 네이티브(Swift)로 감싸 Electron 기반 도구들의 고질적인 성능 문제를 피했습니다. 이는 터미널이 단순한 텍스트 입출력 도구를 넘어, ‘다수의 AI 에이전트를 관리하는 오케스트레이터’로 진화하고 있음을 보여줍니다. 기존 GUI 오케스트레이터들이 사용자를 특정 워크플로우에 가두는 반면, cmux는 터미널의 자유도를 유지하면서 필요한 기능(알림, 브라우저 연동)만 확장했다는 점에서 개발자 친화적인 절충안입니다.
시사점
이 도구는 Claude Code와 같은 CLI 기반 AI 도구를 헤비하게 사용하는 개발자들에게 즉각적인 생산성 향상을 가져다줄 수 있습니다. 특히 여러 개의 에이전트 세션을 병렬로 돌리며 작업하는 ‘멀티태스킹 개발자’들에게 유용합니다. 장기적으로는 터미널 에뮬레이터들이 단순히 쉘을 보여주는 것을 넘어, AI 에이전트와의 상호작용을 위한 표준 인터페이스(OSC 시퀀스를 통한 상태 알림 등)를 내장하는 방향으로 발전할 가능성을 시사합니다.
AI가 코딩의 부조종사가 되면서, 조종석(터미널)의 계기판도 바뀌어야 한다는 것을 cmux가 잘 보여줍니다. 과연 터미널은 텍스트 기반 인터페이스의 순수성을 유지할 것인지, 아니면 AI 워크플로우를 통합한 새로운 플랫폼으로 거듭날 것인지 지켜볼 만합니다. 맥 사용자이면서 AI 코딩 도구를 자주 쓴다면 한 번쯤 시도해볼 가치가 있습니다.