알림 발동 조건 상세
알림이 예상대로 오지 않을 때 참고하는 기술 레퍼런스 페이지입니다. 시스템 자동 알림과 사용자 등록 일정 모두 여러 조건을 통과해야 최종적으로 발송됩니다.
공통 차단 조건 (모든 알림에 적용)
스케줄 시간이 맞아도 아래 조건 중 하나라도 해당하면 알림이 차단됩니다.
| 조건 | 상세 | 예외 |
|---|---|---|
| 전체 알림 비활성화 | 설정에서 알림을 끈 경우 | 없음 |
| 조용한 시간대 | 22:00 ~ 08:00 KST | 사용자 직접 등록 일정 |
| 대화 중 | 마지막 메시지 전송 후 1시간 이내 | 사용자 직접 등록 일정 |
| 일일 한도 초과 | 하루 자동 알림 최대 3회 | 예산 경고, 사용자 직접 등록 일정 |
| Job 개별 비활성화 | 알림 센터에서 해당 알림을 끈 경우 | 없음 |
사용자가 직접 등록한 일정(예: “매일 8시 운동 알림”)은 조용한 시간대, 대화 중, 일일 3회 한도를 모두 무시하고 발송됩니다. 단, 전체 알림 비활성화 및 스킬 게이트는 적용됩니다.
시스템 자동 알림별 발동 조건
주간 리포트
- 실행 시간: 매주 월요일 09:00 KST
- 필요 스킬:
finance - 데이터 조건: 최근 30일 내 가계부 기록 존재
- 피로도 검사: 적용
예산 경고
- 실행 시간: 매시간 정각 (1시간마다)
- 필요 스킬:
budget - 데이터 조건:
- 예산 카테고리가 1개 이상 설정되어 있을 것
- 이번 달 해당 카테고리 지출 ≥ 예산의 90%
- 피로도 검사: 조용한 시간대 / 대화 중 적용, 일일 3회 한도는 미적용
일일 소비 요약
- 실행 시간: 매일 21:00 KST
- 필요 스킬:
finance - 데이터 조건: 오늘(KST) 가계부 기록 존재
- 피로도 검사: 적용
비활성 리마인더
- 실행 시간: 매일 20:00 KST
- 필요 스킬:
proactive - 데이터 조건:
- 과거 가계부 기록은 존재하지만
- 최근 3일간 가계부 기록이 없을 것
- 피로도 검사: 적용
월말 결산
- 실행 시간: 매월 28~31일 21:00 KST (실제 말일에만 실행)
- 필요 스킬:
finance - 데이터 조건: 이번 달 가계부 기록 존재
- 추가 조건: 코드 내부에서 실제 해당 월의 마지막 날인지 재확인 (28~31일 크론 표현식은 말일 처리를 위한 것)
- 피로도 검사: 적용
지출 이상 감지
- 실행 시간: 3시간마다
- 필요 스킬:
finance - 데이터 조건:
- 오늘(KST) 가계부 기록 존재
- 7일 이상의 데이터 누적 필수
- 오늘 지출 합계 > 30일 일평균의 200% 초과
- 피로도 검사: 적용
패턴 인사이트
- 실행 시간: 매일 14:00 KST
- 필요 스킬:
pattern - 데이터 조건:
knowledge_base에 패턴 분석 결과(pattern:analysis_result)가 저장되어 있을 것- (→ 매일 06:00 패턴 분석 백그라운드 작업이 선행되어야 함)
- 패턴 신뢰도 ≥ 0.6
- 저장된 패턴 트리거가 현재 요일/날짜와 일치
- 피로도 검사: 적용
목표 달성 현황
- 실행 시간: 매주 수요일 12:00 KST
- 필요 스킬:
goals - 데이터 조건:
knowledge_base에status='active'인 목표 존재 - 피로도 검사: 적용
D-Day 알림
- 실행 시간: 매일 08:00 KST
- 필요 스킬:
dday - 데이터 조건:
ddays테이블에 등록된 항목 존재- 오늘이 D-30, D-7, D-3, D-1, D-0 중 하나에 해당
- 반복(recurring) 항목은 올해 또는 내년 기준으로 날짜 계산
- 피로도 검사: 적용
백그라운드 전용 작업 (알림 없음)
아래 작업들은 알림을 보내지 않고 데이터를 분석·저장만 합니다. 비활성화 불가.
패턴 분석
- 실행 시간: 매일 06:00 KST
- 필요 스킬:
pattern - 조건: 최근 30일 내 가계부 기록 존재
- 결과:
knowledge_base.key='pattern:analysis_result'에 저장 - 의존: 패턴 인사이트 알림의 선행 작업
대화 분석
- 실행 시간: 10분마다 (조건 충족 시에만 실제 실행)
- 필요 스킬:
diary - 조건:
- 사용자가 메시지를 보낸 이력 존재
- 마지막 메시지 후 30분~2시간 사이 (idle 상태)
- 조용한 시간대(22:00~08:00) 아님
- 동일 idle 세션은 중복 분석 안 함
- 결과: 대화 분석 결과 저장 (AI 기억 페이지에서 확인 가능)
목표 평가
- 실행 시간: 매일 07:00 KST
- 필요 스킬:
goals - 조건: 활성 목표 존재
- 결과: 평가 결과를
knowledge_base에 저장
주간 기억 압축
- 실행 시간: 매주 월요일 05:00 KST
- 필요 스킬: 없음 (항상 실행)
- 조건: 최근 30일 내 가계부 기록 존재
- 결과: 이전 주 일별 로그를 주간 요약으로 압축 저장
사용자 등록 일정
- 실행 주기: 15분마다 활성 일정 전체 조회
- 필요 스킬:
schedule - 발동 조건:
- 일정
status='active' - 현재 시각이 예약 시각의 ±15분 이내
- 오늘 이미 발송하지 않았을 것 (
last_sent확인)
- 일정
- 일정 타입:
one_time: 지정 날짜+시각에 1회 발송 후completed처리recurring: 요일+시각 기준 반복 발송,last_sent갱신
| 피로도 항목 | 사용자 등록 일정 |
|---|---|
| 조용한 시간대 (22-08시) | 무시 |
| 대화 중 (1시간 이내) | 무시 |
| 일일 3회 한도 | 무시 |
| 전체 알림 비활성화 | 적용 |
스킬 게이트 (schedule) |
적용 |
스킬 게이트 요약
각 알림에 필요한 스킬이 비활성화되어 있으면 알림이 발송되지 않습니다. 설정 > 스킬에서 확인하세요.
| 알림 | 필요 스킬 | 스킬 없을 때 |
|---|---|---|
| 주간 리포트 | finance |
발송 안 함 |
| 예산 경고 | budget |
발송 안 함 |
| 일일 소비 요약 | finance |
발송 안 함 |
| 비활성 리마인더 | proactive |
발송 안 함 |
| 월말 결산 | finance |
발송 안 함 |
| 지출 이상 감지 | finance |
발송 안 함 |
| 패턴 인사이트 | pattern |
발송 안 함 |
| 목표 달성 현황 | goals |
발송 안 함 |
| D-Day 알림 | dday |
발송 안 함 |
| 사용자 등록 일정 | schedule |
발송 안 함 |
| 패턴 분석 (백그라운드) | pattern |
실행 안 함 |
| 대화 분석 (백그라운드) | diary |
실행 안 함 |
| 목표 평가 (백그라운드) | goals |
실행 안 함 |
| 주간 기억 압축 | 없음 | 항상 실행 |
트러블슈팅: 알림이 오지 않을 때
체크리스트 (위에서부터 순서대로 확인)
□ 1. 스킬 활성화 여부
설정 > 스킬에서 해당 스킬이 켜져 있는지 확인
□ 2. Telegram 연동 여부
설정 > 채널에서 텔레그램이 연동되어 있는지 확인
□ 3. 전체 알림 설정
설정에서 알림이 활성화 상태인지 확인
□ 4. 개별 알림 활성화 여부
알림 센터 > 시스템 탭에서 해당 알림이 켜져 있는지 확인
□ 5. 현재 시각 확인
22:00 ~ 08:00 KST 사이라면 조용한 시간대 정책으로 차단됨
□ 6. 오늘 알림 횟수
자동 알림은 하루 최대 3회. 이미 3개 이상 받았다면 자정 후 재시도
□ 7. 데이터 충분 여부
- 지출 이상 감지: 7일 이상 데이터 필요
- 패턴 인사이트: 패턴 분석 결과 및 신뢰도 0.6 이상 필요
- 비활성 리마인더: 과거 기록 있고 최근 3일 기록 없어야 발동
□ 8. 사용자 등록 일정 - 시간 오차
±15분 윈도우 내에 시스템이 확인해야 발송됨
15분마다 체크하므로 최대 15분 지연 가능
모든 스케줄 타임라인
| 시간 (KST) | 실행 작업 |
|---|---|
| 05:00 (월요일) | 주간 기억 압축 |
| 06:00 | 패턴 분석 (백그라운드) |
| 07:00 | 목표 평가 (백그라운드) |
| 08:00 | D-Day 알림 |
| 09:00 (월요일) | 주간 리포트 |
| 12:00 (수요일) | 목표 달성 현황 |
| 14:00 | 패턴 인사이트 |
| 20:00 | 비활성 리마인더 |
| 21:00 | 일일 소비 요약, 월말 결산 |
| 매시간 정각 | 예산 경고 |
| 매 3시간 | 지출 이상 감지 |
| 매 10분 | 대화 분석 조건 확인 |
| 매 15분 | 사용자 등록 일정 확인 |