AI Debugging/2026.03.22/8 min read

주간 AI 리포트가 빈말이 되지 않게 fallback 만들기

주간 리포트에 충분한 데이터가 없거나 AI 생성이 실패해도 사용자에게 의미 있는 요약을 보여주기 위한 방어 로직입니다.

Weekly ReportAIFallback

Code notes

코드에서 확인한 구현 포인트

배포 기준 2026.03.22

관련 파일

apps/web/app/api/reports/weekly/route.tsapps/web/lib/report-stability.tsapps/web/lib/ai-report.tsapps/web/lib/personalization.ts

구현 메모

주간 리포트는 최근 분석, 이전 리포트, 루틴, OX 응답을 함께 읽어 한 주의 맥락을 만든다.

데이터가 부족하거나 AI 생성이 실패해도 기본 요약과 다음 행동을 반환할 수 있도록 fallback을 둔다.

baseline과 trend는 과장하지 않도록 안정화 계층을 거쳐 사용자에게 불필요한 불안을 주지 않게 했다.

주간 리포트는 데이터가 늘 일정하지 않다

사용자가 매주 같은 횟수로 분석하지는 않는다. 어떤 주에는 사진이 충분하고, 어떤 주에는 OX 응답만 있거나 루틴 기록만 있을 수 있다.

이런 상황에서 AI에게 무조건 풍부한 회고를 요구하면 문장이 과장되거나 빈말이 되기 쉽다. 주간 리포트는 데이터가 부족할 때의 말투가 특히 중요했다.

이전 리포트와 현재 신호를 함께 본다

주간 리포트 API는 최근 분석, 이전 리포트, 루틴, OX 응답을 함께 읽어 현재 주의 맥락을 만든다. 변화가 충분하지 않으면 변화라고 단정하지 않고, 이번 주에 확인된 신호와 다음 주 행동을 중심으로 정리한다.

또 baseline과 trend를 다룰 때도 급격한 단정을 피한다. 숫자나 상태가 조금 흔들렸다고 해서 사용자에게 불안한 결론을 주면 안 된다.

AI 실패 시 기본 요약을 남긴다

AI 호출이 실패하거나 응답이 불완전해도 주간 리포트 화면은 열려야 한다. 그래서 서버는 기본 요약, 루틴 체크, 다음 행동을 구성할 수 있는 fallback을 둔다.

이 fallback은 임시 문구가 아니라 제품의 안전망이다. AI가 실패해도 사용자는 자신의 기록을 잃지 않고, 다음에 무엇을 하면 좋을지 최소한의 방향을 얻는다.

주간 리포트의 디버깅 순서

먼저 해당 주에 분석 세션이 있는지, 리포트 캐시가 있는지, 이전 리포트와 루틴 데이터가 있는지 본다. 그 다음 AI 생성 여부와 sanitize 결과를 확인한다.

이 순서를 지키면 ‘AI가 이상하다’로 뭉뚱그리지 않고, 데이터 부족인지, 캐시 문제인지, 생성 문제인지, 화면 표시 문제인지 나눠볼 수 있다.

Keep reading

다른 글 이어서 보기

전체 글 보기