피드로 돌아가기
How I run Claude Code 24/7 on a 2015 MacBook — the framework that survived 6 months
Dev.toDev.to
AI/ML

2015 MacBook Air에서 840개 PR을 자동 병합한 자율 에이전트 프레임워크

How I run Claude Code 24/7 on a 2015 MacBook — the framework that survived 6 months

Suzu Idaki2026년 5월 3일6intermediate

Context

Claude Code의 대화형 모드를 스케줄링 기반의 자율 운영 체제로 전환하는 과정에서 세션 간 컨텍스트 단절, 무분별한 Git 브랜치 생성, 무음 실패(Silent Failure)로 인한 상태 오염 문제 발생.

Technical Solution

  • macOS launchd plists를 활용한 별도 데몬 없는 네이티브 스케줄링 환경 구축
  • LLM의 요약본 대신 Transcript JSONL에서 도구 호출(Tool Calls)을 결정론적으로 파싱하여 세션 간 상태 전이(Handover) 구현
  • git stash의 불투명한 상태 관리를 배제하고 모든 작업 단위를 전용 브랜치에 커밋하는 가시적 상태 관리 체계 도입
  • 파일 수정 권한을 제한하는 Scope-guard hook을 통해 핵심 설정 파일 및 시크릿 보호
  • 독립적인 Healthcheck 워처를 배치하여 실패 시 GitHub Issues를 통해 알림을 생성하는 모니터링 루프 설계
  • 실제 장애 사례를 기반으로 수정 사항을 추가하는 CLAUDE.md 기반의 점진적 헌법(Constitution) 정의

- 에이전트 간 컨텍스트 전달 시 LLM 요약 대신 원본 로그(JSONL)의 구조적 데이터 파싱 적용 - 비가시적 상태 저장소(Stash 등) 대신 가시적 버전 관리(Branch) 체계 사용 - 추측성 규칙이 아닌 실제 장애 발생 후 보완하는 'Post-incident' 방식의 프롬프트 가드레일 구축 - 핵심 설정 파일에 대한 쓰기 권한을 물리적으로 차단하는 Scope-guard 레이어 검토

원문 읽기