tutorial guide

예약 작업: NanoClaw가 AI 에이전트를 반응형이 아닌 능동형으로 만드는 방법

NanoClaws.io

NanoClaws.io

@nanoclaws

2026년 2월 26일

8 분 소요

예약 작업: NanoClaw가 AI 에이전트를 반응형이 아닌 능동형으로 만드는 방법

대부분의 AI 어시스턴트의 근본적인 한계는 반응형이라는 것이다. 메시지를 보낼 때까지 가만히 있다가, 요청을 처리하고, 응답하고, 다시 잠든다. 정교한 자동응답기 — 유능하지만 수동적이다. 절대 먼저 시작하지 않는다. 무언가를 확인하지 않는다. "이봐, 알아야 할 것 같은 게 있어"라고 말하지 않는다.

생각해보면 이상한 한계다. 가장 유용한 인간 어시스턴트는 질문에만 답하지 않는다 — 능동적으로 작업을 관리하고, 마감일을 추적하고, 상황을 모니터링하고, 물어보기 전에 정보를 제공한다. 말을 걸어야만 응답하는 어시스턴트는 도움이 된다. 필요를 예측하는 어시스턴트는 없어서는 안 된다.

NanoClaw의 예약 작업 시스템이 그 간극을 메운다. 호스트 프로세스에 내장된 cron 유사 스케줄러로, 지정된 시간에 지정된 지시와 함께 에이전트 컨테이너를 생성하고, 결과를 지정된 WhatsApp 그룹에 전달한다. 에이전트가 물어볼 때까지 기다리지 않는다 — 당신이 정의한 일정에 따라 행동한다. 일반 대화에서와 같은 도구와 기능을 사용하여.

예약 작업이 작동하는 방식

메커니즘은 단순하다. NanoClaw 어시스턴트에게 자연어로 무엇을 언제 하길 원하는지 말한다. "매일 아침 8시에 Hacker News에서 AI 에이전트 관련 기사를 확인하고 요약을 보내줘." "매주 금요일 오후 5시에 타임시트 제출하라고 알려줘." "매일 도쿄행 항공편 가격을 확인하고 $800 아래로 떨어지면 알려줘."

NanoClaw의 호스트 프로세스가 일정을 파싱하고, SQLite에 저장하고, 만기된 작업을 확인하는 타이머 루프를 실행한다. 작업이 만기되면, 호스트가 컨테이너를 생성한다 — 일반 대화에 사용되는 컨테이너와 동일한 — 작업 지시를 초기 메시지로 전달한다. 에이전트가 실행되고, 작업에 필요한 모든 행동(웹 브라우징, 파일 접근, API 호출)을 수행하고, 결과를 지정된 WhatsApp 그룹으로 돌려보낸다.

작업은 다른 에이전트 상호작용과 같은 격리된 컨테이너 환경에서 실행된다. 같은 도구, 같은 보안 경계, 컨텍스트를 위한 같은 CLAUDE.md 메모리를 가진다. 유일한 차이는 트리거가 사용자 메시지가 아닌 타이머라는 것이다.

실제로 효과적인 패턴

사용자들이 가장 가치 있다고 느끼는 예약 작업 패턴은 몇 가지 범주로 나뉘며, 단순한 리마인더보다 더 흥미롭다.

첫 번째는 모니터링이다. "이 웹사이트를 매시간 확인하고 변경 사항이 있으면 알려줘." 이것이 놀라울 만큼 강력한 이유는 에이전트가 단순히 변경을 확인하는 게 아니라 이해하기 때문이다. 가격 모니터링 작업은 "가격이 $899에서 $749로 변경되었습니다"라고만 보고하지 않는다. "도쿄행 항공편이 하룻밤 사이에 17% 하락했습니다 — 제가 3주간 추적한 중 최저가입니다. 계속 지켜볼까요, 아니면 예약하기에 충분한가요?"라고 보고한다.

두 번째는 다이제스트 생성이다. "매일 아침, 이 세 뉴스 소스에서 AI 인프라 관련 업무에 관련된 주요 기사를 요약해줘." 에이전트가 사이트를 탐색하고, 기사를 읽고, CLAUDE.md 메모리에서 당신의 관심사를 기반으로 관련성을 필터링하고, 개인화된 브리핑을 전달한다. 뉴스 피드를 스크롤하며 보내는 30분을 이미 중요한 것으로 필터링된 2분 읽기로 대체한다.

세 번째는 반복적인 관리 작업이다. "매주 월요일 아침, 내 프로젝트의 GitHub 이슈를 확인하고 새로운 것, 오래된 것, 주의가 필요한 것을 요약해줘." 에이전트가 웹 브라우징(또는 GitHub MCP 서버가 설정되어 있으면 MCP)을 사용하여 데이터를 가져오고, 분석하고, 실행 가능한 요약을 전달한다. 사람이 GitHub UI를 클릭하며 15분 걸리는 작업이 에이전트에게는 30초의 API 호출이다.

