개요
OpenClaw 내장 cron 도구는 AI 에이전트가 예약 작업을 생성, 관리, 실행할 수 있게 합니다. 정기 데이터 수집, 주기적 보고서 생성, 예약 메시지 알림 등 다양한 작업에 활용됩니다. 7단계 도구 파이프라인의 내장 도구로서 OpenClaw의 세션 시스템 및 메시지 채널과 깊이 통합되어 있습니다.
Cron 도구 아키텍처
cron 도구는 Pi SDK 임베드 레이어에서 실행되며, 시스템 수준의 예약 스케줄러로 작업을 관리합니다. 각 예약 작업은 본질적으로 미리 정의된 에이전트 액션으로, 트리거 시 새로운 에이전트 세션을 생성하여 실행합니다.
전통적 Cron과의 차이점
전통적 cron은 고정된 셸 명령을 실행하지만, OpenClaw의 cron은 AI 에이전트 액션을 실행합니다. 이는 예약 작업에 지능적 의사결정이 포함될 수 있음을 의미합니다.
기본 설정
tools:
cron:
enabled: true
maxTasks: 50
minInterval: 60
storage: /data/openclaw/cron
timezone: "Asia/Seoul"
- maxTasks: 시스템이 허용하는 최대 예약 작업 수
- minInterval: 최소 실행 간격(초)
- storage: 작업 정의의 영속 저장 경로
- timezone: 기본 시간대 설정
예약 작업 생성
대화를 통한 생성
사용자가 자연어 대화로 직접 AI 에이전트에게 예약 작업 생성을 요청할 수 있습니다:
- "매일 아침 8시에 뉴스 요약을 보내 줘"
- "매주 월요일 오후 2시에 주간 회의를 알려 줘"
- "6시간마다 특정 웹사이트의 가격 변동을 확인해 줘"
Cron 표현식
표준 5필드 cron 표현식과 확장 구문을 지원합니다:
@hourly,@daily,@weekly,@monthly*/N-- N 단위마다 실행
작업 정의 구조
{
"id": "task-uuid",
"name": "일일 뉴스 요약",
"schedule": "0 8 * * *",
"channelId": "discord-channel-123",
"userId": "user-456",
"action": "오늘의 인기 뉴스를 검색하고 요약을 생성하여 채널에 전송",
"enabled": true,
"createdAt": "2026-03-14T10:00:00Z",
"lastRun": null,
"nextRun": "2026-03-15T08:00:00Z"
}
작업 실행 흐름
- 세션 생성: 작업을 위한 새로운 에이전트 세션 생성
- 컨텍스트 복원: 작업 관련 채널 정보와 사용자 선호 로드
- 시스템 프롬프트 구축:
buildAgentSystemPrompt()로 적절한 시스템 프롬프트 생성 - 도구 준비: 7단계 파이프라인으로 사용 가능한 도구 집합 준비
- 액션 실행: AI 에이전트가 미리 정의된 액션을 실행
- 결과 배포: 실행 결과를 지정 채널로 전송
- 상태 업데이트:
lastRun과nextRun기록 업데이트
다른 도구와의 협업
- cron + browser: 정기적으로 웹페이지 스냅샷 캡처, 페이지 변경 모니터링
- cron + web: 정기적으로 API 호출하여 데이터 업데이트 가져오기
- cron + messaging: 정기적으로 여러 채널에 알림 전송
- cron + sessions: 정기적으로 만료 세션 데이터 정리
오류 처리 및 재시도
tools:
cron:
retry:
maxAttempts: 3
backoff: exponential
initialDelay: 60
maxDelay: 3600
연속 실패하는 작업은 알림을 트리거합니다.
리소스 제어
- 동시성 제한: 동시에 실행되는 최대 작업 수
- 실행 시간 제한: 단일 작업의 최대 실행 시간
- 빈도 제한: 같은 작업의 최소 실행 간격
- 쿼터 관리: 사용자별 생성 가능한 작업 수 상한
정리
OpenClaw의 cron 도구는 전통적인 예약 작업과 AI 에이전트의 지능적 의사결정 능력을 결합하여, 예약 작업이 단순한 기계적 반복에 머무르지 않고 실시간 상황에 따라 유연하게 대응할 수 있게 합니다.