기획엔 살을 붙이고, 모르는 기술은 분해해서 — '헬스 알' 게임화와 RAG 본질 학습

📚 「AI 헬스케어 파이널 프로젝트」 연재 4편입니다. (3편: 이 예측, 의미가 있나?)

표지

📝 한줄 요약

2편에서 “무엇을 예측할지(만성콩팥병)“는 정했지만, 기획서는 아직 앙상한 뼈대였습니다. 이번 편엔 두 가지를 했어요. 하나는 사용자가 매일 들어오고 싶게 만드는 게임화 기획(‘헬스 알’ 키우기)에 살을 붙인 것, 다른 하나는 곧 제 담당이 될 RAG라는 낯선 기술을 그림 암기가 아니라 본질부터 분해해서 익힌 것입니다.

바쁘시면 이것만 읽어도 돼요:

  • 게임화: 건강검진 수치만 보여주면 사람은 안 움직입니다. 그래서 ‘알(egg) 캐릭터’를 키우는 게임으로 설계했어요. 챌린지를 하면 알이 부화하고 자랍니다
  • 깨달은 점(학습법): 새 기술의 아키텍처 그림이 이해가 안 갔을 때, 그림을 외우려 들지 않고 “이건 왜 여기 있어? 결국 무슨 일을 해?”를 끝까지 물어 본질로 분해했습니다
  • 인상적 순간: 복잡한 AI 용어가 결국 “숫자로 바꾸기(회귀)“와 “비슷한 것 찾기(검색)” 두 가지로 좁혀진다는 걸 깨달았어요
  • 핵심 팁: 모르는 기술은 “한 단계씩, 내가 이해할 때까지” AI에게 풀게 하세요. 멋진 다이어그램부터 만들지 마세요
  • 놓치지 말 것: 의료 데이터 서비스는 보안을 처음부터 진지하게 설계해야 합니다

🎯 이런 분들께 도움돼요

  • 사용자가 계속 쓰고 싶게 만드는 서비스(게임화)를 고민하는 기획자·PM
  • AI·개발의 낯선 개념을 어떻게 공부할지 막막한 입문자
  • 민감 정보를 다루는 서비스의 보안 설계가 고민인 분

😫 문제 상황 (Before)

2편에서 예측 대상을 만성콩팥병(CKD)으로 잘 잡았습니다. 그런데 “그래서 사용자가 이걸 왜 매일 쓰지?”에는 답하기 어려웠어요. 콩팥 수치(eGFR)를 숫자로만 보여줘서는 — 솔직히 저라도 한 번 보고 안 들어올 것 같았습니다.

더 큰 산도 있었어요. 우리 서비스의 기능 중 하나가 RAG(검증된 의료 자료를 근거로 답하는 AI 챗봇)인데, 곧 그게 제 담당이 될 예정이었거든요. 그런데 RAG 아키텍처 그림을 보는 순간 머리가 하얘졌습니다. 박스와 화살표는 잔뜩인데 하나도 이해가 안 됐어요.

그래서 이번 편의 목표는 두 가지였습니다. 첫째, 기획을 ‘보여줄 수 있는’ 수준으로 살 붙이기. 둘째, 모르는 기술을 본질부터 분해해서 내 것으로 만들기.

🛠️ 사용한 도구

  • 도구: Claude Code
  • 모델: Claude Opus
  • 특이사항: 목업을 만들어주는 디자이너, 개념을 한 단계씩 풀어주는 과외 선생님, 보안 설계를 잡아주는 보안 담당으로 한 명을 세 사람처럼 썼습니다

🔧 작업 과정

🥚 수치만으론 안 움직인다 → ‘헬스 알’을 키우자

대시보드를 만들면서 숫자만 보여주기는 싫었어요. 그래서 이렇게 요청했습니다.

예상 대시보드를 이미지로 만들어줘
추가로:
1. 계기판 스타일 — 왼쪽엔 예상 콩팥 수치(eGFR), 오른쪽엔 위험도
2. 캐릭터(알) 추가 — 내 아바타(알) 공간. 진행이 빠를수록 알에 금가는 게 보이고,
   부화 후 챌린지를 하면 호감도가 올라가며 상태가 보임. 배경은 헬스장으로

AI가 자동차 계기판처럼 생긴 대시보드에 ‘알 캐릭터’를 얹은 목업을 만들어줬습니다. 핵심 아이디어는 이거였어요. 사용자의 건강 관리 노력을 ‘알을 부화시키고 키우는’ 게임으로 바꾸는 것. 콩팥 수치는 딱딱하지만 내 알이 자라는 건 보고 싶잖아요?

이 장면에서 느꼈습니다. “숫자(데이터)“와 “동기(재미)“는 서로 다른 언어라는 걸요. 좋은 서비스는 이 둘을 연결합니다.

