심화 10단계 자동화 — 내가 없어도 일하는 Claude

예약 작업 · Routines · /loop · claude -p · GitHub Actions로 "시간과 이벤트에 맞춰 스스로 움직이는" Claude 만들기

Claude 심화 과정 10/12 · 2026년 9월 기준 · ⏱ 며칠 · ★ = 꼭 해볼 것

이번 단계에서 배우는 것
· 자동화 도구 4가지(예약 작업 · Routines · /loop · 헤드리스)가 각각 언제 맞는지
· Cowork 예약 작업으로 "평일 아침 브리핑" 만들기 ★
· claude -p 로 스크립트·배치 안에서 Claude를 부품처럼 쓰기
· GitHub Actions로 이슈·PR에 @claude 를 부르는 법, 그리고 자동화 설계 원칙

지금까지는 내가 말을 걸어야 Claude가 움직였습니다. 비유하자면 "부르면 오는 비서"였죠. 이번 단계에서는 비서에게 알람 시계와 업무 일지를 쥐여 줍니다. "매일 아침 8시에 이것 정리해 둬", "PR이 올라오면 한번 봐 줘" 같은 일을 내가 자리에 없어도 해 두도록 만드는 겁니다.

1 자동화 4가지 도구 한눈에

이름이 비슷해서 헷갈리지만, "어디서 돌아가는지"와 "무엇이 방아쇠인지"만 보면 금방 구분됩니다.

Cowork 예약 작업
★ 데스크톱·웹 앱에서 /schedule 또는 "매주 월요일 오전 9시에…"처럼 말로 등록. 클라우드에서 실행되어 컴퓨터가 잠자거나 앱을 닫아도 돌아갑니다. 유료 요금제 전체 · 비개발자 추천
Claude Code Routines
Claude Code 쪽의 클라우드 자동 실행. 스케줄 · API 호출 · GitHub 이벤트로 시작. Claude Code에서 /schedule 또는 claude.ai/code/routines에서 생성. research preview · Pro/Max/Team/Enterprise · 최소 간격 1시간
/loop
열려 있는 세션 안에서 같은 부탁을 일정 간격으로 반복. 예: /loop 5m 빌드 상태 확인해줘. 세션에 묶여 있고 7일 뒤 만료됩니다. "잠깐 지켜봐 줘"용
claude -p + GitHub Actions
헤드리스(비대화형) 모드. 쉘 스크립트·cron·작업 스케줄러·CI 파이프라인 안에서 Claude를 명령어 하나로 호출. 개발자 추천 · 가장 자유도가 높음

비교표 — 어떤 걸 고를까?

구분
실행 위치 · 방아쇠 · 잘 맞는 일
Cowork 예약 작업
클라우드 · 시간(매시간/매일/매주/평일/수동) · 일정·메일 브리핑, 주간 리포트, 자료 정리
Routines
클라우드 · 시간 / API / GitHub 이벤트 · 저장소 점검, 정기 코드 작업, 이벤트 대응
/loop
지금 열린 세션 · 간격(예: 5분) · 배포·빌드·테스트를 잠깐 지켜보기
claude -p
내 PC·서버·CI · 내가 짠 스크립트, cron, GitHub 이벤트 · 로그 요약, 배치 처리, PR 리뷰
고르는 요령 : 코딩과 상관없는 업무면 Cowork 예약 작업, 저장소·코드와 관련된 정기 작업이면 Routines, 내가 이미 가진 배치·CI에 끼워 넣고 싶으면 claude -p. /loop 는 "오늘 오후 동안만" 같은 짧은 반복입니다.

2 ★ 실습 ① Cowork 예약 작업 — 평일 아침 브리핑 ⏱ 20분

가장 먼저 해볼 자동화입니다. 4단계에서 연결한 캘린더·지메일 커넥터를 그대로 활용합니다.

따라해 보기

