24시간

내 서버에서 코딩 에이전트를 24시간 실행하기

항상 켜져 있는 코딩 에이전트에는 세 가지가 필요합니다. 잠들지 않는 머신, 연결보다 오래 사는 프로세스, 그리고 나를 필요로 할 때 알아차릴 방법. tmux부터 systemd, 세션 데몬까지 각각을 얻는 방법과, 구독이 정하는 한도를 소개합니다.

내 서버에서 코딩 에이전트를 24시간 실행하기

빠른 답변

에이전트를 잠들지 않는 머신(VPS나 항상 켜진 집 머신)에 두세요. SSH 세션보다 오래 사는 것 아래에서 실행하세요. 대화형 사용에는 tmux, 부팅 시 tmux를 되살리려면 systemd 사용자 서비스(lingering 켜기), 또는 세션을 소유하는 데몬입니다. 병렬 세션마다 별도의 git worktree를 주세요. 24시간 에이전트를 멈추는 것은 보통 하드웨어가 아니라 요금제의 사용량 한도입니다. Claude 요금제는 5시간마다 초기화되며 주간 한도도 있습니다.

노트북의 코딩 에이전트는 덮개가 닫히면 멈춥니다. 항상 켜진 머신으로 옮기는 것은 쉬운 부분입니다. 사람들이 건너뛰는 부분은 관리(무엇이 프로세스를 살려 두고, 재부팅 후 무엇이 되살리는가), 병렬 세션 간의 격리, 그리고 하드웨어보다 훨씬 먼저 에이전트를 멈추게 할 사용량 한도입니다. 이 가이드는 Claude Code, Codex 등 터미널 에이전트에 대해 각각을 다룹니다.

클라우드 vs 내 머신

먼저 머신이 필요하기는 한지 정하세요. 이제 업체들이 에이전트를 대신 실행해 줍니다.

업체 클라우드 (예: Claude Code 클라우드 세션, Codex 클라우드 작업)내 서버나 집 머신
설정GitHub 연결 (Claude는 로컬 저장소 번들 업로드도 가능)VPS나 항상 켜진 머신, 그리고 설치와 인증
환경세션마다 스크립트로 구성되는 격리된 VM. 비활성 후 회수내 도구 체인, 데이터베이스, 비밀 정보. 영속적
네트워크와 사설 서비스기본적으로 제한 (도메인 허용 목록). 사설 네트워크에는 닿지 않음머신이 닿는 모든 것: VPN, tailnet, 스테이징 DB
에이전트한 업체의 것모든 CLI: Claude Code, Codex, OpenCode, Grok Build, agy
비용요금제 사용량 (Anthropic: 별도 컴퓨팅 요금 없음)요금제 사용량 + 머신 월 몇 유로

프로젝트가 GitHub에 있고 설정 스크립트로 빌드된다면 업체 클라우드가 가장 손이 덜 갑니다. Anthropic의 클라우드 세션 문서에서 시작하세요. claude --cloud "…"로 터미널에서 하나를 시작할 수 있습니다. 에이전트가 내 머신에만 있는 것을 필요로 하거나, 여러 업체의 에이전트를 나란히 쓰고 싶다면 내 머신을 고르세요. 사양과 현재 가격은 VPS 구매 가이드에서 다룹니다. 잠자기만 끄면 집의 Mac mini도 됩니다.

프로세스 관리

대화형 에이전트는 터미널 프로그램입니다. 다른 무언가가 터미널을 붙잡고 있지 않으면 터미널과 함께 죽습니다. 가장 단순한 것부터 가장 튼튼한 것까지 네 가지 선택지가 있습니다.

1. tmux

tmux new -A -s main
cd ~/src/api && claude        # detach: Ctrl-b d · re-attach: tmux attach -t main

tmux는 연결 끊김은 견디지만 재부팅은 견디지 못합니다. 대화형 작업에 맞는 도구이며, 원격 머신에서 Remote Control 세션을 살려 두는 방법으로 Anthropic 문서가 권하는 것도 이것입니다. 에이전트에 필요한 설정은 tmux, mosh, Tailscale 가이드에 있습니다.

2. systemd + tmux로 재부팅 후 복구

대화형 TUI는 터미널이 필요하므로 서비스로 직접 실행할 수 없습니다. 대신 부팅 시 systemd가 분리된 tmux 세션을 시작하게 할 수 있습니다. 일반 사용자로 ~/.config/systemd/user/agents.service를 만드세요.

