24시간 AI Coding Agent 구축 방법

완전 배포 가이드 · 2026  ·  2026.07.15  ·  약 12분  ·  아키텍처 다이어그램 · 7단계 · FAQ

코드 터미널과 서버 랙 — 24시간 온라인 AI Coding Agent 배포 환경을 상징

한 줄 가이드: 2026년 밤새 issue를 받아 코드를 고치고 PR을 여는 AI Coding Agent를 구축하려는 팀이 많지만, 첫 단계에서 자주 실수합니다 — Cursor만 설치하거나 API만 사면 된다고 생각하는 것입니다. 오래 돌아가는 autonomous coding agent 뒤에는 상시 실행면, 작업 스케줄링, 객관적 검증이 필요합니다. 아래에서는 아키텍처 계층, 배포 토폴로지, 최소 실행 스택, 프로덕션 강화 네 축으로 바로 따라 할 수 있는 완전 배포 가이드를 정리합니다.

24/7
목표 가동 시간
5
핵심 아키텍처 계층
24GB
Agent + Runner 권장 메모리

배포 전 두 계층을 구분하세요

AI Coding Agent컨텍스트를 읽고, 코드를 수정하고, 명령을 실행하는 자율 프로그램입니다(OpenHands, Claude Code, Cursor Background Agent 등). 이는 AI coding agent server — 즉 24/7 온라인 실행·스케줄링 노드 — 위에서 동작합니다. 상시 노드가 없으면 Agent는 노트북 뚜껑을 닫으면 멈추는 스크립트일 뿐이고, Agent가 없으면 노드는 빈 Mac mini입니다.

1. 24시간 AI Coding Agent란 무엇인가?

IDE에 깔린 Copilot, Cursor Tab과 달리 24시간 AI Coding Agent가 풀려는 문제는 다릅니다: 당신이 자리에 없을 때, 누가 실제 환경에서 저장소를 수정하고 명령을 실행하며 검증 신호를 받을 수 있는가?

제대로 돌아가는 배포에는 보통 네 가지 능력이 있으며, 하나라도 빠지면 「24시간 autonomous coding agent」라 부르기 어렵습니다:

  • 상시 실행 환경(L0) — 끊김 없는 전원·네트워크의 macOS 또는 Linux 노드에서 git, npm, xcodebuild 실행.
  • 코딩 Agent 프로세스(L3/L5) — 페어 계층(Claude Code) 또는 자율 계층(OpenHands)이 컨텍스트를 읽고 Diff 작성.
  • 작업 진입점과 큐 — GitHub issue label, Webhook, cron, Slack 명령 등으로 「할 일」을 Agent에 전달.
  • 객관적 검증(L1)GitHub Runner 또는 로컬 테스트 스크립트가 조직이 신뢰할 Fact를 생성 — Agent의 「다 했어요」만으로는 부족.

한 줄로: 실행 노드는 기초 공사와 전기·수도, Agent는 일하는 작업자, Runner는 품질 검사원입니다. 많은 팀이 모델 API만 사고 MacBook에서 스크립트를 돌린 뒤 24/7 Agent를 기대하다 실패합니다 — 뚜껑 닫기, 절전, 메모리 경합, 출구 IP 변경이 새벽 3시에 작업을 끊습니다.

2. 한 장으로 보기: 작업 진입부터 머지 가능한 PR까지

아래 인과 체인은 전형적인 autonomous coding agent 파이프라인을 요약합니다. 왼쪽은 주 체인, 오른쪽은 「성공」과 「실패」 대조입니다.

24/7 AI Coding Agent 주 체인

작업 진입 Issue label · Webhook · Cron
실행 노드(L0) AI coding agent server · 24/7 온라인
AI Coding Agent(L5) Plan → Execute → Observe → Debug
Diff + PR 브랜치 푸시 · 자동 Pull Request
GitHub Runner(L1) 테스트 통과 · 빌드 성공 · 머지 가능

