20. 원격 제어와 자동화 루프
- 모바일 원격 제어와 채널(Telegram 등) 연동을 안다
- Ralph 루프가 무엇이고 왜 "밤새 스스로 도는" 패턴이 가능한지 이해한다
- 자동화 루프의 안전장치(종료 조건·rate limit)를 안다
- Claude Code가 "코드만"의 도구가 아님을 이해한다
모바일 원격 제어
17장에서 세션이 표면에 묶이지 않는다고 했습니다. 그 정점이 모바일 원격 제어입니다. 터미널에서 Claude Code를 시작해두고, 폰·브라우저에서 그 세션을 이어 조종할 수 있습니다.
flowchart LR
Term[💻 터미널에서 세션 시작]:::tool --> RC[Remote Control 활성화]:::agent
RC --> Phone[📱 폰에서 지시·확인]:::result
Phone --> Done[작업 완료 시 푸시 알림]:::result
classDef tool fill:#90CAF9,stroke:#1E88E5,color:#000
classDef agent fill:#80DEEA,stroke:#00ACC1,color:#000
classDef result fill:#A5D6A7,stroke:#43A047,color:#000
- Remote Control: 책상을 떠나 폰에서 작업 계속. 작업이 끝나면 푸시 알림.
- Message(디스패치): 폰에서 작업을 던지면 데스크톱 세션이 생성됨.
- Computer Use + Remote Control: 이동 중 폰으로 지시하면 Claude Code가 맥 데스크톱 조작을 대신 수행. 코드·파일은 머신을 떠나지 않고, 채팅 메시지만 암호화 채널로 전송.
- Voice Mode:
/voice로 push-to-talk 음성 지시(여러 언어 지원).
채널: 외부 메신저로 Claude를 부르기
채널(Channels) 은 MCP 서버가 Claude 세션으로 메시지를 밀어 넣을 수 있게 합니다. Telegram·Discord·웹훅 등을 연결하면 외부 이벤트가 Claude의 주의를 끌 수 있습니다.
자동화 루프: 밤새 스스로 돌게 하기
가장 야심 찬 패턴은 자동화 루프입니다. Claude Code를 반복 실행하며 프로젝트가 "완성"될 때까지 스스로 개선하게 하는 것이죠. 두 강의가 모두 강조한 Ralph 루프가 대표적입니다.
Ralph 루프란
Ralph 루프는 Geoffrey Huntley가 고안한 기법으로(심슨의 Ralph Wiggum에서 따온 이름), Claude Code가 요구사항을 향해 반복적으로 자기 작업을 개선하는 연속 자율 개발 사이클입니다.
flowchart TB
A[요구사항·계획]:::user --> B[Claude Code 실행]:::agent
B --> C[작업 수행·테스트]:::tool
C --> D{완료 신호?}:::danger
D -->|미완| E[컨텍스트 유지하며 다음 반복]:::agent
E --> B
D -->|완료 지표 AND EXIT_SIGNAL| F[루프 종료]:::result
classDef user fill:#FFE082,stroke:#F9A825,color:#000
classDef agent fill:#80DEEA,stroke:#00ACC1,color:#000
classDef tool fill:#90CAF9,stroke:#1E88E5,color:#000
classDef danger fill:#EF9A9A,stroke:#E53935,color:#000
classDef result fill:#A5D6A7,stroke:#43A047,color:#000
핵심은 "무엇이 완료인가"를 명확히 정의하고, 그 신호가 나올 때까지 반복하는 것입니다. 한 사례에서는 stop 훅과 Ralph 루프 패턴으로 약 5시간 가까이 자율 실행한 기록도 있습니다.
⚠️ 루프의 안전장치는 필수
자율 루프는 강력하지만, 안전장치 없이는 무한 루프·비용 폭주·드리프트의 위험이 있습니다. 커뮤니티의 Ralph 구현들이 공통으로 갖춘 장치:
| 안전장치 | 역할 |
|---|---|
| 이중 종료 조건 | 완료 지표 AND 명시적 EXIT_SIGNAL 둘 다 있어야 종료 |
| rate limiting | 시간당 호출 수 제한, 카운트다운 |
| circuit breaker | 폭주 루프 감지 시 차단 |
| 세션 만료 | 기본 타임아웃(예: 24시간) 후 자동 리셋 |
| 격리 실행 | Docker·E2B 클라우드 샌드박스에서 실행 |
⚠️ stop 훅 활용(15장): Stop 훅이 Claude의 최종 응답을 검토해, 미완 작업을 "다 됐다"고 합리화하면 계속하도록 강제할 수 있습니다. 자율 루프의 품질을 지키는 핵심 장치입니다.
⚠️ 과금: 자율 루프는 비대화형 실행이라 19장에서 본 Agent SDK 크레딧 풀 분리의 영향을 받을 수 있습니다. 밤새 도는 루프의 비용을 미리 가늠하세요(22장).
이름과 달리, "코드만"의 도구가 아니다
마지막으로 마음가짐 하나. Claude Code는 이름과 달리 코드에만 쓰는 도구가 아닙니다. 파일을 읽고·쓰고, 명령을 실행하고, 외부 도구를 부르는 범용 에이전트라, 문서 정리·데이터 처리·반복 업무 자동화 등 코드가 아닌 작업에도 잘 맞습니다.
예시:
- 매일 아침 뉴스/이슈를 스크랩해 요약 이메일 보내기(
/loop+ MCP) - 여러 저장소의 일일 변경을 요약해 데스크톱에 저장
- 개인 지식 베이스(노트) 정리·검색
이 장에서 배운 것
- 모바일 Remote Control·Message·Computer Use·Voice로 이동 중에도 Claude Code를 조종할 수 있다(일부 preview).
- 채널은 Telegram·Discord 등 외부 메신저가 Claude 세션에 메시지를 밀어 넣게 한다.
- Ralph 루프는 완료 신호가 나올 때까지 반복하는 자율 개발 패턴이고, 내장
/loop이 그 1급 기능판이다. - 자율 루프엔 이중 종료 조건·rate limit·circuit breaker·세션 만료·격리·stop 훅 같은 안전장치가 필수다.
- Claude Code는 코드 전용이 아니다 — 파일·명령을 다루는 범용 자동화 에이전트다.
✍️ 확인 문제
- 모바일에서 데스크톱 작업을 시킬 때, 무엇이 머신을 떠나고 무엇이 떠나지 않나요?
- Ralph 루프에서 "이중 종료 조건"이 왜 중요한가요?
- Stop 훅은 자율 루프의 품질을 어떻게 지켜주나요?
🎉 5부 완료! 다음 장부터는 6부 실전과 베스트 프랙티스, 마지막 파트입니다.
다음 장: 21. 효과적인 프롬프팅과 큰 코드베이스