목록으로 돌아가기

블로그

폰에서 AI 코딩 에이전트를 모니터링하는 5가지 방법

AI 코딩 에이전트는 여러분이 보지 않아도 작업합니다. 책상에 묶이지 않고 상황을 파악할 수 있는 다섯 가지 실용적인 접근법입니다.

게시일 태그: workflow / productivity / guide / seo
블로그

이 카테고리의 제품 및 엔지니어링 업데이트를 확인하세요.

카테고리 보기

Claude Code 같은 AI 코딩 에이전트는 하나의 작업에 수분에서 수시간 동안 실행될 수 있습니다. 코드를 리팩토링하고, 테스트를 작성하고, 버그를 수정하고, 변경 사항을 커밋합니다 — 모두 자율적으로. 생산성 향상은 실제이지만, 새로운 문제가 생깁니다: 자리를 비우면 무슨 일이 일어나고 있는지 어떻게 알 수 있을까요?

Claude가 생각하는 걸 지켜보며 앉아 있으면 목적 자체가 무색해집니다. 평상시에는 조용하고, 무언가 필요할 때만 알려주는 모니터링이 필요합니다.

가장 단순한 것부터 가장 통합적인 것까지, 다섯 가지 실용적 접근법을 소개합니다.

1. 중요 이벤트에 대한 푸시 알림

접근법: 에이전트가 여러분을 필요로 할 때만 알림을 받습니다 — 작업 완료, 오류, 승인 요청.

가장 효과적인 모니터링 방법입니다. 수동적이기 때문입니다. 아무것도 확인할 필요 없이 폰이 알려줍니다.

알림할 가치가 있는 핵심 이벤트:

  • 작업 완료 — Claude가 요청한 작업을 마침. 검토할 시간.
  • 승인 필요 — Claude가 잠재적으로 파괴적인 작업(파일 삭제, 익숙하지 않은 명령 실행)을 하려 하며 Y/N을 기다림.
  • 오류 발생 — 무언가 실패하여 Claude가 계속할 수 없음.
  • 세션 시작 — 새 코딩 세션이 시작됨 (팀 인식에 유용).

Tactic Remote 구현 방식: Mac 서버가 Claude Code의 훅 시스템과 통합됩니다. Claude가 훅 이벤트(Stop, Notification, SessionStart)를 발생시키면, 서버가 WebSocket을 통해 연결된 iPhone에 푸시합니다. iOS 앱은 이를 잠금 화면에 나타나는 네이티브 알림으로 변환합니다.

이벤트 중복 제거로 알림 스팸을 방지합니다 — 3초 윈도우 내 여러 빠른 이벤트를 하나로 합칩니다.

필요한 것: 에이전트의 이벤트 시스템과 통합되는 도구. Claude Code의 경우 훅 스크립트를 의미합니다. 다른 에이전트는 커스텀 웹훅 통합이 필요할 수 있습니다.

2. 실시간 터미널 스트리밍

접근법: 폰을 열어 에이전트가 지금 무엇을 하고 있는지 정확히 확인 — 실시간 터미널 출력.

때로는 알림보다 더 많은 컨텍스트가 필요합니다. Claude가 "작업 완료"라고 했지만 어떻게 해결했는지 보고 싶을 수 있습니다. 또는 완료되기 전에 올바른 접근 방식을 취하고 있는지 궁금할 수 있습니다.

터미널 스트리밍은 Mac 앞에 앉아 있는 것처럼 원시 출력을 보여줍니다:

Claude: I'll refactor the UserService to use dependency injection.

First, let me examine the current implementation...

Reading src/services/UserService.ts...

The current class has 3 hard-coded dependencies:
- DatabaseClient (instantiated in constructor)
- CacheService (imported as singleton)
- LoggerService (global instance)

I'll create interfaces for each and inject them via constructor...

Writing src/services/UserService.ts...
Writing src/services/interfaces/IUserService.ts...
Writing src/tests/UserService.test.ts...