1. 대화창 열기
Claude 데스크톱 앱(또는 웹)에서 새 대화를 엽니다. 캘린더·지메일 커넥터가 연결되어 있는지 먼저 확인하세요.
2. 말로 등록
/schedule 을 입력하거나, 아래처럼 그냥 문장으로 부탁합니다.
평일 아침 8시에 오늘 브리핑을 만들어줘.
- 구글 캘린더: 오늘 일정을 시간순으로, 회의는 참석자와 준비물까지
- 지메일: 어제 저녁 이후 받은 메일 중 답장이 필요한 것만 5개 이내
- 마지막에 "오늘 가장 먼저 할 일" 한 줄 추천
메일은 읽기만 하고 절대 보내거나 삭제하지 마.
3. 설정 확인
Claude가 이름 · 프롬프트 · 빈도 · 승인 모드 등 설정을 정리해 보여줍니다. 빈도가 평일(weekdays), 시간이 오전 8시인지 확인하고 저장.
4. 한 번 바로 실행
사이드바 Scheduled에서 방금 만든 작업을 열고 Run now로 즉시 한 번 돌려 봅니다. 결과가 마음에 안 들면 프롬프트를 고쳐 다시 실행.
5. 관리
같은 화면에서 수정(edit) · 일시정지(pause) · 재개(resume) · 삭제(delete) · 지금 실행(run now).
직접 폼으로 만들고 싶다면 사이드바 Scheduled → New task → Set up manually를 고르면 됩니다. "Create with Claude"를 고르면 대화로 설계를 도와줍니다. 화면과 메뉴 이름은 버전에 따라 다를 수 있습니다(채팅과 Cowork를 합친 새 화면이 순차 적용 중).

빈도 옵션

hourly / daily
매시간 · 매일. 매시간은 사용량을 빠르게 쓰니 꼭 필요할 때만.
weekly / weekdays
매주 특정 요일 · 평일만. 주간 리포트, 출근 브리핑에 적합.
manual
자동으로는 돌지 않고, 내가 누를 때만 실행. "저장해 둔 단골 작업"처럼 쓰기 좋습니다.
승인 모드 주의 : 예약 작업은 아무도 지켜보지 않는 상태에서 실행됩니다. 승인이 필요한 동작(파일 쓰기, 메일 보내기 등)을 만나면 거기서 멈춰 기다릴 수 있습니다. 그렇다고 승인을 모두 건너뛰게(Skip) 하면 위험합니다. 해결책은 작업 범위를 좁게 잡는 것 — "읽고 요약만", "결과는 이 폴더에 파일로만" 처럼 승인 없이도 끝낼 수 있는 일로 설계하세요.

3 실습 ② claude -p 기본 — Claude를 명령어 부품으로 ⏱ 30분

-p(print)는 대화창을 열지 않고 질문 하나 → 답 하나를 출력하고 끝나는 모드입니다. Java의 main 메서드를 cron에 걸듯, Claude를 스크립트 한 줄로 부를 수 있습니다.

claude -p "..."
프롬프트를 실행하고 결과를 출력한 뒤 종료.
--output-format
text(기본, 사람이 읽기) · json(result · session_id · total_cost_usd 포함) · stream-json(실시간 스트림).
--allowedTools
★ 승인 없이 쓸 도구를 미리 허용. 무인 실행이라 물어볼 사람이 없으니 꼭 필요한 것만 적습니다.
--permission-mode
acceptEdits(파일 수정 자동 수락) · plan(계획만) 등. 12단계에서 자세히.
--continue · --resume
직전 대화 이어가기 · 특정 세션 ID로 이어가기.
--append-system-prompt
기본 지침 뒤에 추가 지침 덧붙이기. "항상 한국어로" 같은 규칙에.

따라해 보기 — 파이프로 로그 요약

# 1) 에러 로그를 파이프로 넘겨 요약
cat error.log | claude -p "오늘 에러를 유형별로 묶고, 건수가 많은 순서로 요약해줘" > summary.md