[Unit]
Description=tmux session for coding agents

[Service]
Type=forking
ExecStart=/usr/bin/tmux new-session -d -s main
ExecStop=/usr/bin/tmux kill-session -t main

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now agents.service
sudo loginctl enable-linger "$USER"     # start user services at boot, without a login

이것이 되살리는 것은 빈 세션이지 대화가 아닙니다. 대화를 이어 가는 것은 별도의 단계입니다(아래 재부팅 시 일어나는 일 참고).

3. 일정에 따른 헤드리스 실행

야간 의존성 업데이트, 새 이슈 분류, 문서 재생성 같은 반복 작업에는 TUI를 건너뛰세요. cron이나 systemd 타이머에서 claude -p "…"나 codex exec "…"를 실행합니다. 승인할 사람이 없으므로 권한 모드와 허용 목록을 의도적으로 설정하세요. 방법은 에이전트를 전체 권한으로 안전하게 실행하기에서 다룹니다.

4. 세션 데몬

가장 튼튼한 선택지는 에이전트 세션을 소유하는 프로세스입니다. 세션을 시작하고, 트랜스크립트를 보관하고, 어디서든 연결할 수 있게 합니다. Claude Code의 Remote Control 서버 모드(claude remote-control)가 그중 하나입니다. 기본적으로 동시 세션 최대 32개를 처리하며 --capacity로 설정할 수 있지만, 여전히 tmux나 서비스 안에서 실행해야 합니다. agy remote-control start는 Antigravity의 데몬을 OS 서비스로 등록합니다. Maude를 포함한 서드파티 도구는 여러 에이전트를 다루는 자체 데몬을 배포합니다.

병렬 세션과 worktree

두 에이전트가 같은 체크아웃을 편집하면 서로의 변경을 덮어씁니다. 각 세션에 저장소 기록을 공유하는 별도의 작업 디렉터리와 브랜치, 즉 자체 git worktree를 주세요.

git worktree add ../api-auth -b feature/auth
git worktree add ../api-billing -b fix/billing
# one tmux window per worktree, one agent per window

Claude Code는 이를 대신 해 줍니다. claude --worktree feature-auth(또는 -w)는 .claude/worktrees/ 아래에 새 브랜치로 worktree를 만들고 그 안에서 세션을 시작합니다. worktree 문서를 참고하세요.

머신 하나가 감당하는 세션 수는 에이전트 자체가 아니라 세션이 무엇을 실행하느냐에 달려 있습니다. 쓸 만한 경험칙은 첫 세션에 4 GB, 빌드나 테스트를 하는 추가 세션마다 1~2 GB이며, worktree마다 개발 서버나 데이터베이스를 돌린다면 더 필요합니다. 하나 더 추가하기 전에 바쁜 시간대에 free -h를 지켜보세요. 디스크도 쌓입니다. worktree마다 node_modules가 따로 생기기 때문입니다.

할당량과 속도 제한

24시간 머신은 요금제가 에이전트를 계속 일하게 해 줄 때만 쓸모가 있으니, 계획을 세우기 전에 한도를 읽으세요.

  • Claude (Pro, Max). Anthropic의 사용량 한도 문서에 따르면 사용량 한도는 5시간마다 초기화되며, 주간 한도도 있습니다. 여러 병렬 세션은 같은 할당량에서 차감됩니다. Settings → Usage에서 현황을 확인할 수 있습니다.
  • Codex (ChatGPT 요금제). Plus 등의 등급은 5시간 롤링 구간을 쓰며, 주간 한도가 적용될 수도 있습니다. 로컬 CLI 사용과 클라우드 작업은 하나의 할당량을 공유합니다. 내 요금제는 OpenAI의 Codex 요금 페이지를 참고하세요.
  • API 키. 요금제 구간은 없지만 토큰당 지불하므로, 폭주하는 루프는 멈추는 대신 돈이 듭니다. 제공자 콘솔에서 지출 한도를 설정하세요.

실제로 "24시간"은 일과 할당량이 있을 때 언제든 에이전트가 일할 수 있다는 뜻이지, 하루 종일 전력으로 돈다는 뜻이 아닙니다. 긴 작업은 자리를 비울 때 돌도록 줄 세워 두고, 다음 초기화까지 멈출 수 있다고 예상하세요.

재부팅 시 일어나는 일

