단위 4 / 11

식품 데이터베이스 및 영양 데이터: AI를 올바른 소스에 연결

이득:

  • 인공지능 메모리가 아닌 잘 알려진 데이터베이스(USDA, TÜBER, BeBiS)에서 영양가치를 얻어야 할 필요성을 이해하는 능력
  • RAG 로직을 적용하여 소스에서 가져온 데이터만으로 계산 및 해석을 수행하도록 인공지능에 지시하는 기능
  • 생/조리 전환, 부분 명확성 및 소스 일관성을 고려하여 영양 오류를 방지하는 능력

영양사의 일상 업무의 핵심은 "이 영양소에 얼마만큼 들어있나요?"라는 질문입니다. 질문이 있습니다. 닭가슴살 100g에는 몇g의 단백질이 들어있나요? 통밀빵 한 조각에는 몇 그램의 섬유질이 들어있나요? 올리브 오일 한 스푼에는 몇 칼로리가 있나요? 이러한 질문에 대한 답은 실험실 분석을 기반으로 수천 가지 식품의 에너지, 다량 및 미량 영양소 함량을 나열한 공식 표인 식품 성분 데이터베이스에 보관되어 있습니다. 이 분야에서 인공지능의 가장 위험한 실수는 이 숫자를 '기억'한다고 생각하는 것입니다. 그러나 언어 모델은 숫자를 기억하지 않습니다. 확률적으로 생성되어 현실에 가깝지만 때로는 심각하게 잘못된 값을 제공하는 경우가 많습니다. 이 장치의 주요 메시지는 명확합니다. AI의 메모리가 아닌 인식된 데이터베이스에서 영양가를 가져옵니다. AI를 활용해 데이터를 기억하는 것이 아니라 정확한 데이터로 작업하세요.

잘 알려진 데이터베이스와 그 용도

세계와 터키에서 널리 사용되는 주요 소스는 다음과 같습니다.

데이터베이스

범위

장점

주의

USDA FoodData Central(미국)

매우 큰, 약 25만 개의 레코드

API를 통한 상세하고 무료

미국 제품; 현지 음식 제한

TÜBER / Türkiye 영양 가이드 보충제

터키 요리 중심

현지 음식과 부분

USDA보다 범위가 좁음

BeBiS(영양정보시스템)

Türkiye의 일반적인 소프트웨어

터키 요리법

라이센스가 부여된 소프트웨어

USDA/유로FIR

유럽 구성 데이터

국가 기반 표준

액세스는 제도적일 수 있습니다.

"API"란 소프트웨어가 프로그래밍 방식으로(자동으로) 데이터베이스에 질문하고 구조화된 답변을 받을 수 있도록 하는 인터페이스를 의미합니다. USDA FoodData Central과 같은 리소스용 API를 사용하면 향후 AI 도구를 실제 데이터에 연결할 수 있습니다. 이것이 "데이터 중심 AI" 접근 방식의 기초입니다. 모델을 맞추지 않고 실제 소스에서 끌어옵니다.

주의: 동일한 영양소라도 데이터베이스에 따라 다른 값이 표시될 수 있습니다. 재배조건, 품종, 조리방법, 분석방법이 모두 다르기 때문입니다. "올바른" 숫자는 하나도 없습니다. 합리적인 범위가 있습니다. 일관성을 유지할 수 있도록 고객 계획에 사용하는 리소스를 기록하세요.

"검색" 논리: AI를 소스에 연결

최신 애플리케이션에서 AI를 실제 데이터에 연결하는 방법은 RAG 접근 방식(영어로 Retrieval-Augmented Generation)입니다. 간단히 말해서, 모델은 메모리에서 답변을 맞추는 대신 먼저 신뢰할 수 있는 소스(데이터베이스, 문서)에서 관련 데이터를 가져온 다음 해당 데이터를 기반으로 답변을 생성합니다. 실제로는 다음 두 가지 방법으로 이를 구현합니다.

  1. 수동 공급: 신뢰할 수 있는 테이블에서 음식 값을 복사하여 AI에 제공합니다. AI는 이 데이터로만 계산/해석할 뿐, 자체 메모리에서 숫자를 추가하지 않습니다.
  2. 연결된 차량: 데이터베이스에 연결된 차량을 사용합니다. AI는 쿼리를 실제 소스로 전달하고 반환된 값을 사용합니다.

두 경우 모두 황금률은 동일합니다. 숫자는 소스에서 나오며 AI는 이를 해석합니다. "렌즈콩 100g에 철분이 얼마나 들어있나요?" YZ에게 물었다. 개방형 질문을 하는 것은 조작을 유도하는 것입니다.

일반제품, 브랜드제품 및 식사믹스

