---
title: "스케줄"
description: "반복 작업에는 Cron을, 일회성 지연 후속 작업에는 Checkback을 사용하세요."
url: "https://ankole.agentbull.com/ko-KR/docs/schedules/"
lang: "ko-KR"
---

> AI Agent용 문서 색인: https://ankole.agentbull.com/ko-KR/llms.txt

# 스케줄

Ankole은 동일한 수준의 두 가지 스케줄링 도구를 제공합니다:

- **Cron**은 작업을 반복합니다. 예를 들어 매일 브리핑, 주간 프로젝트 점검, 30분마다 확인 등입니다.
- **Checkback**은 현재 대화를 한 번 깨워서 Agent가 지연 후에 계속할 수 있게 합니다.

## Cron

Cron은 반복 작업을 관리합니다. 달력 시간을 사용하거나 앵커 시간에서 고정 간격으로 반복할 수 있습니다.

### Agent에게 만들도록 요청하기

보통 Console을 열 필요는 없습니다. 결과를 받아야 하는 chat 대화에서 Agent에게 무엇을 할지, 언제 실행할지, 어떤 시간대를 사용할지를 알려주세요.

Agent가 스케줄을 만들고 나중에 온 결과를 현재 대화에 반환합니다.

```text
Create a schedule for every workday at 09:00. Summarize yesterday's progress,
current blockers, and today's follow-up items, then post the result in this
conversation. Use Asia/Shanghai. Run it once now so I can confirm the content
and delivery location.
```

> **💡 알고 계셨나요?**
>
> 스케줄은 시스템이 자동으로 만들고 유지하는 <strong>signal 라우팅 규칙</strong>을 통해 결과를 반환합니다.

### 고급: Console에서 스케줄 만들기

스케줄을 만들기 전에 대상 chat 대화에서 Agent와 한 번 대화하고, 라우팅 규칙이 메시지를 보내고 받을 수 있는지 확인하세요.

1. Console에서 **Schedules**를 엽니다.
2. Agent와 계속할 대화를 선택합니다. 목록에 대화가 없으면 알고 있는 대화 ID를 붙여넣습니다.
3. **Cron** 탭을 열고 **New schedule**을 선택합니다.
4. 전달에 사용할 라우팅 규칙을 선택하고 명확한 이름을 입력합니다.
5. 스케줄 종류를 선택하고 그 타이밍을 입력합니다.
6. 전달 channel을 입력합니다. 모든 결과가 하나의 topic 또는 thread로 돌아가야 할 때만 전달 thread를 입력합니다.
7. 스케줄을 저장하고 **Run now**를 선택합니다. 정기 실행에 맡기기 전에 작업과 전달 위치를 확인하세요.

### 시간 규칙 선택

**Cron(표현식)** 은 달력 시간용입니다. 예를 들어 매일 09:00 같은 경우입니다. 표현식은 5개 필드 또는 앞에 초가 붙는 6개 필드를 가질 수 있습니다. `Asia/Shanghai` 같은 IANA 시간대를 사용하세요. `UTC+8` 같은 모호한 값은 사용하지 마세요.

```text
0 9 * * 1-5
```

이 예제는 월요일부터 금요일까지 09:00을 의미합니다. Console은 브라우저나 Worker 시간대가 아니라 스케줄에 저장된 시간대에서 이를 평가합니다.

**Every(간격)** 은 일정 시간이 지난 후 반복되는 작업용입니다. 예를 들어 30분마다의 확인 같은 경우입니다. 간격을 밀리초로 입력합니다. anchor가 간격 그리드의 시작 위치를 설정합니다. 달력적 의미가 없는 폴링에는 이 종류를 사용하세요.

### 작업과 전달

기본적으로 스케줄은 기존 대화를 깨우므로 Agent는 그 대화의 context로 계속합니다. 작업에는 이번 실행이 무엇을 해야 하는지만 적으면 됩니다. Agent의 역할, 스타일, 영속적 지시를 반복하지 마세요.

전달 channel과 thread는 Channel Provider에서 옵니다. 대상 대화에는 channel ID를 사용하세요. 각 결과가 같은 topic 또는 thread로 돌아가야 할 때 thread ID를 추가하세요.

첫 설정 후에는 항상 **Run now**를 사용해서, 올바른 작업이 잘못된 곳에 조용히 게시되지 않도록 확인하세요.

### 일시 중지, 재개, 제거