💡 추상적인 데이터는 ‘자라는 것’으로 바꾸면 사람이 움직인다. 콩팥 수치 한 줄보다, 내가 키우는 알 한 마리가 내일 다시 오게 만든다.


📋 챌린지 215개 + 사용자 그룹별 맞춤

게임에는 할 일(퀘스트)이 필요했습니다. 미리 정리해둔 생활습관 챌린지를 검토하고 보강했어요.

챌린지 200개 구조 검토해줘
당뇨·고혈압 보유군 / AI 고위험군 / 일반 건강군 별로 챌린지를 추가·보강해줘

AI가 챌린지를 215개로 늘렸습니다. 그리고 사용자 상태(이미 질환이 있는 사람 / 위험한 사람 / 건강한 사람)에 따라 다른 챌린지와 다른 말투로 보이도록 설계했어요. 같은 “물 마시기”라도 위험군에겐 단호하게, 건강군에겐 가볍게 건넵니다. 이 로직은 나중에 다시 쓸 수 있게 별도 코드 묶음(라이브러리)으로 정리했습니다.

💡 맞춤은 콘텐츠를 늘리는 게 아니라 같은 콘텐츠를 다르게 건네는 일이다. 메시지의 양보다 말투를 바꾸는 게 더 개인적으로 느껴진다.


🔒 보안은 처음부터 진지하게

의료 데이터는 새어 나가면 끝입니다. 그래서 일찍 못을 박았어요.

프로젝트 정리에서 보안 부분을 강화해줘. 보안이 정말 중요하니까

AI가 위협 시나리오 분석, 개인정보보호법 요건, 암호화와 접근 권한과 로그에서 개인정보 가리기까지 보안 설계 문서와 기본 코드를 만들어줬습니다. 이때 잡아둔 보안 원칙이 한참 뒤 챗봇을 만들 때 큰 도움이 됩니다.

💡 보안은 나중에 덧칠하면 늦는다. 초반에 “어디로 샐 수 있나”부터 점검하면, 뒤에 붙는 기능이 그 위에 안전하게 쌓인다.


🧩 “그림이 이해가 안 가요” → 그림을 버리고 본질로

이제 진짜 산이었습니다. RAG 아키텍처에 우리 기능을 얹으려고 다이어그램부터 그려달라고 했는데, 보고도 이해가 안 됐어요. 그래서 솔직하게 말했습니다.

아키텍처 이해를 못하겠네. 우선 rag-llm에 대해서 설명해줘

여기가 이 편에서 제가 가장 잘했다고 생각하는 부분이에요. 이해 안 되는 그림을 억지로 외우는 대신, “이게 결국 뭐 하는 거야?”부터 다시 시작한 것.

💡 이해가 안 되는 그림은 외울수록 더 헷갈린다. 그림을 버리고 “이건 결국 무슨 일을 해?”로 돌아가면, 그제야 그림이 다시 읽힌다.


🔬 “왜?”를 끝까지 던지니, 두 가지로 좁혀졌다

그다음부터는 질문 폭격이었어요. 용어를 하나도 몰랐지만 부끄러워하지 않고 계속 물었습니다.

인덱싱 단계랑 추론 단계를 분리해서 다이어그램 2장으로 그려줘
LangChain? 임베딩 모델? 은 그림 어디에 있어야 해?
임베딩 모델도 외부 AI를 쓰는 경우가 있어?
Langfuse의 역할은 뭐야?
Chroma/Qdrant 이런 건 저장소 아니었어? 검색도 하는 거야?
'K-최근접 이웃 분류기' — 이게 검색기의 원리를 말하는 거야?

한 꺼풀씩 벗기니 그 복잡해 보이던 게 결국 두 가지 일로 정리됐습니다.

  • ① 텍스트를 숫자로 바꾸기 (임베딩 = 회귀) — 문장을 좌표(숫자 묶음)로 변환합니다
  • ② 비슷한 것 찾기 (벡터 검색 = K-최근접 이웃 검색) — 질문과 가까운 좌표의 자료를 찾아옵니다

그리고 나머지 용어도 손에 잡혔어요. RAG 전체는 ‘준비(인덱싱)‘와 ‘실시간 답변(추론)’ 두 단계로 나뉩니다. LangChain은 별도 장비가 아니라 그냥 도구 모음(라이브러리)이에요. Langfuse는 AI가 일을 잘하는지 지켜보는 관제탑이고요.

이때 깨달았습니다. 저는 원래 모든 걸 “결국 분류 아니면 예측(회귀)“이라는 본질로 좁혀서 이해하는 편인데, RAG도 예외가 아니었어요. 낯선 용어의 갑옷을 벗기면 안에는 익숙한 원리가 들어 있었습니다.

💡 낯선 기술의 용어는 갑옷일 뿐이다. “결국 어떤 기본 동작의 조합이야?”로 끝까지 좁히면, 안에서 이미 아는 원리가 나온다.


✅ 결과 (After)

Before vs After