성공에 필요한 것

  • 노드 24/7 무중단
  • Agent 토큰과 git 권한 분리
  • MCP 기본 읽기 전용
  • 브랜치 보호 + CI 필수 통과
  • 작업 타임아웃·동시성 상한

전형적 실패

  • 노트북 뚜껑 닫으면 작업 중단
  • Runner 없어 PR 머지 불가
  • Agent가 프로덕션 DB에 쓰기
  • 대형 monorepo에 CodeGraph 없이 맹목 수정
  • 다중 작업이 메모리 경합 → Swap
왼쪽: 24시간 AI Coding Agent가 작업 진입부터 CI 통과까지의 주 체인. 오른쪽: 2026 프로덕션급 배포의 필수 조건과 흔한 실패 패턴.

3. 5계층 컴포넌트 분해

AI Agent 인프라 계층과 같이, 24/7 Agent 배포는 한 번에 다 살 필요는 없지만 각 계층이 빠지면 어떤 일이 생기는지 알아야 합니다:

계층 배포에서의 역할 일반적 선택 24/7 필수?
L0 실행 환경 Agent의 24/7 실행 베이스 Cloud Mac / Mac mini ✅ 필수
L1 검증 PR 머지 가능 여부의 객관적 신호 GitHub self-hosted Runner 팀 환경 필수
L3 페어 코딩 낮에 사람이 있는 복잡한 변경 Claude Code / Cursor Agent 선택(L5와 병행 가능)
L4 컨텍스트 대형 저장소 탐색, issue, API MCP(GitHub / CodeGraph) 대형 저장소 강력 권장
L5 자율 워크플로우 autonomous coding agent 핵심 OpenHands, Cursor Background Agent 무인 운영 필수

Claude Code는 Diff를, Runner는 Fact를, OpenHands는 Workflow를 만든다 — AI Coding Agent 배포 시 역할을 기억하는 구호입니다. 밤에 lint issue만 자동 처리하려면 L0 + L5 + L1이면 충분한 경우가 많고, 낮에 아키텍처 작업도 페어로 하려면 L3를 추가하되 동일 머신 병행 시 메모리 스케줄링에 주의하세요(병렬 메모리 스케줄링 참고).

4. 배포 토폴로지: 로컬 Mac mini vs Cloud Mac

24시간 AI Coding Agent 실행 노드는 물리 머신, VM, 클라우드 임대 인스턴스 모두 가능합니다. 선택 기준은 브랜드가 아니라 가동 SLA입니다:

차원 사무실 Mac mini Cloud Mac(데이터센터)
24/7 안정성 사무실 전원·네트워크에 의존 데이터센터급 전원·백본 회선
출구 IP 가정용 회선은 변경될 수 있음 전용 IPv4, Webhook 화이트리스트 안정
Runner 동일 머신 가능, 16GB 충분한지 확인 흔한 구성, job당 workspace 분리
적합 대상 유휴 Mac 보유, 하드웨어 직접 관리 구매 없이 빠른 autonomous agent 상용화
iOS / Xcode 빌드 실제 macOS, 가능 실제 macOS, 가능(시뮬레이터 대체 아님)

순수 백엔드 저장소(Go / Node / Python)는 이론상 Linux VPS에서도 AI Coding Agent를 돌릴 수 있지만, workflow에 xcodebuild, swift test, Apple 서명이 들어가면 실행면은 macOS로 돌아와야 합니다. 2026 배포 가이드가 Mac을 기본으로 쓰는 이유는 감성이 아니라 ABI 경계 때문입니다.

5. 최소 실행 스택(MVP): 밤 작업 한 건 먼저 통과시키기

첫날부터 Kubernetes + 벡터 DB를 깔 필요는 없습니다. 「issue → PR → CI 통과」를 가장 빨리 본 조합은 다음과 같습니다:

  • 노드: M4 Mac mini 16GB 또는 동급 Cloud Mac; OpenHands + Runner 겹치면 24GB 권장.
  • Agent: OpenHands(자율) 또는 Claude Code + 간단한 shell 래퍼(반자동).
  • 모델: Claude / GPT API; 로컬 Ollama는 선택, 24/7 필수 아님.
  • 진입: issue에 agent label → GitHub Webhook 트리거.
  • 검증: 동일 머신 self-hosted Runner, runs-on: [self-hosted, macOS].
  • 컨텍스트: GitHub MCP 읽기 전용 + 저장소 AGENTS.md에 레드라인 명시.