구현 시 고려사항:

  • ANSI 색상 렌더링이 중요합니다. Claude Code는 내러티브, 코드 블록, 시스템 메시지를 구분하기 위해 색상을 사용합니다. 색상을 제거하는 모니터링 도구는 중요한 시각적 구조를 잃습니다. Tactic Remote의 터미널 렌더러는 256색 및 24비트 RGB를 완전 지원합니다.
  • 버퍼 관리가 중요합니다. Claude Code는 긴 작업 중 수천 줄의 출력을 생성할 수 있습니다. Tactic Remote는 최근 출력을 접근 가능하게 유지하면서 무한 메모리 증가를 방지하는 순환 버퍼(50만 자, 최대 1만 줄)를 사용합니다.
  • 스크롤 위치가 중요합니다. 기본적으로 최신 출력을 보되, 조사할 때 히스토리를 뒤로 스크롤할 수 있어야 합니다.

3. 세션 대시보드

접근법: 모든 활성 코딩 세션을 한눈에 — 어떤 프로젝트, 어떤 상태, 마지막 활동 시간.

여러 Claude Code 세션을 병렬로 실행하면(다른 프로젝트, 다른 작업) 다음이 필요합니다:

  • 어떤 세션이 존재하는지 확인
  • 활성 작업 중인 것과 유휴 상태인 것 파악
  • 빠른 전환
  • tmux 명령 입력 없이 새 세션 생성

Tactic Remote의 세션 관리에서 표시되는 것:

  • 세션 이름 (프로젝트 폴더에서 자동 생성 또는 커스텀)
  • 프로젝트 경로
  • 연결 상태
  • 빠른 작업: 전환, 생성, 삭제

여러 리포지토리에 걸쳐 백그라운드 작업을 모니터링할 때 특히 유용합니다. 어떤 tmux 세션 이름이 어떤 프로젝트에 매핑되는지 기억하는 대신 깔끔한 목록을 볼 수 있습니다.

DIY 대안: SSH를 사용한다면 tmux 상태 스크립트로 기본적인 세션 인식을 달성할 수 있습니다:

# List all tmux sessions with their last activity
tmux list-sessions -F '#{session_name}: #{session_activity} (#{session_windows} windows)'

하지만 SSH에 접속하고, 명령을 실행하고, 출력을 직접 파싱해야 합니다. 푸시가 아닌 풀 방식입니다.

4. 구조화된 명령 바로가기

접근법: 타이핑 없이 빠르게 상태, 비용, 에이전트 상태를 확인할 수 있는 미리 만들어진 명령.

폰에서 모니터링할 때 타이핑은 비용이 큽니다. 작은 화면, 물리적 키보드 없음, 코드 문법과 싸우는 자동 교정. 제거할 수 있는 키 입력 하나하나가 모니터링 경험을 개선합니다.

AI 에이전트 모니터링에 유용한 바로가기:

작업명령용도
비용 확인/cost현재 세션이 소비한 양 확인
상태 확인/statusClaude가 실행 중, 대기 중, 유휴 상태인지 확인
대화 압축/compact세션이 길어질 때 컨텍스트 윈도우 사용량 줄이기
빠른 승인Y 버튼키보드 열지 않고 대기 중 작업 승인
빠른 거부N 버튼대기 중 작업 거부
중단Ctrl+CClaude 즉시 중단

Tactic Remote는 이를 키보드 툴바(Esc, Tab, Ctrl+C, Y, N, 방향키)와 카테고리별로 구성된 내장 템플릿(Claude, Git, System)이 있는 스니펫 시스템으로 구현합니다. 커스텀 스니펫으로 자신만의 명령도 추가할 수 있습니다.

스니펫 접근 방식은 주목할 만합니다: 정확한 명령을 기억하는 대신 카테고리를 탭하고 명령을 선택하면 전송됩니다. 이 방식은 모바일에서의 모니터링을 풀 키보드보다도 빠르게 만들어 줍니다.

