예약 작업 및 루프
예약 작업 및 루프로 MBAgent는 자동으로 주기적으로 작업하여 매번 수동으로 트리거할 필요가 없습니다. 본 장에서는 설정 방법을 자세히 소개합니다.
1. 예약 작업이란 무엇인가?
예약 작업 = 특정 시각 또는 간격으로 자동 트리거되는 MBAgent 작업.
| 트리거 방식 | 적용 시나리오 |
|---|---|
| Cron 식 | 매일 9시, 매주 월요일, 매월 1일 등의 고정 시각 |
| 고정 간격 | 30분마다, 2시간마다, 5초마다 |
| 워크스페이스 모니터링 | 파일 변화 시 트리거 |
| 수동 트리거 | 비정기이지만 사전 정의 필요 |
2. 예약 작업 생성
1단계: 예약 작업 관리 열기
MBAgent 메인 화면에서 "작업" → "예약 작업" 탭을 클릭하거나 slash command 입력:
/schedule list현재 모든 예약 작업을 표시합니다.
2단계: 작업 신규 생성
"+" 버튼을 클릭하면 신규 창이 팝업:
신규 창에는 다음 필드가 포함됩니다: 작업 이름, 작업 설명, 트리거 방식 (Cron / 고정 간격 / 모니터링), Cron 식, 후니아오 환경, 병렬 수, 타임아웃, 실패 처리 등.
3단계: 작업 설명 입력
작업 설명은 예약 작업이 매번 실행될 때 AI가 받는 프롬프트입니다. 예:
오늘 전 매장의 주문 수량을 집계하고 금액 내림차순으로 정렬하여,
reports/orders-{YYYYMMDD}.xlsx에 기록.
이상(주문 금액이 10000을 초과하거나 1 미만)인 경우,
alerts@company.com으로 이메일 발송.4단계: 트리거 방식 선택
1. Cron 식
가장 일반적인 방식. Cron 식 구문:
* * * * *
│ │ │ │ │
│ │ │ │ └── 요일 (0-7, 0=일요일)
│ │ │ └───── 월 (1-12)
│ │ └─────── 일 (1-31)
│ └────────── 시 (0-23)
└───────────── 분 (0-59)자주 사용하는 예:
| Cron | 의미 |
|---|---|
0 9 * * * | 매일 9:00 |
0 9 * * 1-5 | 평일 9:00 |
0 0 1 * * | 매월 1일 0:00 |
*/30 * * * * | 30분마다 |
0 */2 * * * | 2시간마다 |
0 18 * * 5 | 매주 금요일 18:00 |
0 0 1 1 * | 매년 1월 1일 0:00 |
2. 고정 간격
매번 몇 시간마다 실행할지 설정:
| 항목 | 설명 |
|---|---|
| 간격 값 | 숫자 |
| 간격 단위 | 초 / 분 / 시 / 일 |
예: 30분마다 1회 실행.
3. 워크스페이스 모니터링 (watchWorkspace)
지정 폴더의 내용이 변화할 때 트리거:
| 항목 | 설명 |
|---|---|
| 모니터링 경로 | 모니터링할 폴더 |
| 이벤트 유형 | 신규 파일 / 파일 변경 / 파일 삭제 |
| 파일 필터 | 파일명 패턴 (예: *.xlsx) |
적용 시나리오:
- 신규 주문 파일 수신 시 자동 처리
- 데이터 파일 업데이트 시 자동 재분석
5단계: 실행 환경 설정
- 후니아오 환경: 후니아오 브라우저를 열어야 하는지
- 병렬 수: 다중 환경의 병렬도
- 타임아웃: 각 실행의 최대 시간
- 실패 처리: 실패 시 대응
6단계: 저장
**"저장"**을 클릭하면 예약 작업이 작업 목록에 표시되며 상태는 "미활성".
7단계: 활성화
작업 선택 후 "활성화" 버튼 클릭. MBAgent가 계획대로 자동 실행합니다.
3. 예약 작업 관리
모든 예약 작업 표시
/schedule list활성화 / 일시 정지
- 활성화: 작업 선택 → "활성화" 버튼 클릭
- 일시 정지: 작업 선택 → "일시 정지" 버튼 클릭 (설정은 유지하지만 실행하지 않음)
작업 삭제
- 작업 선택
- "삭제" 버튼 클릭
- 삭제 확인
실행 기록 표시
- 작업 선택
- "기록" 탭 클릭
- 각 실행의: 트리거 시각 / 상태 / 소요 시간 / 결과 표시
즉시 실행 (수동 트리거)
- 작업 선택
- "즉시 실행" 버튼 클릭
4. MBAgent Daemon
Daemon = 백그라운드 상주 프로세스로, 예약 작업이 사용자가 MBAgent를 능동적으로 시작하지 않아도 계획대로 실행되도록 합니다. mbAgent의 daemon은 2가지 종류의 백그라운드 호스트를 지원:
- macOS: launchd (
~/Library/LaunchAgents/sh.mbagent.scheduler.plist에 기록) - Linux: systemd --user (
~/.config/systemd/user/mbagent-scheduler.service에 기록)
각 플랫폼 지원 상황
| 플랫폼 | 상태 | 설명 |
|---|---|---|
| macOS | ✅ 지원됨 | 설치 시 자동 launchctl bootstrap gui/$UID |
| Linux | ✅ 지원됨 | unit 파일 생성, 사용자가 systemctl --user enable --now 실행 필요 |
| Windows | ⏳ 미지원 | 코드에 "Windows daemon support is deferred"가 명시되어 있음; schedules 모듈의 PID 탐지는 Windows에서 직접 false를 반환하며 launchd / SCM / Windows Service 등록 브랜치 없음 |
설치 방법 (macOS / Linux)
- "설정 → 예약 작업" 진입
- "Daemon 설치" 버튼 클릭
- macOS는 자동
launchctl bootstrap; Linux는 unit 파일을~/.config/systemd/user/에 기록하고 실행할systemctl --user enable --now명령 안내
Daemon 상태
MBAgent Scheduler daemon
상태: 실행 중
PID: 12345
pidfile: ~/.local/share/mbagent/scheduler.pid
로드된 작업: 12Daemon 제거
- "설정 → 예약 작업" 진입
- "Daemon 제거" 버튼 클릭
- macOS는
launchctl bootprint gui/$UID sh.mbagent.scheduler실행; Linux는systemctl --user disable --now명령 안내
WARNING
제거 전에 모든 예약 작업을 일시 정지, 그렇지 않으면 제거 후 작업이 실패.
NOTE
Windows 사용자: 현재 "무인" 예약 작업 실행에는 MBAgent 메인 프로세스를 시작한 상태로 유지해야 합니다. 장기 무인 실행이 필요한 경우, Windows 작업 스케줄러에서 mbagent schedule tick을 시작 시 자동 실행 스케줄 작업으로 패키징할 수 있습니다 (이는 임시 방편이며 mbAgent Daemon이 아님).
5. 루프 모니터링 (더 고급)
루프 작업 = 고정 간격으로 반복 실행되는 간소화된 예약 작업.
예약 작업과의 차이
| 차원 | 예약 작업 | 루프 작업 |
|---|---|---|
| 트리거 시각 | 정확한 시각점 | 고정 간격 |
| 설정 복잡도 | 높음 (cron 식) | 낮음 (간격 값) |
| 적합 시나리오 | 매일 9시에 일일 보고서 | 30분마다 재고 확인 |
| 실패 처리 | 상세 | 간단 |
루프 작업 생성
- 작업 패널 열기
- 신규 작업 생성 시 "루프 작업" 선택
- 설정:
- 간격 (X 초/분/시마다)
- 종료 조건 (N회 실행 후 중지 / 영원히 중지 안 함)
- 저장하고 활성화
전형적인 루프 작업
- 30분마다 매장 재고를 확인하고 임계값 미만일 때 알림
- 매시간 후니아오 계정 Token의 만료 확인
- 5분마다 메일함 신규 주문 확인
- 웹페이지 변화의 지속 모니터링
6. 장기 목표 (Goal)
장기 목표 = MBAgent가 장기 목표를 중심으로 자율적으로 반복하며, 목표 달성 또는 수동 종료까지 계속.
장기 목표 생성
- MBAgent 메인 화면에서 slash command 입력:
/goal start 이 20개 매장의 전환율을 지속적으로 최적화, 매주 분석 보고서 출력 - MBAgent가 목표를 받아 자율적으로 계획:
- 제1주: 기준 데이터 수집
- 제2주: 낮은 전환율 매장 식별
- 제3주: 최적화 플랜 수립
- 지속 반복...
장기 목표 상태 확인
/goal status표시:
목표 #1 - 20개 매장의 전환율을 지속 최적화
상태: 진행 중
실행 일수: 14일
현재 단계: 제3주 (최적화 플랜 수립)
완성도: 45%
다음 평가: 2026-10-01장기 목표 종료
/goal stop7. 연구 작업 (Research)
연구 작업 = MBAgent가 특정 주제를 깊이 연구하여 구조화된 보고서를 출력.
연구 작업 생성
/research start 2026년 Amazon 신규 정책이 중소 셀러에게 미치는 영향을 연구연구 흐름
[1] 연구 주제 분해
- 하위 주제 1: 신규 정책 전문 해석
- 하위 주제 2: 중소 셀러에 대한 영향
- 하위 주제 3: 대응 전략
- 하위 주제 4: 업계 사례
↓
[2] 자료 병렬 수집
- 후니아오 RAG 지식베이스 호출
- WebSearch 호출
- WebFetch 호출
↓
[3] 분석 및 종합
- 핵심 정보 추출
- 사실 검증
- 관점 요약
↓
[4] 보고서 출력
- 구조화된 Markdown
- 소스 인용
- 차트 포함연구 보고서 확인
- "연구" 사이드바 열기
- 완료된 연구 작업 선택
- 보고서 확인
8. 모범 사례
시각 선택
✅ 권장:
- 업무 저피크기 (심야, 밤)
- 후니아오 계정 크레딧 갱신 전 (월말)
- 후니아오 브라우저 유휴 시
❌ 피해야 함:
- 피크 시간대 (주간 작업 시간대)
- 다중 작업 중복 (CPU / 메모리 점유 과다)
- 타임존 민감 시각 (쌍 11 등)
작업 분해
✅ 좋은 방법:
- 큰 작업을 여러 작은 예약 작업으로 분해
- 각 작업은 1개의 목표에 집중
- 작업 간 상호 의존 없음
❌ 나쁜 방법:
- 1개의 큰 작업으로 많은 일을 수행
- 작업 간 강 의존 (A 실패가 B 실패로 이어짐)
오류 처리
- ✅ 알림 설정 (실패 시 이메일 / WeChat 발송)
- ✅ 합리적인 타임아웃 설정 (너무 오래 기다리지 않음)
- ✅ 실패 시 로그 보존 (분리하기 쉽게)
리소스 관리
- ✅ 병렬 수 제한 (여러 작업으로 CPU 소진 방지)
- ✅ 리소스 점유 모니터링 (작업 패널에 리소스 모니터 있음)
- ✅ 중요 작업은 독립 Daemon / 독립 프로세스 사용 (다른 작업의 영향을 받지 않음; Windows는 현재 Daemon 없음, 독립 MBAgent 인스턴스로 중요 작업 담당 가능)
9. 전형 시나리오
시나리오 1: 매일 판매 일일 보고서
작업 이름: 매일 판매 일일 보고서
트리거: Cron 0 9 * * * (매일 9시)
설명: 어제 전 매장의 주문 데이터를 집계하여 일일 보고서를 생성하고 reports/daily-{YYYYMMDD}.xlsx에 기록,
일일 보고서 내용을 wechat-bot에 발송.시나리오 2: 재고 모니터링
작업 이름: 재고 모니터링
트리거: 고정 간격 30분
설명: 전 매장의 상품 재고를 확인하고 10건 미만인 것을 alerts/low-stock-{YYYYMMDD}.csv에 기록,
운영팀에 이메일 발송.
종료 조건: 영원히 실행시나리오 3: 계정 건강 순찰
작업 이름: 계정 건강 순찰
트리거: Cron 0 */6 * * * (6시간마다)
설명: 전 후니아오 계정의 로그인 상태, Cookie 무결성, IP 이상 확인,
health-check/{YYYYMMDD-HH}.json에 보고서 출력.
실패 처리: 3회 재시도 후 건너뛰기시나리오 4: 자동 데이터 백업
작업 이름: 데이터 백업
트리거: Cron 0 3 * * * (매일 심야 3시)
설명: AI 메모리 뱅크, KMS, 모든 세션을 backup/{YYYYMMDD}/에 백업.
종료 조건: 영원히 실행10. 자주 묻는 질문
Q1: 예약 작업이 예상대로 트리거되지 않는다
분리:
- cron 식이 올바른지 확인
- MBAgent가 시작되어 있는지 확인 (Daemon 미설치)
- 작업 기록의 오류 정보 확인
- 시스템 시각이 올바른지 확인
Q2: PC 절전 모드 시 작업이 실행되지 않는다
해결:
- macOS / Linux: Daemon 설치 (launchd / systemd-user가 작업 시작)
- Windows: 현재 Daemon 미지원, Windows 작업 스케줄러 + mbagent schedule tick 임시 방편 사용
- PC가 절전되지 않도록 설정 (제어판 → 전원)
- 깨우기 타이머 설정
Q3: 작업이 항상 실패한다
분리:
- 단독 실행으로 오류 확인
- 후니아오 브라우저가 온라인인지 확인
- 네트워크 연결 확인
- 작업 설명을 간소화하여 단계별로 분리
Q4: 예약 작업의 Token 소비가 너무 많다
해결:
- 저가 모델 사용 (
gpt-5-mini) - "사고 과정 표시" 끄기
- 작업 설명 축소
- 실행 빈도 줄이기
Q5: 여러 PC 간 예약 작업을 동기화할 수 있나?
현재 클라우드 동기화 미지원. 권장:
- 각 PC에서 개별 설정
- 또는 통일 작업 관리 파일 + Git 동기화 사용
