본문으로 건너뛰기

© 2026 Molayo

r/ClaudeAI분석2026. 05. 14. 16:23

내 AI는 -p 없이도 Claude Code에서 24/7로 작동합니다. 직접 구현할 수 있는 훅(hook)을 소개합니다.

요약

본 글은 Claude Code의 크레딧 변경에 대응하여, SDK 크레딧 없이도 무상태(stateless)로 작동하는 훅 기반의 대안 시스템을 소개합니다. 이 시스템은 '감독자'가 실행하고 '중지 훅'이 인박스 파일을 폴링하며 메시지를 주입하고, 에이전트가 이를 처리한 후 아웃박스에 응답을 작성하는 방식으로 동작합니다. 결과적으로 각 작업마다 새로운 컨텍스트를 할당받아 `-p`와 유사한 무상태성을 유지하면서도 일반 구독 상태에서 자율적인 AI 처리가 가능하게 합니다.

핵심 포인트

  • SDK 크레딧 없이 Claude Code의 대화형 모드(interactive mode)를 활용하여 AI 에이전트를 구현할 수 있습니다.
  • 시스템은 '폴링' 메커니즘을 사용하여 인박스 파일을 감시하고, 메시지가 도착하면 세션당 하나의 메시지만 주입합니다.
  • 각 작업마다 새로운 컨텍스트가 할당되어 `-p`와 같은 진정한 무상태(stateless) 동작이 가능하며, 이는 토큰 오버헤드를 최소화합니다.
  • 시스템은 병렬성이 뛰어나 여러 터미널에서 독립적인 세션을 실행할 수 있습니다.
  • 구현 코드는 약 100줄의 JavaScript로 작성되었으며 GitHub에 공개되었습니다.

6월 15일 크레딧 변경에 관한 스레드를 보았습니다. 훅(hooks)을 사용하여 SDK 크레딧이 필요 없는 -p 대체제를 만들었습니다.

수정: 별(star) 29개! 저의 첫 번째 실제 리포지토리(repo)입니다 \o/

많은 사람들이 보조금이 지원되던 -p 사용 권한을 잃은 것에 대해 화가 나 있습니다. 저는 여러분의 일반 구독(subscription) 상태에서, 대화형 모드(interactive mode)로 작동하면서도 동일한 무상태(stateless), 한 번에 하나의 메시지만 처리하는 동작을 제공하는 무언가를 만들었습니다.

작동 방식:

  1. 감독자(supervisor)가 Claude Code를 대화형 모드(interactive mode)로 실행합니다.
  2. 중지 훅(stop hook)이 새로운 메시지가 있는지 인박스(inbox) 파일을 폴링(poll)합니다.
  3. 메시지가 도착하면, 훅이 이를 주입합니다 — 세션당 메시지 하나
  4. 에이전트(agent)가 이를 처리하고 응답을 아웃박스(outbox) 파일에 작성합니다.
  5. 감독자는 세션을 종료하고 **새로운 컨텍스트(fresh context)**로 재시작합니다.
  6. 다음 메시지는 깨끗한 세션을 할당받습니다 — -p와 같은 진정한 무상태(stateless) 동작입니다.

유휴(idle) 상태일 때, 훅은 내부적으로 폴링하며 최소한의 틱(ticks) (~각각 약 20 토큰)으로 차단(block)합니다. 대기 중인 유휴 상태로 인한 컨텍스트 팽창(context inflation)은 없습니다.

얻을 수 있는 것:

  • 메시지당 무상태(Stateless per message) — 각 작업은 -p와 마찬가지로 새로운 컨텍스트를 할당받습니다.
  • SDK 크레딧 불필요 — 대화형 모드(interactive mode)는 사용자의 구독(subscription)을 사용합니다.
  • 자율성(Autonomous) — 인박스(inbox)를 감시하고, 메시지를 처리하며, 응답을 작성합니다.
  • 저렴한 유휴 비용 — 작업을 기다리는 동안 토큰 오버헤드가 최소화됩니다.
  • 일반 텍스트 또는 JSONecho "fix the bug" >> io/inbox.jsonl와 같이 바로 작동합니다.
  • 병렬성(Parallelism) — 필요한 만큼 많은 터미널을 실행할 수 있습니다.

포기해야 하는 것:

  • 메시지당 시작 비용 (~CLAUDE.md 읽기에 약 500 토큰 소모)
  • 터미널당 하나의 세션 (하지만 원하는 만큼 많은 터미널을 실행할 수 있습니다)
  • 터미널이 필요함 (screen 또는 tmux를 사용하여 백그라운드 실행 가능)
  • 컨텍스트를 지우는 데 도움을 준 /u/prototypebydesign에게 감사를 표합니다.

약 100줄의 JavaScript로 작성되었습니다. MIT 라이선스입니다.

GitHub: https://github.com/Siigari/claude-heartbeat

저의 개인용 컴패니언 AI 프로젝트(Convergence)를 위해 이것을 만들었습니다. 하트비트(heartbeat) 훅은 그 기초이며, 저는 그 위에 완전한 성격 시스템(personality system)을 구축했습니다. 질문이 있다면 기꺼이 답변해 드리겠습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0