Claurst 소개
코딩 에이전트(Coding Agent)가 일상적인 개발 도구로 자리 잡으면서, 터미널에서 작동하는 페어 프로그래머의 수요가 빠르게 늘고 있습니다. 그러나 대부분의 상용 터미널 코딩 에이전트는 특정 모델 제공자에 종속되어 있고, 텔레메트리(telemetry)와 트래킹이 포함된 폐쇄 소스인 경우가 많아 자가 호스팅이나 보수적인 환경에서 활용하기가 까다로웠습니다. 또한 일부 도구는 JavaScript/Node 런타임 위에서 동작해 메모리와 시작 시간 측면에서 무거운 편이었으며, 사용자가 사용 중인 모델을 자유롭게 바꾸기도 쉽지 않았습니다. 이러한 한계는 특히 긴 시간 동안 코딩 세션을 유지하는 개발자, 다양한 모델을 비교하면서 작업하는 연구자, 그리고 자체 인프라에서 에이전트를 운영하려는 팀에게 부담으로 작용했습니다. Claurst는 이러한 문제를 정면으로 다루며, 클린룸(clean-room) 방식으로 Claude Code의 동작을 재설계하고 처음부터 Rust로 구현한 오픈소스 터미널 코딩 에이전트입니다.
Claurst의 핵심은 Claude Code의 소스를 그대로 가져오지 않고, 사양(specification)과 구현(implementation)을 두 단계로 분리한 클린룸 엔지니어링 방식입니다. 첫 번째 단계에서 별도의 AI 에이전트가 행동(behavior)에 대한 명세를 작성하고, 두 번째 단계에서는 그 명세만 참고하는 또 다른 AI 에이전트가 Rust로 구현을 진행합니다. 이 접근은 Phoenix Technologies v. IBM(1984) BIOS 클린룸 사례와 Baker v. Selden(1879) 판례에 기반해 표현이 아닌 동작을 재현(idiomatic Rust)하는 방향을 취합니다. 결과적으로 Claurst는 Anthropic의 Claude를 기본 백엔드로 지원하면서도, OpenAI, Google, GitHub Copilot, Ollama, DeepSeek, Groq, Mistral 등 30개 이상의 다른 프로바이더로 손쉽게 전환할 수 있는 멀티 프로바이더 구조를 제공합니다. 그리고 Rust로 작성된 단일 정적 바이너리이므로 의존성 관리 부담이 거의 없고, 메모리 효율과 시작 속도 측면에서도 가벼운 편입니다.
기능 면에서 Claurst는 단순한 명령 입력 인터페이스를 넘어, 풍부한 TUI(Text User Interface)와 플러그인 시스템, 채팅 분기(chat forking), 메모리 통합(memory consolidation), 헤드리스 일회성 질의 모드까지 갖춘 페어 프로그래머에 가깝습니다. 마스코트인 Rustle이라는 캐릭터를 통한 친근한 사용자 경험과 함께 /managed-agents 명령으로 매니저-실행자(Manager-Executor) 형태의 에이전트 루프를 구성할 수 있는 실험 기능도 제공합니다. 또한 Windows, Linux(x86_64/aarch64), macOS(Intel/Apple Silicon), 그리고 Raspberry Pi와 같은 헤드리스 환경까지 다양한 플랫폼용 바이너리를 공식 릴리스로 배포하여, 팔뚝만 한 ARM 보드부터 데스크톱까지 동일한 에이전트를 일관되게 사용할 수 있도록 합니다.
Claurst의 클린룸 아키텍처와 멀티 프로바이더 구조
Claurst의 코드 저장소는 행동 명세를 담은 spec/ 디렉토리와 실제 Rust 구현을 담은 src-rust/ 디렉토리로 분리되어 있습니다. spec/ 디렉토리는 데이터 흐름, 도구 계약(tool contract), 시스템 디자인을 포함한 동작 명세를 담고 있고, src-rust/ 디렉토리는 그 명세만을 참조해 작성된 Rust 패키지입니다. 이 구조는 원본 TypeScript 소스를 절대 참조하지 않은 채 동일한 동작을 재현하기 위한 안전 장치이며, 동시에 명세를 수정하면 새로운 구현도 같은 명세에서 다시 출발할 수 있는 재현 가능성도 함께 제공합니다.
런타임에서는 /connect 명령을 통해 다양한 LLM 프로바이더 사이를 자유롭게 전환할 수 있습니다. Anthropic, OpenAI, Google, GitHub Copilot, Ollama, DeepSeek, Groq, Mistral 등 30곳 이상의 프로바이더가 지원되며, 자가 호스팅 모델(Ollama 등)도 동일한 인터페이스로 다룰 수 있습니다. 이 멀티 프로바이더 구조 덕분에 사용자는 같은 프롬프트와 같은 도구 환경 위에서 모델을 바꿔가며 결과 품질, 비용, 응답 속도를 비교할 수 있고, 특정 회사의 정책 변화나 가격 변동에 따라 작업 환경 전체를 다시 구성할 필요가 없습니다.
또 다른 차별점은 /managed-agents 명령으로 활성화되는 매니저-실행자(Manager-Executor) 패턴입니다. 큰 모델 하나로 전체 작업을 처리하는 대신, 매니저 역할의 모델이 작업을 계획하고 실행자 역할의 더 작은 모델이 도구 호출과 코드 변경을 수행하는 분업 구조를 갖춥니다. 6가지 사전 구성된 템플릿이 제공되며, 사용자는 자신만의 매니저-실행자 조합을 정의할 수도 있습니다. 이러한 분업은 큰 모델을 단독으로 호출하는 비용 대비 성능을 크게 개선할 수 있는 패턴으로, 다양한 모델 풀을 가진 Claurst의 멀티 프로바이더 구조와 자연스럽게 결합됩니다.
Claurst의 주요 기능
Claurst는 단순한 LLM CLI 래퍼가 아니라, 코딩 세션을 장시간 운영하기 위한 여러 기능을 함께 제공합니다. 풍부한 TUI는 코드 차이(diff), 파일 트리, 명령 출력 등을 한 화면에서 다룰 수 있도록 구성되어 있으며, 플러그인 시스템을 통해 외부 도구와 워크플로우를 확장할 수 있습니다. 채팅 분기(chat forking) 기능은 동일한 컨텍스트에서 서로 다른 가설이나 리팩터링 방향을 병렬로 시도할 수 있도록 도와주며, 메모리 통합(memory consolidation)은 긴 세션에서 누적되는 대화 기록을 정리해 컨텍스트 길이를 효율적으로 사용합니다.
또한 /rocky, /caveman, /normal 같은 음성/말투 모드가 있어 동일한 에이전트를 다른 인격으로 운영해보는 실험적 사용도 가능합니다. 헤드리스 일회성 질의를 위한 claurst -p "..." 옵션은 셸 스크립트나 CI 파이프라인 안에 코딩 에이전트를 부분적으로 통합할 때 유용하며, 별도의 데몬을 띄우지 않고도 단일 명령으로 모델 호출 결과를 받아올 수 있습니다. 추가 설정과 문서는 공식 문서 사이트(https://claurst.kuber.studio/docs)에서 확인할 수 있습니다.
또한 Devcontainer 기반 개발 환경을 공식적으로 제공한다는 점도 특징입니다. rust:1-bullseye 베이스 이미지에 gnupg2, libasound2-dev, libxdo-dev, pkg-config 등 빌드 의존성이 사전 설치되어 있고, Cargo 캐시는 명명된 볼륨으로 영속화됩니다. 호스트 머신의 GPG와 SSH가 컨테이너 안으로 포워딩되도록 설계되어 있어, 보안 정책이 엄격한 조직에서도 일관된 개발 경험을 만들기 쉽습니다.
Claurst 설치 및 사용법
Claurst는 GitHub Releases에서 플랫폼별 바이너리를 제공하므로, 별도의 컴파일 없이 바로 실행할 수 있습니다.
| 플랫폼 | 바이너리 |
|---|---|
| Windows x86_64 | claurst-windows-x86_64.zip |
| Linux x86_64 | claurst-linux-x86_64.tar.gz |
| Linux aarch64 | claurst-linux-aarch64.tar.gz |
| macOS Intel | claurst-macos-x86_64.tar.gz |
| macOS Apple Silicon | claurst-macos-aarch64.tar.gz |
소스로부터 직접 빌드하려면 Rust 툴체인이 필요하며, 다음 명령을 사용합니다.
git clone https://github.com/kuberwastaken/claurst.git
cd claurst/src-rust
cargo build --release --package claurst
# 빌드된 바이너리: target/release/claurst
Raspberry Pi처럼 ALSA가 없는 환경에서는 음성/마이크 의존성을 제외하고 빌드할 수 있습니다.
cargo build --release --package claurst --no-default-features
설치 후에는 환경 변수에 API 키를 설정하고 실행하면 즉시 인터랙티브 세션이 시작됩니다.
# Anthropic 키 설정 (또는 /connect 명령으로 다른 프로바이더 선택)
export ANTHROPIC_API_KEY=sk-ant-...
# 인터랙티브 모드
claurst
# 헤드리스 일회성 질의
claurst -p "explain this codebase"
다른 프로바이더를 사용하고 싶다면 인터랙티브 모드에서 /connect를 입력하여 OpenAI, Google, Ollama 등으로 전환할 수 있고, /managed-agents로 매니저-실행자 구조를 활성화하면 비용 효율적인 에이전트 루프를 만들 수 있습니다.
Claurst 라이선스
Claurst는 GPL-3.0 라이선스로 공개되어 있으며, 상업적/비상업적 사용 모두 가능하지만 파생 프로젝트도 동일한 GPL-3.0 조건을 따라야 한다는 점에 유의해야 합니다. 또한 저장소에는 Claude Code의 원본 TypeScript 소스가 포함되어 있지 않으며, 명세 기반 클린룸 재구현임이 명시되어 있습니다.
Claurst 공식 홈페이지
Claurst 문서 사이트
Claurst 프로젝트 GitHub 저장소
더 읽어보기
-
Claude Code Mux: 다양한 LLM들을 Claude Code에서 함께 사용할 수 있는 Rust 기반 AI 라우팅 프록시
-
LunaRoute: Claude Code 및 Codex CLI 등과 같은 AI 코딩 어시스턴트를 위한 초고속 로컬 프록시
-
Claudia: Claude Code를 기반으로 하는, 커스텀 에이전트를 생성하고 프로젝트를 관리하는 GUI 애플리케이션
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()