- **Pause**는 구성을 유지하면서 예약된 실행을 중지합니다. 휴일이나 임시 중지에 사용하세요.
- **Resume**은 다음 실행을 다시 계산합니다.
- **Run now**는 즉시 실행 한 번을 추가하고 스케줄을 변경하지 않습니다.
- **Remove**는 스케줄을 삭제합니다. 구성을 유지하고 싶다면 일시 중지를 사용하세요.

스케줄을 열면 최근 실행 이력이 보입니다. 결과가 없으면 먼저 스케줄이 실행되었는지 확인하세요. 그다음 Agent 실행과 메시지 전달을 확인합니다.

## Checkback

Checkback은 Agent가 작업 중에 만드는 일회성 후속 작업입니다. 예를 들어 “30분 후에 배포를 다시 확인해 주세요” 같은 경우입니다. 기본적으로 Ankole은 기한이 되면 같은 대화를 깨워서 Agent가 기존 context로 계속할 수 있게 합니다.

그 목적은 <a href="https://docs.openclaw.ai/gateway/heartbeat" target="_blank" rel="noreferrer">OpenClaw의 heartbeat</a>와 비슷합니다. 둘 다 새로운 인간 메시지 없이 Agent가 돌아올 수 있게 합니다.

heartbeat는 고정 주기로 Agent를 깨워서 모델이 주의가 필요한 것이 있는지 반복해서 결정하게 합니다.

Checkback은 푸시 모델을 사용합니다. Agent는 필요할 때만 후속 작업 하나를 등록하고 기한이 되면 Ankole이 wake-up 이벤트를 전달합니다.

모델이 확인 사이에 폴링 턴을 실행하지 않으므로 Checkback은 유휴 실행을 방지하고 더 적은 token을 사용합니다.

채팅에서 Agent가 언제 돌아와야 하는지, 무엇을 확인해야 하는지, 언제 알림을 받아야 하는지를 명시하세요. 예를 들어:

```text
Check this deployment again in 30 minutes.
Tell me if it failed, became blocked, or changed state. Stay silent if nothing changed.
```

**Checkbacks** 탭에는 선택한 대화에 대해 아직 실행되지 않은 알림이 나열됩니다. 기한, 이유, 라우팅 규칙을 확인할 수 있고 더 이상 필요 없는 알림은 취소할 수 있습니다.

## 기계적 확인에는 automation job 사용

기본적으로 Cron 실행이나 Checkback은 선택된 Agent 대화를 깨우는 이벤트를 추가합니다. 처리가 결정적인 fetch, 비교, parse, 또는 미리 정해진 동작뿐일 때, Agent에게 automation job을 만들고 `automation_job_id`로 트리거를 바인딩하라고 요청하세요. 트리거는 같은 이벤트를 유지하지만 Agent 턴 대신 지속적인 스크립트 실행을 만듭니다. 스크립트는 조용히 끝내거나, 판단이 필요할 때 `emitEvent`로 owner 대화를 깨울 수 있습니다.

예를 들어 5분마다의 가격 확인은 스크립트로 실행되면서 가격이 임계값 위에 있는 동안 조용히 있을 수 있습니다. 스크립트는 임계값을 넘을 때만 현재 가격과 소스 사실을 emit할 수 있습니다. 매 실행마다 memory, 판단, 또는 대화가 필요한 작업에는 직접 Agent wake를 유지하세요.

완전한 소개, 실행 이력, 해체 규칙은 [Automation Jobs](https://ankole.agentbull.com/ko-KR/docs/automation-jobs/index.md)에서, 스크립트 SDK와 명령 계약은 [Worker CLI 기능](https://ankole.agentbull.com/ko-KR/docs/cli-capabilities/index.md)에서 읽을 수 있습니다.

## 흔한 문제

- **스케줄이 실행되지 않음:** 활성 상태인지 확인하고 Cron 표현식, 시간대, 다음 실행 시간을 확인하세요.
- **실행되었지만 결과가 도착하지 않음:** 실행 이력을 읽고 라우팅 규칙, 전달 channel, 대상 Agent가 사용 가능한지 확인하세요.
- **항상 몇 시간 일찍 또는 늦게 실행됨:** 올바른 IANA 시간대를 사용하고 인스턴스 시간대 설정을 확인하세요.
- **결과가 잘못된 대화로 감:** 전달 channel 또는 thread를 수정하고 **Run now**로 검증하세요.
- **Checkback이 돌아오지 않음:** **Checkbacks** 탭에 여전히 존재하는지 확인한 다음, 기한과 원래 대화의 라우팅 규칙을 확인하세요.

자세한 실패 기록과 복구 단계는 [Schedule troubleshooting](https://ankole.agentbull.com/ko-KR/docs/faq/index.md)을 참조하세요.