항목BeforeAfter
대시보드숫자만 나열계기판 + ‘알 키우기’ 게임화 목업
사용자 동기”왜 매일 쓰지?” 불명확챌린지 215개 + 그룹별 맞춤(상태·말투)
보안막연함위협 분석·개인정보·암호화 설계 + 기본 코드
RAG 이해그림 보고 멘붕두 가지(숫자화·검색)로 좁혀 이해 + 본질 문서

결과물

  • 게임화 대시보드 목업 + 시각화 명세 (계기판 + 헬스 알)
  • 챌린지 215개 + CKD 코드 라이브러리 (그룹별 라우팅·시뮬레이션)
  • 보안 명세 + 기본 코드 (위협 분석·개인정보 보호)
  • ‘RAG 본질 이해’ 문서 + 인덱싱/추론 분리 다이어그램

💬 이 과정에서 배운 AI 활용 팁

효과적이었던 것

  1. 추상적인 건 비유와 게임으로 바꿔라 — “콩팥 수치”보다 “내 알이 자란다”가 사람을 움직입니다. AI에게 “재미 요소로 바꿔줘”라고 해보세요.
  2. 모르는 기술은 그림 암기 말고 “왜?”로 분해하라 — “이건 결국 뭐 하는 거야?”, “왜 여기 있어?”를 끝까지 물으면 본질이 드러납니다.
  3. “내가 이해할 때까지 한 단계씩”이라고 요청하라 — AI는 눈높이를 맞춰 단계별로 풀어줍니다. 모르는 걸 부끄러워하지 마세요.
  4. 민감 정보 서비스는 보안을 처음부터 — 나중에 붙이면 늦습니다. 초반에 위협 시나리오부터 점검하세요.

이렇게 하면 안 돼요

  1. 멋진 다이어그램부터 만들지 마세요 — 개념이 안 잡힌 상태의 그림은 그냥 장식입니다. 이해가 먼저예요.
  2. 게임화를 ‘재미’만으로 채우지 마세요 — 우리 챌린지는 의학적 근거(어떤 습관이 콩팥에 좋은지)와 연결했습니다. 동기와 근거는 함께 가야 합니다.

🌍 다른 업무에 적용한다면?

  • 무엇이든 ‘지속’이 중요한 서비스: 학습 앱, 가계부, 운동 앱. 사용자가 계속 오게 하려면 ‘성장이 보이는 장치’(레벨·캐릭터·배지)를 AI와 함께 설계하세요.
  • 새로운 분야를 배울 때: 책이나 강의를 통째로 외우지 말고, AI에게 “이 개념을 내가 아는 것에 비유해서 본질부터 설명해줘”라고 하세요. 학습 속도가 달라집니다.

🚀 앞으로의 계획

기획에 살이 붙고 RAG 개념도 잡혔습니다. 그런데 모델의 진짜 재료인 데이터가 아직 단단하지 않았어요.

다음 편(5편) **「모았다고 끝이 아니다 — 10만 명 건강 데이터를 다시 쌓고 검증을 끝까지 시킨 날」**에서는, 흩어지고 들쭉날쭉한 한국 건강조사 데이터를 ‘제대로 쓸 수 있는 형태’로 다시 빌드합니다. 14년 치, 10만 명이 넘는 데이터를요. 그리고 검증을 끝까지 시키면서 마주친 데이터의 함정도 함께 풀어볼게요.

📋 재사용 가능한 프롬프트

프롬프트 1: 낯선 기술을 본질부터 배우기

나는 [이 기술]이 처음이라 아키텍처 그림을 봐도 이해가 안 돼. 그림을 외우게 하지 말고, “이게 결국 무슨 일을 하는지” 본질부터 설명해줘. 내가 아는 일상 개념에 비유하고, 내가 “왜 그래?”라고 물을 때마다 한 단계씩 더 깊이 풀어줘. 마지막에, 이 기술이 결국 어떤 기본 원리의 조합인지 한 문장으로 정리해줘.

프롬프트 2: 사용자가 계속 쓰게 만드는 게임화 설계

[서비스 설명]에서 사용자가 매일 들어오고 싶게 만들고 싶어. 단순히 [핵심 수치]만 보여주는 게 아니라, 성장이 보이는 게임화 요소(캐릭터·레벨·보상 등)를 제안해줘. 단, 재미만이 아니라 실제 [도메인] 근거와 연결되도록 설계해줘.

프롬프트 3: 민감 정보 서비스 보안 점검

[서비스]는 [민감 정보 종류]를 다뤄. 보안을 처음부터 제대로 설계하고 싶어. 위협 시나리오(어디로 샐 수 있는지), 관련 법 요건, 암호화·접근권한·로그 처리 방안을 우선순위와 함께 정리하고, 가장 중요한 것부터 알려줘.


📌 「AI 헬스케어 파이널 프로젝트」 연재 4편입니다. 다음 막에서 또 이어집니다.

← 블로그 전체 목록