첫 작업은 이렇게 고르세요

lint 정리, 의존성 마이너 업그레이드, 단위 테스트 보강부터 — 입력이 명확하고 검증이 쉬우며, 망가져도 롤백이 쉽습니다. 첫 autonomous coding agent 작업을 테스트 없는 대규모 리팩터링으로 잡지 마세요.

6. 7단계 배포 체크리스트

아래 순서대로 진행하며 각 단계를 개별 검수하세요 — 「다 깔았는데 Runner 미등록」을 막는 핵심 실무 파트입니다.

Step 1 — L0 노드 준비. SSH, 시계 동기화, 디스크 ≥ 256GB 확인(Xcode + 다중 workspace는 용량을 많이 씁니다). Cloud Mac 사용자는 인스턴스 초기화와 고정 IP를 먼저 확인하세요.

Step 2 — 제한된 git 신원 생성. Agent 전용 GitHub App 또는 deploy key: feature 브랜치만 쓰기, 기본적으로 main 쓰기 금지. 프로덕션 비밀키, npm token은 Agent 환경 변수에 넣지 않습니다.

Step 3 — 코딩 Agent 설치. OpenHands 예시(Docker 또는 네이티브는 공식 문서 따름):

OpenHands · 시작 예시
# L0 노드에서 OpenHands 클론 후 공식 문서대로 LLM API Key 설정
git clone https://github.com/OpenHands/OpenHands.git
cd OpenHands
# .env 설정: MODEL, GITHUB_TOKEN(issue 읽기 전용), WORKSPACE_BASE
make run

Step 4 — MCP 연결(선택이지만 권장). 대형 저장소는 CodeGraph MCP로 의존 관계를 「볼 수 있게」 한 뒤 수정하세요.

Step 5 — GitHub Runner 등록. Agent와 동일 머신에 등록, label 예: macos-agent. workflow 조각:

# .github/workflows/agent-verify.yml
name: Agent PR Verify
on:
  pull_request:
    types: [opened, synchronize]
jobs:
  verify:
    runs-on: [self-hosted, macOS, agent]
    steps:
      - uses: actions/checkout@v4
      - run: swift test   # 또는 npm test / go test

Step 6 — 작업 진입점 설정. GitHub Webhook을 서버의 경량 HTTP 서비스로 연결하거나 OpenHands 내장 연동 사용; label agent-ready로 필터해 모든 comment가 트리거되지 않게 합니다.

Step 7 — 모니터링과 차단. 작업별 token 사용량, 소요 시간, 변경 파일 수 기록; 단일 작업 타임아웃(예: 90분) 시 자동 kill; 동시성은 1로 시작해 안정 후 2로 확대.

7. 프로덕션 강화: Agent가 새벽에 main을 망치지 않게

Autonomous coding agent의 최대 리스크는 「모델이 멍청해서」가 아니라 권한 과다 + 무인 검토 부재입니다. 출시 전 최소한 다음을 적용하세요:

레드라인 조치
브랜치 보호 main 직접 push 금지; Agent는 PR만 생성
CI 필수 통과 required checks에 Runner job 포함, 녹색 불 없이 머지 불가
비밀키 격리 프로덕션 DB, App Store Connect API는 Agent 환경에 넣지 않음
MCP 최소 노출 기본 읽기 전용; 쓰기는 수동 승인(MCP 권한 참고)
감사 로그 Agent의 각 shell 단계, diff, 모델 요청 ID 보존
리소스 상한 cgroup / ulimit로 자식 프로세스 제한; fork bomb 방지

「완전 자동 머지」는 다음 단계

