harnesslog.dev

Claude Code, AI, 개발 이야기

KO · EN
H
hwangjungmin

Claude Code에서 터미널 밖에서 작업하는 방법이 세 가지가 생겼는데, 얼핏 비슷해 보여서 헷갈린다.

Web (Dispatch) 은 제일 설명하기 쉬운 거다. Claude가 클라우드에서 실행되는 거라 내 기기랑 무관하다. claude --remote "인증 버그 수정해줘" 하면 Anthropic 샌드박스에 GitHub 레포가 클론되고 독립적으로 작업이 진행된다. 노트북 닫아도 되고, 나중에 돌아와서 PR 만들면 끝. 병렬로 여러 개 돌려도 된다.

Remote ControlChannels 는 둘 다 로컬이다. 내 기기에서 실행된다. 근데 여기서 성격이 갈린다.


Remote Control은 내가 Claude와 대화하는 주체인데, 기기만 다른 상황을 위한 거다. 책상에서 세션을 시작하고 소파로 이동했는데 계속 조작하고 싶은 경우 같은 거. claude.ai/code나 Claude 앱 열면 세션이 보이고, 거기서 메시지 보내고, 답 읽고, 툴 사용 승인하면 된다. 같은 대화, 다른 화면인 거다.

claude --remote-control "auth 모듈 리팩터링"
# → claude.ai/code와 Claude 앱에서 세션이 보임

Channels는 다른 무언가가 Claude를 트리거하도록 만드는 거다. 내가 직접 조작하는 게 아니라 리스너를 세팅하는 개념이다. Telegram으로 메시지가 오면 Claude가 처리하고 답을 보내고, 새벽 3시에 CI 웹훅이 발화하면 Claude가 실패 로그 읽고 디버깅을 시작한다. 내가 보고 있지 않아도 된다.

claude --channels plugin:telegram@claude-plugins-official
# → Telegram 봇으로 메시지가 오면 Claude가 반응

예시로 보면 차이가 명확해진다.

소파에서 “이 PR에 뭐가 남았어?”라고 물어보고 채팅 스레드에서 답을 읽고 싶다 — Channels. 소파에서 Claude가 리팩터링하는 과정을 단계별로 지켜보며 중간에 메시지 보내고 싶다 — Remote Control.

CI 실패할 때마다 Claude가 자동으로 진단을 남겨줬으면 한다 — Channels. 돌아가는 Claude 세션에 폰으로 끼어들어 “그 파일은 넘어가줘”라고 하고 싶다 — Remote Control.

Channels는 반응형이고, Remote Control은 대화형이다.


실행 위치적합한 상황
Remote Control내 기기다른 기기에서 세션을 직접 조작
Channels내 기기외부 이벤트(Telegram, 웹훅)에 반응
Web클라우드로컬 파일 없이 처리 가능한 비동기 작업