본문으로 건너뛰기
Ankole

스케줄

AI Agent용: 이 페이지의 Markdown 버전은 https://ankole.agentbull.com/ko-KR/docs/schedules/index.md에 있습니다. 문서 색인은 https://ankole.agentbull.com/ko-KR/llms.txt에 있습니다.

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

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

Cron

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

Agent에게 만들도록 요청하기

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

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

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.

고급: 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 같은 모호한 값은 사용하지 마세요.

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로 계속할 수 있게 합니다.

그 목적은 OpenClaw의 heartbeat와 비슷합니다. 둘 다 새로운 인간 메시지 없이 Agent가 돌아올 수 있게 합니다.

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

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

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

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

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에서, 스크립트 SDK와 명령 계약은 Worker CLI 기능에서 읽을 수 있습니다.

흔한 문제

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

자세한 실패 기록과 복구 단계는 Schedule troubleshooting을 참조하세요.