무료 강의 · 시즌 6 · 4강 / 5
나 없이 돌게
무료 강의 시즌 6의 4강. 수집·요약·전송을 한 줄로 묶어 아침 시간에 태워요. 요약은 이미 내는 Claude 구독이 해요 — 추가 비용 0원.
끝나면 손에 남는 것: 아침마다 저절로 도착하는 브리핑 + 로그를 읽는 습관
이 강의 완성 예시 열어보기통합 실행의 실제 로그(수집 1초·요약 86초·전송 1초)예요.지금 브리핑 한 번 받는 데 명령이 세 개 필요해요. 수집 실행, 요약 시키기, 전송 실행. 그리고 그 셋을 시키는 내가 있어야 하죠.
오늘 그 손을 뺍니다. 정기 배송을 신청한다고 생각하세요. 주문(수집)·포장(요약)·배달(전송)을 한 묶음으로 만들어 시간표에 태우면, 나는 받기만 해요.
궁금한 게 하나 생길 거예요. "요약은 Claude가 하는 건데, 내가 채팅창에 없는데 누가 시키지?" — 오늘의 재미가 거기 있어요. Claude Code는 채팅창 없이도 부를 수 있습니다.
오늘 만들 것
명령 하나로 수집→요약→전송이 이어지는 파이프라인, 그리고 그걸 매일 아침 대신 눌러주는 스케줄러.
진짜 기술: 사람 손을 파이프라인에서 빼는 설계, 그리고 로그로 "잘 돌았는지"를 나중에 확인하는 습관.
준비물
- 시즌 6의 3강을 마친 상태 (수집·요약 지시서·전송이 각각 돼요)
- 35분 + 내일 아침의 확인 1분
따라 하기
1. 채팅창 없는 Claude
터미널에서 claude -p "질문"이라고 치면, 채팅창을 열지 않고 답만 받아요. 이걸 헤드리스(머리 없는) 실행이라고 불러요. 중요한 건 이거예요 — 이미 내는 Claude 구독 로그인으로 그대로 돌아요. 별도 가입도, API 키도, 추가 요금도 없어요.
즉 스크립트가 Claude를 부를 수 있다는 뜻이에요. 내가 자는 동안에도요.
2. 셋을 한 줄로
수집(collect) → 요약 → 전송(send)을 한 번에 돌리는 파이프라인을 만들자.
1. run-briefing 스크립트를 만들어 줘:
- 1단계: collect 스크립트 실행 → news-today.md 생성
- 2단계: 요약. claude -p 를 사용해서, briefing-prompt.md의 기준으로
news-today.md를 요약해 briefing.md로 저장하게 해 줘.
내 Claude 구독 로그인으로 도는 방식 그대로면 돼.
지시서 내용을 명령 인자로 통째로 넘기지 말고, claude가
briefing-prompt.md 파일을 직접 읽게 해 줘 (따옴표가 섞이면
인자가 잘리는 문제를 피하려고)
- 3단계: send 스크립트 실행 → 텔레그램 발송
- 각 단계의 성공/실패와 시각을 log.txt에 한 줄씩 남겨 줘
- 중간에 실패하면 거기서 멈추고, 실패 사실을 텔레그램으로라도 알려 줘
- 한글이 깨지지 않게 인코딩을 신경 써 줘
2. 먼저 한 번 직접 실행해서 폰까지 도착하는 걸 확인하자.
"인코딩을 신경 써 줘"가 괜히 있는 게 아니에요. Windows에서 스크립트가 Claude의 답을 받아 파일로 저장할 때 한글이 깨지는 함정이 실제로 있어요(검증 중에 직접 만났습니다). 에이전트가 처리해 주지만, 브리핑이 ???로 오면 "막혔을 때"를 보세요.
3. 통합 실행 — 그리고 기다림의 정체
실행하면 이번엔 좀 걸려요. 요약 단계에서 1~2분쯤 조용합니다. 하루치 기사 백여 건을 Claude가 읽고 브리핑을 쓰는 시간이에요(실측 기준 하루치 186건에 79초). 고장이 아니라 일하는 중이에요 — log.txt를 열면 어느 단계까지 왔는지 보여요.
폰이 울리면 성공. 명령 세 개가 하나가 됐어요.
4. 시간에게 넘겨요
이제 마지막 손 — "실행 명령을 치는 나"를 뺍니다.
run-briefing이 매일 아침 8시에 자동 실행되게 내 컴퓨터의
작업 스케줄러에 등록해 줘.
등록된 걸 확인하는 법과, 나중에 해제하는 법도 같이 알려 줘.
Windows에는 작업 스케줄러라는 붙박이 시간표가 있어요(맥이라면 에이전트에게 "맥이야"라고만 하세요 — 같은 역할의 도구로 등록해 줍니다). 등록되면 "다음 실행: 내일 오전 8:00" 같은 확인이 떠요.
시즌 3에서 일을 옆방(서브에이전트)에 맡겼다면, 오늘은 시간에게 맡겼어요.
5. 정직하게 — 이 배송의 조건
하나는 분명히 해둘게요. 이 파이프라인은 그 시간에 컴퓨터가 켜져 있고, 내가 로그인돼 있어야 돌아요. 꺼져 있으면 그날 브리핑은 안 와요.
- 노트북이라면 "덮으면 잠들기" 설정 때문에 아침 8시에 자고 있을 수 있어요. "전원 설정과 스케줄러 옵션에서, 놓친 일정을 컴퓨터가 깨어난 직후에 실행하게 해 줘"라고 시키면 보완돼요.
- 컴퓨터 없이도 돌리는 길(클라우드)은 있지만, 계정·비밀 관리·요금이라는 값이 붙어요. 이 시즌 밖입니다 — 시즌 4에서 배운 그대로, 필요해지면 그때 값을 치르세요.
6. 오늘의 순간 — 은 내일 아침이에요
오늘의 하이라이트는 오늘 확인할 수 없어요. 내일 아침, 폰을 켰을 때예요.
어젯밤에 아무것도 안 했는데 브리핑이 와 있어요. 그게 확인되면 git 저장점을 만드세요.
git 저장점을 만들어 줘. 이름은 "정기 배송". (token.txt 미포함 확인 먼저)
막혔을 때
요약 단계에서 멈춘 것 같아요. 1~2분은 정상이에요. 5분 넘게 조용하면 log.txt를 확인하고, "요약 단계가 어디서 멈췄는지 로그와 함께 확인해 줘"라고 시키세요.
브리핑 한글이 ???로 와요. 인코딩 함정이에요. "run-briefing에서 claude 출력을 받는 부분의 인코딩을 UTF-8로 고정해 줘"라고 하세요. 스크립트에 콘솔 인코딩 설정 한 줄이 들어가면 해결돼요.
브리핑 앞뒤에 인사말이나 설명이 붙어요. "브리핑 본문만, 첫 글자부터 끝까지"를 지시서의 [지킬 것]에 한 줄 추가하세요. 자동으로 도는 글은 사람이 다듬을 기회가 없어서, 출력 형식까지 지시서가 책임져야 해요.
면책 문구가 이상하게 바뀌었어요. 지시서를 스크립트가 claude에게 어떻게 전달하는지 확인하세요. 지시서 내용을 명령 인자로 통째로 넘기면 따옴표에서 잘릴 수 있어요(검증 중 실제로 겪었어요). "claude가 지시서 파일을 직접 읽게 바꿔 줘"가 답이에요.
아침에 브리핑이 안 왔어요. 순서대로: ① 그 시간에 컴퓨터가 켜져 있었나(제일 흔한 원인) ② log.txt에 그 시각 기록이 있나 ③ 기록이 있는데 실패라면 어느 단계인지. 로그가 있으니 추측이 아니라 확인으로 풀 수 있어요 — 이게 로그를 남긴 이유예요.
스케줄러 등록이 권한 오류로 실패해요. "관리자 권한 없이 내 계정 수준으로 등록해 줘"라고 하세요. 개인 작업은 관리자 권한이 필요 없어요.
매일 아침마다 Claude 사용량을 쓰는 게 부담돼요. 하루 한 번, 요약 하나예요. 평소 대화 몇 마디 수준이라 구독 한도에 체감될 규모가 아니에요. 그래도 아끼고 싶으면 주말은 건너뛰게 스케줄을 바꾸면 됩니다.
마무리 체크
나가기 전에 하나씩 확인해요:
-
claude -p가 뭔지, 왜 추가 비용이 없는지 설명할 수 있어요 - run-briefing 한 번에 수집→요약→전송이 이어졌어요
- log.txt에 단계별 기록이 남아요
- 스케줄러에 아침 등록이 됐고, 해제법을 알아요
- "컴퓨터가 켜져 있어야 한다"는 조건을 알아요
- 다음 날 아침, 저절로 도착했어요 ← 오늘의 순간
이제 봇이 완성됐어요. 그런데 완성된 자동화에는 주인이 필요해요. 피드가 죽으면? 요약이 이상해지면? 이걸 남에게 공유해도 되나?
마지막 강의에서 선을 긋고, 주인이 되는 법을 배웁니다.
직접 만들고 돌아가는 걸 확인했나요? 그럼 완료를 눌러요. 이 브라우저에만 저장돼요 — 주방 밖으로는 아무것도 나가지 않아요.
다음 — 5강 · 선 긋기와 운영 →