Dr Vignesh Narayan R의 피부 AI 어시스턴트: 안전 우선 피부과 에이전트 (React + Algolia로 구축)

발행: (2026년 2월 7일 오후 01:56 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

Cover image for Dr Vignesh Narayan R's Skin AI Assistant: A Safety-First Dermatology Agent (Built with React + Algolia)

What I Built

저는 Dr Vignesh Narayan R의 Skin AI Assistant를 만들었습니다. 이 안전‑우선 피부과 어시스턴트는 환자들이 방대한 스킨케어 세계를 탐색하는 데 도움을 주기 위해 설계되었습니다.

일반적인 “추측” 챗봇이 아니라, 이 에이전트는 전문 의료 트리아지 도구로 작동합니다. 피부 타입, 날씨 조건, 의료 기록이라는 세 가지 핵심 데이터를 고려해 안전한 스킨케어 성분 포뮬러를 추천합니다.

Medical responsibility features

  • 특정 상업 브랜드를 추천하지 않음(편향 방지).
  • 특정 질환에 금기인 성분을 사전에 필터링(예: 사용자가 습진을 가지고 있으면, 여드름이 있더라도 살리실산 추천을 차단).
  • 처방 강도 치료에 대해서는 항상 실제 상담을 예약하도록 안내합니다.

Demo

실제 애플리케이션을 여기서 체험해 보세요:

https://drvigneshnarayanrskinai.netlify.app/

Note: Since this is running on a free instance, please allow up to 60 seconds for the agent to “wake up” and respond to your first message. If it stays quiet, the daily API test quota may have paused—please try again later!

GitHub repository:

https://github.com/drvigneshnarayanr/drvigneshnarayanrskinai/

How I Used Algolia Agent Studio

Algolia Agent Studio를 활용해 RAG(Retrieval‑Augmented Generation) 워크플로우를 구축했습니다. 이를 통해 AI가 확률이 아닌 의료 사실에 기반하도록 했습니다.

The Data Index

dermatology_rules.json이라는 맞춤 데이터셋을 만들어 임상 스킨케어 규칙을 담았습니다. 제품 이름만 색인하는 것이 아니라, 의료 메타데이터를 포함하도록 구조화했습니다:

  • formulation_type (예: "Occlusive Ointment")
  • safe_for_conditions (예: ["Psoriasis", "Atopic Dermatitis"])
  • contraindicated_for (예: ["Acne Prone"])

Targeted Prompting & Configuration

“Safety Check” 논리를 강제하는 시스템 프롬프트를 설정했습니다:

“Analyze the User Input… Search your knowledge base… Before recommending ANY product, check its contraindicated_for field. If the user has a condition listed there, YOU MUST DISCARD THAT RESULT.”

Searchable Attributes

Algolia의 searchable attributes를 safe_for_conditionsweather_suitability에 우선순위를 두도록 설정했습니다. 이를 통해 사용자가 구어체로 표현해도 올바른 의료 규칙을 의미론적으로 필터링할 수 있습니다.

Why Fast Retrieval Matters

헬스케어와 피부과에서는 정확성이 절대 타협될 수 없습니다. 일반 LLM은 실제로 존재하지 않는 제품을 환각(허위 생성)할 위험이 있습니다.

Algolia의 빠른 검색을 활용함으로써:

  • Reduced Hallucinations: 에이전트는 검색된 컨텍스트(선별된 JSON 파일)에서만 답변을 생성합니다. 안전한 답변이 인덱스에 없으면 “I don’t know”라고 말하고 의료 조언을 꾸며내지 않습니다.
  • Contextual Speed: 사용자는 현재 날씨와 피부 상태에 맞춘 조언을 즉시 받습니다. 검색 인덱스가 100개 이상의 가능성을 밀리초 안에 가장 안전한 옵션 하나로 축소해 주어, LLM은 따뜻하고 배려심 있는 응답을 만드는 데 집중할 수 있습니다.

Team

Dr. Vignesh Narayan R – Consultant Dermatologist & Developer.

0 조회
Back to Blog

관련 글

더 보기 »

UX/UI 타이포그래피

Typography란 무엇을 의미할까요? - 어떤 font를 사용할지 - 어느 위치에서 얼마나 크게 할지 - 얼마나 굵게 할지 - 행 간격 - ...

이번 주 상위 7개 추천 DEV 게시물

이번 주 Top 7에 오신 것을 환영합니다. DEV 편집팀이 지난 주에 가장 좋아한 게시물을 직접 선정했습니다. 선정된 모든 저자분들께 축하드립니다.