영양소 데이터베이스에는 동일한 이름으로 여러 레코드가 있으며 잘못된 레코드를 선택하면 오류가 발생합니다. 예를 들어, "요구르트"를 검색하면 전지방, 반지방, 무지방, 그리스식(변형), 가당 과일 요거트 등 수십 가지의 다양한 기록이 제공됩니다. 그들의 칼로리와 매크로는 서로 매우 멀리 떨어져 있습니다. 그릭요거트는 일반요거트에 비해 단백질 함량이 거의 2배에 달합니다. 마찬가지로 "브랜드 제품" 기록(회사의 포장 제품)과 "일반 영양" 기록은 서로 다른 값을 갖습니다. 모범 사례에서는 고객이 실제로 소비하는 제품을 가능한 한 가깝게 일치시킵니다. 가능하면 포장에 있는 영양 라벨을 기준으로 하고, 그렇지 않으면 데이터베이스에서 가장 가까운 설명을 선택합니다. AI에게 "어떤 기록을 선택해야 할까?"라고 물어보세요. 상담하시면 적합한 검색어를 추천해 드릴 수 있습니다. 그러나 최종 레코드 선택 및 레이블과의 비교는 귀하의 통제하에 있습니다. 계획 전반에 걸쳐 동일한 영양소에 대해 동일한 기록을 사용하는 것도 일관성을 위해 중요합니다. 전지방 우유를 절반만 사용하고 탈지유를 절반만 사용하면 총계가 왜곡됩니다.

부분 및 요리 변환

영양 데이터베이스는 일반적으로 생 100g 당 값을 제공합니다. 하지만 고객은 생 렌즈콩이 아닌 익힌 렌즈콩을 먹습니다. 요리하는 동안 물을 흡수하여 무게가 변합니다. 생쌀 100g을 익히면 ~250~300g으로 늘어납니다. 따라서 '익힌 200g'과 '생 100g'은 영양가가 다릅니다. AI는 이러한 변형을 만들 수 있지만 방향을 혼동할 수 있습니다. 사용하는 가치가 가공되지 않은 가치인지 아니면 조리된 가치인지 항상 명확히 하세요. 이는 계산 오류가 자주 발생하는 원인입니다.

세 개의 미니 케이스

사례 1 — 환각을 느낀다. 한 영양사가 YZ에게 "삶은 브로콜리 100g에는 단백질이 몇g이나 들어있나요?"라고 물었다. 그는 묻습니다. AI는 "약 8그램"이라고 말합니다. 영양사는 USDA를 살펴봅니다. 실제 값은 ~2.4g입니다. AI는 이를 콩과 식물/견과류 데이터와 혼합하여 3배로 부풀렸습니다. 영양사는 올바른 값을 사용합니다. 교훈: 녹색 채소에는 단백질 함량이 낮습니다. 단지 유창하다고 해서 숫자가 정확하지는 않습니다.

사례 2 - 생/요리된 혼란. 초안 계획에서 AI는 "파스타 150g"(~525kcal)에 대한 원시 값을 사용하는 반면, 클라이언트는 조리된 파스타 150g(~210kcal)을 먹고 있습니다. 그 차이는 한 끼에 315kcal로, 하루 한 끼만 먹어도 편차가 심한 편이다. 영양사는 측정 단위를 '요리'로 명확히 하고 다시 계산합니다.

사례 3 - 올바른 사용. 영양사는 USDA에서 닭고기, 쌀, 브로콜리의 100그램 값을 복사하여 "이 데이터로 식사의 전체 매크로를 계산하고 자체 메모리에 있는 숫자를 추가하면 됩니다"라는 지시와 함께 AI에 제공합니다. AI는 주어진 숫자로만 추가합니다. 영양사는 그것을 다시 닫아 확인합니다. 데이터는 소스에서 나왔고 AI가 연산을 했습니다.

복사 가능한 프롬프트 템플릿

소스 데이터가 포함된 계산 템플릿(RAG 논리)귀하의 역할: 귀하에게 제공된 영양가만을 사용하여 작업하는 보조자. 자신의 기억에서 영양가를 추가하거나 변경하세요. 데이터가 누락된 경우 "[데이터 없음]"이라고 쓰고 보충합니다. 데이터(100g당, 출처: USDA):- 닭 가슴살(요리): 165kcal, 단백질 31g, 지방 3.6g, 탄수화물 0g- 쌀(요리): ...과제: 닭고기 120g + 쌀 150g에 대한 총 칼로리와 매크로를 계산합니다.

RAW/COOKED 변환 템플릿 다음 식품의 값은 RAW 100g당 제공됩니다: [값]. 클라이언트는 [X]g COOKED를 먹습니다. 익히면 무게~[비율]이 변합니다. 따라서 섭취한 양의 영양가를 계산하고 어떤 가정을 사용하는지 명확하게 작성하십시오.