5. 이벤트 로그 감사 추적

접근법: 에이전트가 수행한 모든 것의 지속적 기록, 검색 및 검토 가능.

알림은 지금 일어난 일을 알려줍니다. 터미널 스트리밍은 실시간으로 일어나는 일을 보여줍니다. 이벤트 로그는 보고 있지 않을 때 일어난 일을 알려줍니다.

Tactic Remote의 Mac 앱은 다음을 기록하는 이벤트 로그를 유지합니다:

  • Claude Code의 훅 이벤트 (타임스탬프 포함)
  • 세션 생성 및 삭제
  • 연결 이벤트

다음 상황에 유용합니다:

  • 아침 검토: "Claude가 밤새 뭘 했지?" (실행 상태로 두었다면)
  • 디버깅: "오류가 실제로 언제 발생했지?"
  • 책임 추적: "어떤 변경이 승인되었고 언제?"

직접 모니터링을 구축한다면, 최소한의 이벤트 로그는 다음과 같습니다:

# In your Claude Code hook scripts, append to a log
echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) $HOOK_EVENT $SESSION_NAME" >> ~/.claude/event.log

그런 다음 사용하는 원격 접속 방법으로 폰에서 확인하면 됩니다.

방법 조합: 실용적인 워크플로

이 접근법들은 조합하면 가장 잘 작동합니다. 방법은 다음과 같습니다:

기본 상태: 푸시 알림만 (방법 1)

  • 폰은 주머니 속
  • Claude가 작업 중
  • 다른 일을 하는 중

알림 도착: 터미널 스트리밍으로 전환 (방법 2)

  • "작업 완료" — Tactic Remote를 열고 출력 검토
  • "승인 필요" — Claude가 하려는 것을 확인하고 Y 또는 N 탭
  • "오류" — 터미널을 확인하고 수정 사항 전송

빠른 확인: 세션 대시보드 (방법 3)

  • 회의 사이에 폰 흘깃 확인
  • 세 개 세션 모두 실행 중 확인
  • 알림 없음 = 문제 없음

상태 조회: 바로가기 사용 (방법 4)

  • /cost 탭하여 토큰 사용량이 적절한지 확인
  • /status 탭하여 Claude가 아직 작업 중인지 확인
  • 2초 소요

하루 마무리: 이벤트 로그 검토 (방법 5)

  • 무슨 일이 있었는지 전체 타임라인 확인
  • 모든 작업 완료 확인
  • 내일 후속 조치가 필요한 항목 메모

현재 도구에서 부족한 점

현재 환경의 한계를 투명하게 공유합니다:

  • 승인 전 Diff 미리보기 — Y를 탭하기 전에 Claude가 변경하려는 코드를 정확히 보는 것. 현재는 터미널 출력을 보지만, 구조화된 diff 뷰가 더 나을 것입니다.
  • 비용 알림 — 토큰 사용량이 임계값을 초과할 때 자동 알림. 현재는 /cost를 수동으로 확인해야 합니다.
  • 멀티 에이전트 모니터링 — Claude Code, Copilot 등 여러 에이전트를 하나의 대시보드에서. 현재 각 도구마다 별도의 모니터링 체계가 있습니다.
  • 팀 가시성 — 여러 개발자가 같은 에이전트의 활동을 볼 수 있게. 현재 Tactic Remote는 단일 사용자용입니다.

AI 에이전트 사용이 성숙해지면서 도구도 개선될 영역입니다. 현재로서는 위의 다섯 가지 방법이 개인 개발자의 실질적인 모니터링 요구를 충족합니다.

Tactic Remote 사용해 보기

휴대전화로 코딩 에이전트를 원격 제어하세요

Mac, Windows, Linux 컴퓨터의 Claude Code, Codex 등에 연결하세요. iPhone이나 iPad에서 진행 상황을 확인하고 다음 요청을 보낼 수 있습니다.