AI 의상 추천을 본격적으로 붙이기 전에, 프론트엔드 연동을 위한 실시간 Raw 데이터 제공 API 구축과
대기질/강수량 기반 마스크 및 우산 여부 룰베이스(Rule-based) 판단 로직을 최우선으로 개발합니다.
프론트엔드(최혁)가 프로토타입의 더미 데이터를 실제 데이터로 렌더링할 수 있도록, DynamoDB에서 데이터를 읽어와 전달하는 API를 먼저 열어줍니다.
inhatc-team2-5-weather-cache와 inhatc-team2-5-air-cache 테이블을 스캔/조회합니다.비용 최적화 및 속도 향상을 위해 마스크와 우산 착용 권장 여부는 AI(Bedrock)를 호출하지 않고 코드 레벨의 Hard-Rule로 판단하여 API 응답(JSON)에 바로 포함시킵니다.
// Python Lambda Logic Example
def determine_necessities(weather_data, air_data):
mask_needed = False
umbrella_needed = False
# 1. 미세먼지 룰베이스 (PM10 기준 나쁨 이상)
if int(air_data.get('pm10Value', 0)) >= 81:
mask_needed = True
# 2. 강수 룰베이스 (PTY 강수형태 0 이상)
if int(weather_data.get('PTY', 0)) > 0:
umbrella_needed = True
return {"mask_needed": mask_needed, "umbrella_needed": umbrella_needed}
데이터 분석가(박근령)가 프롬프트 템플릿과 패턴 기준을 전달해주면, 이를 활용해 하루 1번 실행되는 일일 배치(Batch) 스크립트 뼈대를 구상하고 프론트엔드와 JSON 응답 규격을 확정합니다.
| 협의/준비 항목 | 내용 |
|---|---|
| JSON 응답 구조 확정 | 프론트엔드가 파싱하기 편하도록 weather, air, recommend(예정) 블록 규약 정하기 |
| AI Fallback 로직 설계 | 배치 캐시에 값이 없을 경우(Cache Miss) 즉각 Bedrock을 호출하는 비상 라우팅 구상 |