데이터베이스 쿼리 준비 템플릿 식사의 영양가를 찾고 싶습니다. 다음 식품에 대해 식품 데이터베이스(USDA/TUBER)에서 검색해야 할 용어를 나열합니다. 이 기록은 날것/익힌 것 중 선택해야 합니다. 당신에게 가치를 부여하지 마십시오; 정확한 검색어와 주의점을 알려주세요. 영양소: [...]

일관성 확인 템플릿 다음 식사의 영양가를 두 가지 다른 방식으로 해석합니다. (1) 모든 음식이 날것이라고 가정하고 (2) 모든 음식이 조리되었다고 가정합니다. 두 합계를 비교하고 그 차이가 어디서 나오는지 설명하세요. 그러면 어떤 가정을 검증해야 하는지 알 수 있습니다.

약한 프롬프트 / 강한 프롬프트

약한 프롬프트:

렌즈콩 수프 한 그릇에 몇 칼로리가 있나요?

"요리"는 모호하고 조리법도 모호하며 소스도 없습니다. AI는 자신의 기억에서 숫자를 만들어내고 어떻게 그 숫자를 생각해냈는지 말하지 않습니다.

강력한 프롬프트:

당신의 역할: 주어진 데이터로만 계산하는 조수. 렌즈콩 수프 제공량 = 300g. 성분 (100g 당 값, USDA 출처, 아래 제공) : 빨간색 렌즈 콩 (요리) [값], 양파 [값], 올리브 오일 [값]. 제공량당 수량: [...]. 이 데이터로 총 칼로리와 매크로를 계산하고 메모리에서 추가하지 않고 단계를 표시합니다.

두 번째 프롬프트 소스는 서빙, 가공되지 않은/요리된 정보 및 "추가하지 않음" 제약 조건을 제공합니다. 출력은 감사 가능하고 신뢰할 수 있습니다.

일반적인 실수

  • AI의 기억을 신뢰하기: 영양가에 대한 제한 없는 질문; 이것은 환각으로의 초대입니다.
  • 익히지 않은 것/익힌 것 혼동하기: 가장 흔한 조용한 실수입니다. 항상 측정 단위를 명확히 하십시오.
  • 출처 혼란: 서로 다른 데이터베이스의 서로 다른 영양소를 혼합합니다. 계획에 일관된 리소스를 사용합니다.
  • 부분을 ​​모호하게 놔두기: "접시", "한 줌"과 같은 표현을 그램으로 변환하지 않고 계산합니다.
  • 범위 대신 단일 숫자에 집중: 동일한 음식에 합리적인 범위의 값이 있다는 사실을 망각합니다. 잘못된 확신을 만들어내는 것.

요약하면

영양 데이터는 언어 모델이 가장 약한 영역입니다. 모델은 숫자를 기억하지 못하기 때문에 숫자를 생성합니다. 따라서 항상 인정된 데이터베이스(USDA, TÜBER, BeBiS)에서 영양가를 얻고 AI를 사용하여 소스에서 가져온 데이터인 RAG 논리를 기반으로 해당 데이터만 계산하고 해석하십시오. 생/요리된 전환, 부분 명확성 및 소스 일관성에 주의를 기울이십시오. 숫자가 유창하게 나왔다고 해서 틀린 것은 아닙니다. 소스와 협력해야만 진실을 얻을 수 있습니다.

응용과제

세 가지 음식을 선택하십시오(예: 삶은 계란, 통밀빵, 그리스 요구르트). 먼저 AI에게 개방형으로 질문하고 그 값을 (메모리에서) 가져옵니다. 그런 다음 USDA FoodData Central에서 동일한 영양소의 실제 값을 찾으십시오. 두 세트를 비교하고 각 음식에 얼마나 많은 차이가 있는지 표에 적어보세요. 이 표는 "메모리를 믿지 말고 소스에 연결하라"는 원칙을 보여줍니다.

체크리스트

  • [ ] AI 메모리가 아닌 잘 알려진 데이터베이스에서 영양가를 얻었습니다.
  • [ ] AI에 "주어진 데이터로만 작업하고 아무것도 추가하지 마십시오"라는 제한을 두었습니다.
  • [ ] 각 식품별로 생것인지 익힌 것인지 명시하였습니다.
  • [ ] 나는 그 부분을 그램으로 환산했습니다. 나는 "접시/한줌"을 남기지 않았습니다.
  • [ ] 계획 내에서 일관된 단일 소스를 사용했습니다.
  • [ ] AI의 합을 다시 곱해서 검증했습니다.