본문으로 건너뛰기
밀스플랜
← 블로그

AI 식단표 자동 생성, 우리 학교 급식처럼 나오게 만든 방법

#AI식단표#식단표자동생성#학교급식#NEIS

AI한테 '초등학교 급식 한 달 식단 짜 줘'라고 하면 식단은 금방 나와요. 그런데 영양사 눈으로 보면 바로 티가 나요. 우리 학교는 수요일에 일품을 내는데 그런 게 없고, 아이들이 안 먹는 무침이 매일 들어가고, 지난달에 낸 메뉴가 또 나와요. 영양 수치는 맞을지 몰라도 '우리 학교 식단'은 아닌 거죠. 밀스플랜는 이 차이를 줄이는 데 제일 많은 시간을 썼어요.

구성은 우리 학교 이력에서, 영양은 그 안에서

학교를 고르면 그 학교가 NEIS에 올린 지난 급식을 먼저 읽어요. 거기서 밥 종류(쌀밥·잡곡밥·일품·면), 국 종류, 주찬 단백질, 반찬과 나물, 김치, 후식이 어떤 비율로 나왔는지, 요일마다 어떤 밥을 냈는지 셉니다. 새 식단은 이 비율을 따라가요. 지금까지 이력대로라면 몇 번 나왔어야 하는데 몇 번 나왔는지를 보고 모자란 종류부터 채우는 식이에요.

영양은 그 다음이에요. 종류를 정한 뒤 그 안에서 메뉴를 고르고, 주 단위로 영양 기준을 확인해요. 영양을 먼저 맞추게 두면 영양 점수가 좋은 우유·무침·해물이 실제보다 자주 뽑혀서 식단이 '모범답안'처럼 바뀌어 버리거든요.

식단을 짤 때 지키는 규칙

  • 국에 김치를 포함한 4찬(주찬·반찬·나물·김치)이 기본이에요. 후식은 학교 이력을 따라 넣거나 비워요.
  • 같은 메뉴는 한 달에 한 번만 넣어요. 궁중잡채와 한식잡채처럼 꾸밈말만 다른 요리도 같은 메뉴로 봐요.
  • 한 끼 안에서 같은 주재료가 두 번 나오지 않게 해요. 김치찌개가 나오는 날은 김치 칸에 깍두기를 넣는 식이에요.
  • 주간 영양 기준은 에너지 ±10%, 탄수화물 55~65%, 단백질 7~20%, 지방 15~30%예요. 급식 일수에 비례해서 봐요.
  • 메뉴마다 알레르기 유발식품 번호(1~19)를 붙이고, 알레르기가 있는 학생을 고르면 피해야 할 메뉴를 표시해요.

영양 보정은 뚜렷이 벗어났을 때만

메뉴 이름으로 영양을 추정하면 오차가 생겨요. 실제 학교 6곳의 254주를 NEIS에 올라온 영양 수치와 비교해 보니, 주 평균 열량의 추정 오차가 중앙값 6.6%였어요. 그래서 기준을 이 오차보다 더 벗어난 주만 메뉴를 바꿔요. 바꿀 때도 같은 종류 안에서, 그 학교가 자주 내던 메뉴 쪽으로 골라요. 화면의 경고 표시는 기준 그대로 보여 드려요.

실제 학교와 비교해 보니

2025년 실제 학교들의 급식을 두고, 각 달을 그 전까지의 이력만으로 생성해 실제 식단과 견줬어요. 학교 6곳의 54달로 쟀어요.

항목생성한 식단실제 식단
주간 영양 기준 네 가지를 다 지킨 주42%19%
같은 달 메뉴 중복 (100일당)0번18.8번
국이 없는 날0%14%

영양 기준은 실제보다 잘 지키고, 이 측정에서 한 달 안 중복은 없었어요. 국은 영양사 선생님들 의견대로 매일 넣게 했어요. 아쉬운 점도 있어요. 메뉴 종류의 분포가 실제와 얼마나 닮았는지 재 보면, 아직은 작년 같은 달 식단을 그대로 가져다 쓰는 것보다 조금 덜 닮았어요. 학교마다 해마다 같은 달에 같은 메뉴를 내는 습관이 있는데, 그걸 다 담지는 못한 거예요. 계속 고치고 있어요.

마음에 안 드는 날만 다시 생성

한 달 식단이 다 마음에 들 수는 없어요. 특정 날짜만 다시 생성하면 그날은 새로 짜고, 나머지 날은 밥과 주찬을 그대로 둔 채 반찬·나물·김치·후식만 바꿔 주 전체 영양을 다시 맞춰요. 급식이 없는 날로 바꿀 때도 같은 방식이에요. 다 됐으면 엑셀 식단표로 내보내고, 재료 매칭을 거치면 주차별 발주서도 받을 수 있어요.

측정 기준: 2025년 NEIS 급식 이력. 영양 기준과 국, 메뉴 중복은 학교 6곳 54달, 영양 추정 오차는 6곳 254주. 영양 기준은 학교급식법 시행규칙 별표 3과 한국인 영양소 섭취기준을 따릅니다. 베타 기간에는 모든 기능을 무료로 쓸 수 있어요.

학교 급식 AI 현황: 조리로봇, AI 잔반 측정, AI 식단 작성 →