커널 업데이트, 제공업체 유지 보수, 메모리 부족 종료는 모두 재시작을 일으킵니다. 에이전트 대화는 디스크에 저장되므로 잃는 것은 없지만, 저절로 다시 시작되는 것도 없습니다.

  • Claude Code: claude --continue는 현재 디렉터리의 가장 최근 대화를 이어 가고, claude --resume은 고를 수 있게 합니다.
  • Codex: codex resume --last, 또는 선택 화면을 여는 codex resume.
  • tmux: 서버가 사라지고 창 배치도 함께 사라집니다. 위의 systemd 유닛이 세션을 다시 만듭니다. tmux-resurrect 같은 플러그인으로 배치를 복원할 수도 있습니다.

머신이 내려갔을 때 진행 중이던 것, 예를 들어 반쯤 끝난 편집이나 실행 중인 테스트는 직접 확인해야 합니다. 에이전트에게 자주 커밋하게 할 이유가 하나 더 생겼습니다.

휴대폰에서 지켜보기

항상 켜진 에이전트는 예상치 못한 순간에 나를 필요로 합니다. 권한 요청, 질문, 검토할 완료된 작업. 선택지는 tmux에 연결하는 SSH 앱(무료지만 알림 없음), 에이전트별로 작동하는 업체 Remote Control 앱, 푸시를 위한 ntfy 훅(휴대폰에서 요청 승인하기에서 다룸), 또는 이 모두를 해 주는 앱입니다.

Maude는 이 구성을 위해 만들어졌습니다. SSH로 데몬을 배포해 서버에서 세션을 24시간 실행하고, 앱을 닫아도 계속 돌리며, 추가한 모든 서버에서 Claude Code, Codex, OpenCode, Grok Build, Antigravity를 다룹니다. 허용/거부가 있는 푸시 알림, 기다리는 것들의 받은함, 세션별 git worktree, diff 검토, 터미널을 쓸 수 있습니다. 한 에이전트의 할당량이 바닥나면, 지금까지의 작업 요약과 함께 세션을 다른 에이전트에게 넘길 수 있습니다. 각 에이전트의 요금제나 API 키는 여전히 필요합니다. 앱은 3일 체험 후 주 $2.99, 또는 7일 체험 후 연 $59.99입니다.

자주 묻는 질문

내 구독으로 24시간 사용이 가능한가요?
하드웨어는 하루 종일 돌 수 있지만, 얼마나 많은 일이 끝나는지는 요금제 한도가 정합니다. Claude 요금제는 5시간마다 초기화되며 주간 한도도 있습니다. ChatGPT 요금제는 Codex에 5시간 롤링 구간을 주며 주간 한도가 있을 수 있습니다. API 키는 구간이 없지만 토큰당 청구됩니다.
VPS 하나로 에이전트 세션을 몇 개나 처리할 수 있나요?
세션이 무엇을 실행하느냐에 달려 있습니다. 대략적인 출발점은 첫 세션에 4 GB, 빌드나 테스트를 하는 추가 세션마다 1~2 GB입니다. 세션마다 별도의 git worktree를 주고, 더 추가하기 전에 free -h로 메모리를 지켜보세요.
서버가 재부팅되면 에이전트는 어떻게 되나요?
프로세스와 tmux 세션은 사라지지만, 대화는 디스크에 저장되어 있습니다. claude --continue나 claude --resume, codex resume --last로 이어 가세요. lingering을 켠 systemd 사용자 서비스로 부팅 시 tmux 세션을 되살릴 수 있습니다.
집의 Mac mini에서 Claude Code를 24시간 실행할 수 있나요?
네. 시스템 잠자기를 끄고(예: sudo pmset -a sleep 0), 유선 네트워크를 쓰고, Tailscale이나 바깥으로 연결하는 앱으로 접근하세요. Remote Control과 tmux 모두 거기서 작동합니다. 잠드는 Mac은 모든 것을 멈춥니다.
같은 서버에서 Claude Code와 Codex를 실행할 수 있나요?
네. 로그인과 설정 디렉터리(~/.claude와 ~/.codex)가 분리된 독립 CLI입니다. 같은 파일을 편집하지 않도록 별도의 tmux 창이나 worktree에서 실행하세요.

항상 켜져 있는 에이전트

세션은 서버에서 24시간 실행되고, 나를 필요로 할 때 휴대폰이 알려 줍니다. iOS와 Android.

Download Maude on the App Store Get Maude on Google Play