네 번째는 마감일 관리다. "세금 신고 마감일이 4월 15일이야. 3월 1일부터 매주 알려줘. 4월 1일부터는 매일 알려줘." 에이전트는 단순한 리마인더가 아닌 맥락이 있는 리마인더를 보낸다. "세금 마감일이 8일 남았습니다. 지난번에 이 얘기할 때 프리랜서 클라이언트의 W-2를 아직 기다리고 있다고 하셨는데, 도착했나요?"

뒤에 있는 아키텍처

예약 작업 시스템은 의도적으로 단순하다 — NanoClaw 핵심에서 약 50줄의 코드다. cron 표현식, 지시 텍스트, 대상 그룹, 마지막 실행 시간 컬럼을 가진 SQLite 테이블에 작업을 저장한다. setInterval 루프가 매분 만기된 작업을 확인하고, 일치하는 것에 대해 컨테이너를 생성한다.

이 단순함은 의도적이다. 예약 작업의 복잡성은 스케줄링에 있지 않다 — 실행에 있다. "매일 아침 Hacker News를 확인해"의 어려운 부분은 오전 8시에 코드를 실행하는 것이 아니다. 웹사이트를 탐색하고, 기사를 읽고, 관련성을 평가하고, 일관된 요약을 작성하는 것이다. 그 어려운 부분은 일반 대화를 처리하는 것과 같은 Agent SDK와 도구를 사용하여 컨테이너 안의 Claude가 처리한다.

대안 — 재시도 로직, 의존성 관리, 워크플로우 그래프를 갖춘 정교한 작업 실행 엔진을 만드는 것 — 은 AI 자체가 더 잘 처리하는 문제를 해결하기 위해 수천 줄의 코드를 추가할 것이다. Claude는 이미 실패한 웹 요청을 재시도하는 방법, 일시적으로 다운된 웹사이트를 처리하는 방법, 일부 데이터 소스를 사용할 수 없을 때도 유용한 결과를 만드는 방법을 알고 있다. 스케줄러는 적절한 시간에 트리거하기만 하면 된다.

대화를 통한 작업 관리

작업 관리는 다른 모든 것과 같은 WhatsApp 인터페이스를 통해 이루어진다. "내 예약 작업 보여줘"로 목록을 확인한다. "항공편 가격 확인 취소해"로 제거한다. "뉴스 다이제스트를 8시 대신 7시로 변경해"로 일정을 업데이트한다. "월요일까지 모든 작업 일시 중지해"로 임시 중단한다.

대화형 인터페이스는 작업 관리 UI를 배우거나 cron 구문을 기억할 필요가 없다는 뜻이다. 자연어로 원하는 것을 설명하면, 에이전트가 예약 작업으로 변환한다. 일정이 모호하면 — "며칠마다 알려줘" — 에이전트가 추측하는 대신 명확히 물어본다.

작업은 WhatsApp 그룹에 범위가 지정되어, 업무 그룹의 작업이 가족 그룹에 나타나지 않고 그 반대도 마찬가지다. 관리자 채널(어시스턴트와의 다이렉트 메시지)은 모든 그룹의 모든 작업을 보고 관리할 수 있지만, 그룹 멤버는 자기 그룹에 속한 작업만 볼 수 있다.

반응형에서 능동형으로의 전환

예약 작업 시스템은 몇 주간 사용해보기 전까지는 이해하기 어려운 방식으로 AI 어시스턴트와의 관계를 바꾼다. 어시스턴트가 질문이 있을 때 찾아가는 것에서, 알 만한 가치가 있는 것이 있을 때 당신에게 찾아오는 것으로 변한다.

아침이 소셜 미디어 스크롤 대신 개인화된 뉴스 다이제스트로 시작된다. 어시스턴트가 오래된 이슈를 문제가 되기 전에 표면화하여 프로젝트가 궤도에 머문다. 수동으로 하기엔 지루한 지속적인 가격 모니터링으로 여행 계획이 혜택을 받는다. 마감일은 컨텍스트를 기억하고 적절히 에스컬레이션하는 무언가에 의해 관리된다.

기술적 구현은 단순하다 — 타이머 루프와 SQLite 테이블. 하지만 그것이 가능하게 하는 행동 변화는 의미 있다. 반응형 어시스턴트는 사용하는 도구다. 능동형 어시스턴트는 함께 일하는 파트너로, 중요하지만 잊기 쉬운 모니터링과 유지보수 작업을 처리한다. 둘의 차이는 50줄의 스케줄링 코드와 정확히 어떻게 해야 하는지 지시받지 않아도 유용한 작업을 할 수 있을 만큼 유능한 AI다.

소식 받기

새 릴리스, 연동, NanoClaw 개발 소식을 받아보세요. 스팸 없음, 언제든 구독 취소 가능.