# 2) 빌드 에러 원인 찾기 (읽기 도구만 허용)
cat build-error.txt | claude -p "이 빌드 에러의 원인과 고칠 파일을 알려줘" \
  --allowedTools "Read,Grep,Glob"

# 3) JSON으로 받아 결과만 꺼내기 (jq 필요)
claude -p "변경된 파일 목록을 보고 커밋 메시지 초안을 써줘" \
  --allowedTools "Bash(git diff *),Read" \
  --output-format json | jq -r '.result'

OS 스케줄러와 조합하기 — claude -p 는 결국 명령어 한 줄이라, 리눅스·맥의 cron이나 윈도우 작업 스케줄러에 그대로 걸 수 있습니다. 아래는 일반적인 cron 예시입니다.

# crontab -e  (평일 오전 8시 반, 어제 로그 요약을 파일로 저장)
30 8 * * 1-5 cd ~/work/app && cat logs/app.log | claude -p "어제 에러만 유형별로 요약해줘" > reports/daily-summary.md
팁 : 윈도우라면 작업 스케줄러에서 "기본 작업 만들기" → 트리거(매일/매주) → 동작으로 위와 같은 명령을 담은 배치 파일(.bat)이나 PowerShell 스크립트를 지정하면 됩니다. 단, 이 방식은 내 컴퓨터가 켜져 있어야 돌아갑니다. 컴퓨터가 꺼져 있어도 돌아야 한다면 Cowork 예약 작업이나 Routines를 쓰세요.

4 실습 ③ GitHub Actions — 이슈에 @claude 부르기 ⏱ 30분

저장소에 Claude를 "팀원"으로 등록하는 방법입니다. 이슈나 PR 댓글에 @claude 를 달면 GitHub 서버에서 Claude가 작업을 시작합니다.

1. 앱 설치
저장소 폴더에서 Claude Code를 열고 /install-github-app 실행. GitHub CLI(gh)가 필요합니다. 안내에 따라 GitHub 앱 설치와 시크릿 등록을 진행합니다.
2. 시크릿 확인
저장소 시크릿에 ANTHROPIC_API_KEY 가 있어야 합니다. 구독 요금제 인증을 쓰려면 claude setup-token 으로 만든 CLAUDE_CODE_OAUTH_TOKEN 을 대신 넣을 수 있습니다.
3. 워크플로 파일
.github/workflows/claude.yml 에 아래 내용이 들어갑니다(설치 과정에서 자동 생성되기도 합니다).
name: Claude
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
jobs:
  claude:
    if: contains(github.event.comment.body, '@claude')
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
      actions: read
    steps:
      - uses: actions/checkout@v6
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
4. 사용해 보기
이슈 댓글에 아래처럼 적습니다. Claude가 코드를 읽고 답하거나 수정 PR을 만듭니다.
@claude 로그인 실패 시 에러 메시지가 영어로만 나옵니다.
messages_ko.properties 에 한국어 메시지를 추가하고, 테스트도 같이 고쳐주세요.

자주 쓰는 입력값(with:)

prompt
멘션 없이도 실행할 고정 지시. 예: PR이 열릴 때마다 "보안 관점에서 리뷰해줘".
claude_args
CLI 옵션 전달. 예: "--max-turns 5" 로 작업 길이 제한 → 비용 폭주 방지.
trigger_phrase
호출 문구 변경(기본값 @claude).
주의 : GitHub Actions는 API 키로 과금되는 경우가 많습니다(구독 요금제와 별개). 처음에는 claude_args 로 턴 수를 제한하고, 공개 저장소라면 누가 @claude 를 부를 수 있는지도 함께 점검하세요.

5 Routines 소개 — 클라우드에서 도는 Claude Code

Routines는 "Claude Code판 예약 작업"입니다. 아직 research preview라 기능이 바뀔 수 있지만, 개념은 알아둘 만합니다.