24/7 AI Coding Agent의 첫 목표는 안정적으로 검토 가능한 PR을 만드는 것이지 자동 merge가 아닙니다. 사람 또는 별도 정책 Agent가 검토 후 머지하는 편이 「새벽에 백도어 PR이 자동 머지된」 사고보다 훨씬 저렴합니다.

8. 비용과 스펙 추정

24시간 AI Coding Agent 비용은 보통 세 덩어리로 나뉩니다:

  • 연산 노드: Mac mini 일회성 + 전기; Cloud Mac은 일/주 구독(임대 vs 구매 비교).
  • 모델 API: autonomous agent는 다중 루프로 페어 코딩 대비 5–20배 token; 작업별 예산 상한 권장.
  • 운영 인력: 초기에는 주당 몇 시간 로그·prompt·stuck 작업 정리; 「설치만 하면 제로 유지보수」는 가정하지 마세요.

스펙 경험치: OpenHands만 + 중간 규모 저장소면 16GB 가능하나 Swap 위험; Agent, Runner, 선택 Ollama를 동일 머신에 두면 24GB가 더 안심(16GB vs 24GB 참고).

9. 흔한 실패 사례

  • 페어 도구를 autonomous agent로 착각 — Claude Code 세션은 끝나면 멈춤, 별도 스케줄 래퍼 없으면 24/7 아님.
  • Fact 계층 부재 — Agent만 「테스트 통과」 주장, Runner는 한 번도 안 돌림(self-hosted Runner가 가치 있는 이유).
  • 과도한 동시성 — autonomous 작업 두 개가 16GB에서 동시 실행 → Swap 지옥.
  • 컨텍스트 맨몸 — 백만 줄 monorepo에 CodeGraph 없이 수정 = 맹목 리팩터링.
  • 타임존·알림 무시 — 실패 알림 없이 아침에 반쯤 된 PR만 발견.

10. 자주 묻는 질문

Q: Cursor Background Agent도 24시간 AI Coding Agent인가?
A: Cursor는 호스팅 실행면을 제공해 로컬 24/7을 안 켜도 됩니다 — 다만 저장소 권한, CI 검증, 컴플라이언스 경계는 직접 설정해야 합니다. 자체 호스팅 배포의 의미는 데이터와 실행이 완전히 통제하는 노드에 있다는 것입니다.

Q: GitHub Copilot Workspace / OpenAI Codex를 쓸 수 있나?
A: L3/L5의 모델·UI 계층으로 사용 가능; 배포 계층은 여전히 실행 환경 + 스케줄링 + 검증입니다. Codex가 ChatGPT와 합쳐진 뒤 더 페어에 가깝고, 무인 운영에는 workflow 래퍼가 필요합니다(Codex 통합 해설).

Q: Linux에서 Docker OpenHands만으로 충분한가?
A: 순수 Web / 백엔드는 충분; Apple 툴체인 단계는 macOS 노드로 전환해야 합니다. 혼합 팀 흔한 구조: Linux에서 스케줄링, macOS Cloud Mac에서 빌드와 Agent.

Q: 혼자 유지보수하는데 24/7이 필요한가?
A: 낮에만 페어 코딩이면 필수 아님. 24/7 AI Coding Agent는 issue 적체, 타임존 팀, 「기술 부채 정리」를 밤 머신 시간으로 옮기고 싶을 때 적합합니다.

Q: Devin / Factory 같은 상용 autonomous agent와 비교하면?
A: 상용 제품은 Agent + 실행면 + UI를 묶어 팝니다. 자체 배포는 감사 가능, 권한 커스터마이즈, 기존 Runner/MCP 스택 정렬이 목적입니다. 많은 팀이 「상용 Agent로 탐색, 자체 호스팅 노드로 양산」을 택합니다.

ZavCloud Cloud Mac

끊김 없는 macOS에 AI Coding Agent 배포

데이터센터급 Mac mini M4 전용 인스턴스 — OpenHands, Claude Code, GitHub Runner를 겹쳐 24시간 AI Coding Agent 실행 베이스로 쓰기에 적합합니다.

Cloud Mac 플랜 보기
Cloud Mac 24/7 Agent 배포 베이스