ZeroClaw — Cron → Agent 실행 흐름
Cron이 Agent Job을 어떻게 트리거하고, Agent 내부에서 어떻게 작업이 처리되는지 전체 시퀀스.
핵심 설계 원칙
Cron은 트리거/기록 전담, Agent는 추론/실행 전담으로 완전히 분리.
- Daemon:
spawn_component_supervisor로 Scheduler를 감시. 죽으면 재시작. - Scheduler 폴링:
due_jobs(now)로 SQLite 쿼리 →next_run <= now+enabled=true인 Job 반환. - SecurityPolicy 게이트:
can_act()(ReadOnly 차단) +is_rate_limited()(한도 확인) →record_action()카운터 증가. - Agent 위임:
crate::agent::run(config, "[cron:id] {prompt}", allowed_tools)한 줄로 전체 Agent Loop에 위임. - Agent 내부: Memory recall → history 구성 → LLM 호출 → tool call 반복 루프.
- 결과 처리:
announce모드이면 Channel(Telegram 등)로 전송 →record_run()→reschedule_after_run().
관련
- cron-scheduler — Cron 스케줄러 전체 구조
- agent-loop — Agent Loop 상세 (turn 함수, ToolDispatcher)
- daemon — Daemon의 컴포넌트 감시 구조
- channel-system — deliver_announcement 채널 구현
- overview — ZeroClaw 학습 지도