어디서 도나
클라우드. 내 노트북이 꺼져 있어도 실행됩니다.
무엇이 방아쇠인가
스케줄(최소 1시간 간격) · API 호출 · GitHub 이벤트.
만드는 법
Claude Code에서 /schedule 을 입력하거나, 브라우저에서 claude.ai/code/routines로 이동.
누가 쓸 수 있나
Pro · Max · Team · Enterprise (2026년 9월 기준, 변동 가능)
# Claude Code 세션 안에서
/schedule

# 대화로 설명하면 됩니다. 예:
매주 월요일 오전 9시에 이 저장소의 열린 이슈를 읽고
"이번 주 처리 우선순위 Top 5"를 이슈 하나로 정리해줘.
코드는 수정하지 마.
/loop 과의 차이 : /loop 는 지금 열어 둔 세션이 살아 있는 동안만(최대 7일) 반복합니다. 세션을 닫으면 끝. Routines는 세션과 상관없이 클라우드에서 계속 실행됩니다.

6 자동화 설계 원칙 5가지

자동화는 "한 번 잘못 짜면 매일 잘못 돈다"는 점이 무섭습니다. 아래 원칙만 지켜도 사고의 대부분을 막을 수 있습니다.

① 작게 시작
★ 처음엔 읽기 → 요약만 하는 작업부터. 잘 돌면 한 단계씩 권한을 넓힙니다. 매시간보다 매일, 매일보다 매주로 시작.
② 결과는 파일·알림으로
결과가 대화 속에 묻히지 않게 "drafts 폴더에 날짜.md로 저장", "요약을 메일 초안으로" 처럼 받는 곳을 정해 둡니다.
③ 사람 검토 지점
보내기·발행·배포·삭제처럼 되돌리기 어려운 동작은 자동화에서 빼고 사람이 마지막 버튼을 누릅니다.
④ 비용 상한
빈도 줄이기 · --max-turns 로 길이 제한 · 가벼운 작업은 가벼운 모델. --output-format json 의 total_cost_usd 로 실제 비용을 기록해 보세요.
⑤ 좁은 권한
--allowedTools 는 최소한으로, 예약 작업 프롬프트엔 "하지 말 것"을 명시. 외부 웹페이지·메일을 읽는 자동화는 프롬프트 인젝션에 특히 조심.
# 좋은 자동화 프롬프트의 뼈대
[무엇을]   지난 7일간 받은 고객 문의 메일을 읽고
[어떻게]   유형별 건수와 대표 사례 3개로 요약해
[어디에]   reports/주간문의-YYYY-MM-DD.md 로 저장해
[금지]     메일 발송·삭제·라벨 변경은 절대 하지 마
[실패 시]  읽을 메일이 없으면 "이번 주 문의 없음" 한 줄만 저장해

7 정리 & 체크리스트

아래를 모두 해봤다면 다음 단계, 배운 것을 전부 엮는 종합 프로젝트로 넘어갈 준비가 된 겁니다.

☐ 도구 구분
예약 작업 · Routines · /loop · claude -p 의 차이를 한 문장씩 설명할 수 있다.
☐ 예약 작업 ★
평일 아침 브리핑을 등록하고 Run now로 한 번 실행해 봤다.
☐ 헤드리스
cat 파일 | claude -p "..." 로 요약 결과를 파일로 저장해 봤다.
☐ 도구 제한
--allowedTools 로 허용 도구를 좁혀 실행해 봤다.
☐ GitHub (개발자)
/install-github-app 후 테스트 저장소 이슈에서 @claude 를 불러 봤다.
☐ 설계 원칙
내 자동화에 "결과 저장 위치"와 "하지 말 것"이 적혀 있다.
이전 글: 심화 9단계 서브에이전트 — AI 팀 꾸리기 · 다음 글: 심화 11단계 ★ 종합 프로젝트 — 블로그 운영 자동화
공식 문서: 헤드리스 모드 · GitHub Actions · CLI 레퍼런스 · Cowork 예약 작업

+ Recent posts