00:00:00바로 이번 주, Claude 팀은 스케줄링 기능의 대규모 업그레이드인
00:00:05Routines를 출시했습니다. 이 기능은 사용자 정의 커넥터와 환경을 갖춘
00:00:10Anthropic의 클라우드 인프라에서 프롬프트를 실행하며, POST 요청이나 PR 생성 같은
00:00:16GitHub 이벤트를 통해 정해진 일정에 따라 트리거됩니다.
00:00:17하지만 이것이 정말 n8n 같은 AI 워크플로우 도구의 종말을 의미할까요? 그리고
00:00:23실제 비용은 얼마나 들까요?
00:00:24구독 버튼을 누르시고, 함께 자세히 알아보시죠.
00:00:29Anthropic은 Managed Agents부터 Ultra 플랜까지 자사의 클라우드 인프라를
00:00:33활용하는 기능들을 점점 더 많이 출시하고 있는 것 같습니다.
00:00:37그리고 이번 Routines 기능은 Claude Code에서 작업을 실행하는 세 가지 방법을 추가했습니다.
00:00:43세션 내 작업을 실행하는 loops, 특정 날짜나 시간에 로컬 또는 원격으로
00:00:49작업을 실행하는 schedules, 그리고 이제 schedules를 포함하는 Routines가 도입되어
00:00:55원격 스케줄뿐만 아니라 GitHub 이벤트 트리거와 API POST 호출도 가능해졌습니다.
00:01:01두 가지 예시를 통해 어떻게 작동하는지 살펴보겠습니다.
00:01:04첫 번째 작업은 세 개의 뉴스레터에서 데이터를 가져와 매일 오전 9시에
00:01:09Slack으로 최고의 기사들을 보내주는 간단한 자동화를 만드는 것이고, 두 번째는
00:01:16Pull Request가 생성되자마자 자동으로 검토하여 개선 제안이 담긴
00:01:21인라인 댓글을 추가하는 것입니다.
00:01:22Routines로 이 작업들을 어떻게 수행할 수 있는지 보시죠.
00:01:24먼저 첫 번째 routine을 터미널에서 Claude Code를 통해 실행해 볼 텐데,
00:01:28/schedule 명령어를 사용하면 됩니다.
00:01:31여기에서 단계를 따라가며 우리만의 routine을 만들 수 있습니다.
00:01:34'Create new'를 누르면 몇 가지 질문을 더 던질 것입니다.
00:01:38대신 제가 할 방법은, 이미 무엇을 원하는지 알고 있기 때문에
00:01:41/schedule 명령어 뒤에 만들고 싶은 routine에 대한 프롬프트를 바로 적는 것입니다.
00:01:46"매일 오전 9시 트리거를 생성해서 JS Weekly, React Status, Node Weekly의 RSS를 가져오고,
00:01:53YouTube 영상으로 제작하기 좋은 기사 10개를 골라 Slack으로 보내줘"라고 입력합니다.
00:01:58그러면 Claude가 시간대, 환경, 초안 프롬프트를 설정합니다.
00:02:03설정이 완료되면 기본적으로 원격 트리거가 생성되며, 브라우저나
00:02:06Claude 앱에서 확인할 수 있습니다.
00:02:09원한다면 로컬 트리거도 만들 수 있겠지만, 지금은
00:02:12원격 routine을 살펴보겠습니다.
00:02:13여기 Routines 옵션 아래에 있네요. 클릭해 보면 매일
00:02:18오전 9시에 반복되며, Claude Code의 지침에 따라 Slack 커넥터를 사용하고 있습니다.
00:02:24그런데 Claude가 자동으로 설정한 것 중 마음에 들지 않는 부분이 몇 가지 있습니다.
00:02:26우선, 이 특정 routine에는 전혀 필요 없는
00:02:31GitHub 리포지토리를 자동으로 연결했습니다.
00:02:32그래서 여기에서 제거하여 변경하도록 하겠습니다.
00:02:34또한 Slack 내부에서 유효하지 않은 블록 검증 오류를 일으키는
00:02:39수평 구분선(horizontal rule)을 사용하지 말라고 프롬프트를 수정하겠습니다.
00:02:43참고로 Claude Code 내에서 routine을 만들기 전에
00:02:47미리 커넥터를 준비해 두어야 하며, 권한을 물어볼 필요가 없도록
00:02:51프롬프트를 작성해야 합니다. 이 작업은 사람의 손길 없이
00:02:57자율적으로 실행되기 때문입니다.
00:02:58다행히 Claude Code가 프롬프트를 자동으로 작성해 주었으므로,
00:03:02제가 검토할 필요는 없었습니다.
00:03:03계속하기 전에, 제가 기본 환경 대신
00:03:06newsletters 환경을 사용했다는 점을 유의해 주세요.
00:03:09그 이유는 이전에 해봤을 때 무엇이 잘못되었는지 알기 때문입니다.
00:03:12농담이 아니라, JavaScript Weekly, React Status, Node Weekly의
00:03:17RSS URL들은 Claude가 bash 도구로 curl을 실행하거나 데이터를
00:03:23가져오는 것을 허용하지 않습니다. bash의 모든 외부 네트워크 요청을 막는 보안 계층 때문이죠.
00:03:29이를 해결하기 위해 여기를 클릭해 새 환경을 만들고,
00:03:33커스텀으로 변경한 뒤 허용된 도메인 목록을 추가했습니다.
00:03:37웹 정보를 가져올 때 bash 대신 web fetch 도구를 사용한다면,
00:03:41해당 호출은 Anthropic의 인프라를 통해 이루어지므로 그런 제한이 없습니다.
00:03:45아마 프롬프트 인젝션이 발생하지 않도록 추가적인 보안 조치를 해두었을 것입니다.
00:03:49자, 이제 설정이 끝났으니 창을 닫고 이 routine을 테스트 실행해 보겠습니다.
00:03:54워크플로우가 시작되었습니다. 여기에서 진행 상황을 볼 수 있고,
00:03:59클릭해서 구체적으로 어떤 일이 일어나는지 확인할 수 있습니다.
00:04:00리포지토리가 있다면 클론하겠지만, 없기 때문에 바로
00:04:03클라우드 컨테이너를 설정하고 RSS 피드를 가져오기 시작했습니다.
00:04:06bash curl 도구를 사용해 세 URL 모두 시도했는데 DNS
00:04:12문제가 발생한 것 같네요.
00:04:13어쨌든 web fetch 도구로 가져오고 있지만, 이런 방식이 있다는 걸 알아두면 좋습니다.
00:04:17뉴스레터에서 최신 기사들을 가져오고 있는데, 아까 테스트했을 때는
00:04:21성공했던 Node Weekly에서 이번에는 실패한 것 같습니다.
00:04:24좋아요, 이제 YouTube 영상으로 만들기 좋은 상위 10개 기사를 찾아냈습니다.
00:04:28아래로 스크롤해 보면, 뉴스레터 Slack 채널로
00:04:32메시지를 보낸 것을 확인할 수 있습니다.
00:04:33Slack으로 가보면 커리어 채널에 모든 기사 링크와 함께
00:04:37메시지가 와 있습니다. 아주 깔끔하네요.
00:04:39이제 자연스럽게 Routines의 가격 정책으로 넘어가 보겠습니다.
00:04:42현재 Routines는 리서치 프리뷰 단계이며 Pro, Max, Team
00:04:46또는 Enterprise 구독자만 사용할 수 있고, 대화형 세션과 마찬가지로
00:04:51구독 사용량 한도에서 차감됩니다.
00:04:52하지만 Routines에는 추가적인 일일 한도가 있는데, Pro
00:04:57구독의 경우 여기 보시는 것처럼 24시간당 5개의 routine입니다.
00:05:01이것은 Anthropic이 사용자가 너무 많은 routine을 매일 돌리는 것을 방지하거나,
00:05:05자사 인프라에서 사람들이 routine을 얼마나 사용하는지 측정하여
00:05:10리소스가 과도하게 소비되지 않도록 하려는 방식인 것 같습니다.
00:05:13하지만 방금 진행한 테스트용 routine 실행은
00:05:18일일 한도 5개에 포함되지 않습니다.
00:05:19똑같은 routine을 다시 실행해서 이를 증명해 보일 수 있습니다.
00:05:23여기를 클릭하면 두 번의 실행 기록이 있는 것을 볼 수 있죠.
00:05:26이제 이 사이드바를 닫겠습니다.
00:05:28잠시 실행되도록 두겠습니다.
00:05:30실행 중인 상태에서 중지를 요청하겠습니다.
00:05:32중지된 후 보면 두 번의 routine이 실행되었습니다.
00:05:35수동으로 트리거된 것이지만, 제 일일 한도에서는
00:05:39여전히 하나의 routine만 사용된 것으로 나옵니다.
00:05:40이제 다음 routine은 Claude 데스크톱 앱에서 만들어 보겠습니다.
00:05:44이유는 잠시 후에 설명해 드리겠지만, 이미 여기 있는 걸 보실 수 있습니다.
00:05:47아까 미리 만들어 뒀는데, 어떻게 했는지 보여드릴게요.
00:05:50먼저 예상하셨겠지만 여기 있는 Routines를 클릭하고,
00:05:54새로운 원격(remote) routine을 클릭했습니다.
00:05:55이름과 프롬프트를 입력했습니다.
00:05:57이 routine은 Pull Request가 생성되자마자 자동으로 검토하는 것이므로,
00:06:01PR을 감시할 리포지토리로 제 dotfiles 리포지토리를 선택했습니다.
00:06:06여기에서 schedule, GitHub event, API라는 세 가지 트리거 옵션을 볼 수 있습니다.
00:06:10Claude Code CLI에서는 schedule만 가능합니다.
00:06:13따라서 GitHub 이벤트나 API를 실행하려면 데스크톱 앱을 사용해야 합니다.
00:06:18그게 지금 우리가 이 앱을 사용하는 이유입니다.
00:06:19GitHub 이벤트를 클릭하고 API가 열리면,
00:06:22트리거를 추가하고 기존 커넥터를 닫겠습니다.
00:06:25이것이 제가 routine을 만든 방식인데, 한 가지 큰 수정을 가했습니다.
00:06:31이 리포지토리에서 가져온 저만의 커스텀 스킬(skill)을 추가한 것이죠.
00:06:35클라우드상의 Claude Code는 새로운 인스턴스를 생성하기 때문에,
00:06:40사용자의 로컬 스킬이나 설정, hook에 접근할 수 없습니다.
00:06:44따라서 접근 권한을 주려면 리포지토리를 통해야 하며,
00:06:48저는 이 routine 전용 리포지토리를 통해 설정했습니다.
00:06:51이 안에는 .claude 폴더가 있고, 그 안에는 settings.json 파일과
00:06:56해당 routine에서 사용할 PR 리뷰 스킬이 들어 있습니다.
00:07:00이 스킬이 하는 일은 hook을 트리거하는 것입니다.
00:07:02다시 Claude로 돌아가 settings.json을 누르면, 이 리포지토리가
00:07:07Claude Code 클라우드 인스턴스 내에 존재하도록 보장하는 hook이 작동합니다.
00:07:12해당 routine 리포지토리의 모든 스킬을 클라우드 버전 Claude의
00:07:17스킬 디렉토리로 복사하는 과정입니다.
00:07:20이걸 닫고 실제 routine을 열어서 프롬프트를 살펴보겠습니다.
00:07:24이 과정이 제대로 이루어지도록 몇 가지 추가적인 가드레일을 설정해 두었습니다.
00:07:29테스트를 위해 이미 한 번 실행해 봤는데 문제가 좀 있었습니다.
00:07:32다시 시도해 보죠. 이번에는 한 번에 되길 바랍니다.
00:07:35제 dotfiles 리포지토리에서 새 Pull Request를 생성하고 몇 초 후,
00:07:40PR 리뷰 웹훅이 실행되기 시작합니다.
00:07:42화면을 크게 보기 위해 창을 숨겼는데, 프롬프트가 실행된 것을 볼 수 있습니다.
00:07:46리포지토리를 제대로 가져왔는지 확인해 보겠습니다.
00:07:50아래를 보면 두 리포지토리를 클론했고, PR 리뷰 스킬을 인식한 뒤
00:07:54해당 PR에 대해 스킬을 실행하고 있습니다.
00:07:58스킬에서 명시적으로 요구했던 GitHub 토큰 추가를 깜빡했네요.
00:08:03하지만 대신 GitHub MCP 도구를 사용했는데, 아주 훌륭합니다.
00:08:06변경 사항이 미미하다는 것을 파악하고 PR 리뷰를 마쳤습니다.
00:08:09PR로 돌아가 보면, Claude가 "자동 검토 완료, 이슈 없음"이라는
00:08:13댓글을 남긴 것을 볼 수 있습니다.
00:08:16하지만 안타깝게도 이건 테스트 실행이 아니었기 때문에,
00:08:20일일 5회 한도 중 하나를 실제로 사용해 버렸습니다.
00:08:21그래서 하루에 자동 PR 검토를 5번밖에 할 수 없지만,
00:08:2620x Max 플랜에서는 15번까지 가능한 것으로 보입니다.
00:08:29그럼 앞으로 Claude Routines를 더 많이 사용하게 될까요?
00:08:32그럴 가능성은 매우 낮습니다.
00:08:33제공되는 기능에 비해 너무 비쌉니다.
00:08:36알겠습니다.
00:08:37돈이 아주 많아서 20x Max 계정을 여러 개 쓰고 있다면
00:08:43당연히 Routines를 항상 쓰겠죠.
00:08:44하지만 지금은 Hermes Agent 같은 도구로 웹훅을 설정하거나,
00:08:48GLM 5.1 또는 GPT 코딩 모델 같은 더 저렴한 모델에서 Multica와
00:08:55Hermes Agent를 사용하는 것이 훨씬 경제적입니다.
00:08:56다만 인정할 수밖에 없는 건, Hermes와 Multica로 모든 걸
00:09:01밑바닥부터 설정하는 것보다 아까 보여드린 방식이 훨씬 쉽다는 점입니다.
00:09:05LLM의 도움을 받더라도 직접 구축하려면 시간이 아주 오래 걸릴 겁니다.
00:09:09하지만 돈이 많다 하더라도 Routines가 모든 유형의 자동화에 적합하다고 보지는 않습니다.
00:09:14방금 보셨듯이 routine에 프롬프트 하나만 던져주면
00:09:19그것이 모든 것을 처리해야 하니까요.
00:09:20물론 기술적 역량이 뛰어나다면 리포지토리에 추가 스킬과 프롬프트를 넣고,
00:09:25routine이 그걸 클론하게 한 뒤 프롬프트들을 체이닝해서
00:09:30더 복잡한 routine을 만들 수도 있을 겁니다.
00:09:32하지만 여전히 비용이 많이 든다는 사실은 변하지 않습니다.
00:09:34그 부분은 피할 수가 없죠.
00:09:36그럼에도 Anthropic이 최근 추가하는 이런 클라우드 기능들을 보면
00:09:41더 큰 무언가를 향해 나아가고 있다는 느낌이 듭니다.
00:09:43그게 무엇일지 정말 기대되네요.
00:09:45클라우드 기능 얘기가 나와서 말인데, Cloud Managed Agents 기능을 사용해
00:09:50몇 분 만에 에이전트를 만들고 배포하는 방법이 궁금하시다면
00:09:55이 영상을 확인해 보세요.