8/20/2026

MCP와 Local LLM을 활용한 개인 정보 우선 AI 에이전트 구축 예시

Hybrid(Local + Cloud) LLM에 대해 궁금증이 있어서 관련 자료를 찾던 중, 의료 기관에서 AI를 도입하는 흥미로운 글을 발견하여 여기에 정리해본다.

AI가 진료 기록을 요약해주고, 혈액 검사 수치를 풀어서 설명해 준다면, 환자도 편하고 의사도 시간을 아낄 테니 좋은 일이다. 그런데 이것을 하려면 보안이라는 벽이 있다.

미국에서는 환자 정보 보호법인 HIPAA를 위반하면, 건당 최대 약 5만 달러의 벌금을 내야 한다. 클라우드 LLM을 사용하게 되면 데이터가 제3자에게 전송되기에 각종 계약과 감사 기록이 필요하게 된다. 그리고 환자나 의료진이 데이터가 어디로 가는지 묻는다면 신뢰 문제가 야기될 수 있다.

그래서 이 글을 쓴 사람은 아래의 방향을 택했다.

"데이터를 AI에게 보내지 말고, AI를 데이터가 있는 곳으로 데려오자."

핵심은 매우 단순하다. 데이터가 밖으로 나가지 않게 하는 것이다. Hybrid LLM에 대한 방법도 있지만, 본 글의 저자는 확실한 방법을 택했다.

구조는 3개의 레이어로 나뉜다.


맨위는 의료앱이다. 화면, API, 명령줄 도구로 구성된다.

중간에는 MCP 계층이 있다. MCP는 쉽게 말하면 AI와 사용할 도구를 연결하는 규격이다.
맨 아래에는 Ollama 위에 Gemma 4라는 모델을 설치했다.

이를 이용해 만든 도구는 4가지이다.

  1. 진료 접수 요약기 - 다양한 접수 양식을 정리된 요약으로
  2. 검사 결과 해석기 - 혈액검사 수치를 해석
  3. 기록 탈식별기 - 환자 신원 정보를 지우는 도구
  4. 문서 보조 에이전트 - 의료 기록을 다루는 도우미

이렇게 만든 이유는 다음과 같다. 의료기관에서 사용하려면 정말 "확실" 해야 하기 때문이다. 일반적인 AI는 창의적인 답변을 하라고 temperature를 높인다. 그러나 의료에서는 반대다.

temperature를 0.1로 최대한 낮게 고정해서, AI가 원문 그대로를 충실하게 재현하도록 만들었다. 의료 정보에서는 지어낸 내용은 창의성이 아니라, 사고이기 때문이다.

또한, 모든 검사에 AI를 사용하지 않았다. 검사 해석기에는 검사 항목별 정상 범위(혈당, 당화혈색소, 크레아티닌 등)를 미리 입력해 두고, 수치가 정상이라면 지정된 규칙으로 답을 하고, 비정상일때만 AI를 활용하는 것으로 설계했다.

탈식별 도구는 환자 이름, 전화번호, 주민번호, 의료기록 번호 등 HIPAA가 정한 18가지 식별 정보를 찾아 지워준다. 단순하게 텍스트를 대치하는 것이 아니라 AI가 문맥을 이해한다는 것이 장점이다. 예를 들어서 스미스 박사가 스미스 프로토콜을 추천했다라는 문장에서 첫 번째에 나온 스미스는 개인정보지만, 두 번째 스미스 프로토콜은 치료법 이름이다. 정규 표현식으로 하면 둘다 지워버리지만, AI는 의학적으로 의미 있는 쪽은 보존해준다.

구축한 모든 도구를 Docker Compose로 배포된다. Sandbox내에 가둬두는 것이다.

이 글이 주는 교훈은 중요한 데이터는 안전한 곳에 두고 거기서 AI를 사용하면 된다는 것이다. 개인정보를 지키면서도 AI의 도움을 받는 방법은, AI를 더 똑똑하게 만드는 것이라기 보다는 AI를 안전한 곳으로 옮기는 것일지도 모른다.

Source: https://dev.to/kennedyraju55/how-i-built-a-privacy-first-healthcare-ai-agent-using-mcp-and-local-llms-kg9

Share:

잠깐, 글이 유익했나요?

Donate!

0 Comments:

댓글 쓰기