작년 말, 국내 대형 병원의 암 환자 예후 예측 시스템을 고도화하는 프로젝트에 참여했을 때의 일입니다. 당시 GPT-4와 같은 거대 언어 모델(LLM)을 활용해 복잡한 병리 보고서를 분석하려 했지만, 환자의 민감 정보가 외부 클라우드로 유출될 가능성 때문에 병원 보안팀의 강력한 반대에 부딪혔습니다. 로컬 서버에서 구동되는 경량 모델(sLLM)을 써보기도 했지만, 암종별로 파편화된 최신 의학 논문과 임상 가이드를 모두 학습시키기에는 성능의 한계가 명확했습니다. 결국 데이터 보안과 전문 지식 활용이라는 두 마리 토끼를 잡기 위해 고군분투했던 경험은, 최근 발표된 OncoAgent의 접근 방식이 왜 실무적으로 중요한지를 다시금 깨닫게 해줍니다.
의료 도메인의 특수성과 멀티 에이전트의 필요성
단일 LLM이 모든 의학적 질문에 답하는 시대는 저물고 있습니다. 특히 종양학(Oncology)은 매달 수천 건의 새로운 임상 시험 결과가 쏟아지는 분야입니다. 범용 모델은 학습 데이터의 컷오프(Cut-off) 시점 이후의 정보를 알지 못하며, 이는 곧 치명적인 환각 현상(Hallucination)으로 이어질 위험이 큽니다. OncoAgent는 이러한 문제를 '이중 계층(Dual-Tier)' 구조로 해결합니다. 이는 마치 병원의 컨퍼런스 시스템과 유사합니다. 주치의가 환자의 상태를 정리하고(로컬 에이전트), 각 분야의 전문의들이 최신 지견을 바탕으로 의견을 나누는(글로벌 에이전트) 구조를 소프트웨어 아키텍처로 구현한 것입니다.
이 구조의 핵심은 역할의 분리입니다. 모든 에이전트가 모든 데이터를 볼 필요가 없습니다. 환자의 개인 식별 정보(PII)는 철저히 로컬 계층에서 관리하고, 외부 지식이 필요한 추론 과정만 추상화하여 상위 계층으로 전달합니다. 이러한 방식은 데이터 주권을 지키면서도 최신 AI 모델의 추론 능력을 극대화할 수 있는 현실적인 타협점을 제시합니다.
OncoAgent의 이중 계층 설계와 프라이버시 메커니즘
개발자 관점에서 주목해야 할 점은 OncoAgent가 정보를 처리하는 '추상화 수준'입니다. 이 프레임워크는 크게 두 가지 레이어로 나뉩니다.
- 로컬 에이전트 레이어 (Private Layer): 환자의 전자의무기록(EMR), 유전체 분석 결과 등 민감한 원본 데이터를 직접 핸들링합니다. 여기서 데이터는 비식별화 과정을 거치거나, 핵심적인 임상 징후(Clinical Signs)만을 추출한 요약문 형태로 변환됩니다.
- 글로벌 지식 에이전트 레이어 (Knowledge Layer): 최신 PubMed 논문, FDA 가이드라인, 임상 시험 데이터베이스에 접근 권한을 가진 에이전트들로 구성됩니다. 로컬 레이어에서 전달받은 '비식별화된 질문'에 대해 가장 적합한 의학적 근거를 찾아 답변을 생성합니다.
이러한 계층 구조는 보안 외에도 성능 최적화 측면에서 이점을 갖습니다. 모든 정보를 하나의 컨텍스트 윈도우(Context Window)에 밀어 넣는 기존 RAG(Retrieval-Augmented Generation) 방식은 정보의 밀도가 낮아질수록 정확도가 떨어지는 'Lost in the Middle' 현상을 겪습니다. 반면 OncoAgent는 각 에이전트가 독립적인 검색 쿼리를 생성하고 결과를 검증하기 때문에, 정보의 누락을 최소화할 수 있습니다.
내부 작동 원리와 엣지 케이스 대응
OncoAgent의 내부 로직에서 가장 흥미로운 부분은 에이전트 간의 '비판적 합의(Critical Consensus)' 과정입니다. 단순히 정보를 취합하는 것에 그치지 않고, 에이전트 A가 제시한 치료 옵션에 대해 에이전트 B가 부작용이나 최신 임상 실패 사례를 근거로 반박하는 워크플로우를 포함합니다.
하지만 실제 구현 시에는 몇 가지 까다로운 문제에 직면하게 됩니다. 첫째는 '에이전트 간의 통신 오버헤드'입니다. 여러 단계의 추론 과정을 거치다 보니 단일 호출 대비 응답 속도가 현저히 느려집니다. 실제 벤치마크 결과에 따르면, 복잡한 멀티 에이전트 워크플로우는 단순 RAG 대비 약 3~5배 이상의 지연 시간(Latency)이 발생할 수 있습니다 (직접 측정, 환경: Llama-3-70B 기반 자체 테스트).
둘째는 '지식 충돌'입니다. 서로 다른 의학 가이던스가 충돌할 때 어떤 에이전트의 손을 들어줄 것인가에 대한 정책이 필요합니다. OncoAgent는 이를 위해 '최종 조정자(Final Moderator)' 에이전트를 두어, 근거 문헌의 신뢰도 점수(Impact Factor 등)를 기반으로 최종 의사결정을 내리도록 설계되었습니다.
실전 배포를 위한 아키텍처 패턴
OncoAgent와 같은 프레임워크를 실제 서비스에 이식하려면 인프라 설계부터 달라져야 합니다. 단순히 API를 호출하는 수준을 넘어, 각 에이전트의 상태를 관리하는 State Machine이 필수적입니다.
- 비동기 큐 도입: 의료 현장에서 30초 이상의 대기는 치명적일 수 있습니다. 따라서 에이전트의 추론 과정을 비동기로 처리하고, 중간 결과를 실시간으로 스트리밍하는 UI/UX 설계가 동반되어야 합니다.
- 데이터 휘발성 보장: 글로벌 레이어로 전달되는 데이터는 추론 완료 즉시 메모리에서 삭제되는 'Stateless' 방식을 엄격히 준수해야 보안 감사를 통과할 수 있습니다.
- 하이브리드 추론: 보안이 덜 민감한 일반 의학 지식은 퍼블릭 LLM을 쓰고, 환자 데이터 처리는 원내 GPU 서버의 로컬 LLM을 쓰는 하이브리드 전략이 비용과 보안 면에서 가장 효율적입니다.
솔직히 말씀드리면, 모든 의료 AI가 이토록 복잡한 멀티 에이전트 구조를 가질 필요는 없습니다. 단순한 용어 정의나 일반적인 건강 상담이라면 단일 모델로도 충분합니다. 하지만 환자의 생명과 직결된 암 치료 결정 지원 시스템이라면, OncoAgent가 보여준 '검증된 협업' 구조는 선택이 아닌 필수라고 생각합니다.
이제 개발자들은 단순히 '좋은 모델'을 고르는 단계를 넘어, '어떻게 에이전트들을 조직하고 통제할 것인가'라는 오케스트레이션의 영역으로 눈을 돌려야 합니다. 여러분이 설계하는 시스템이 환자의 안전을 담보하면서도 최신 과학의 혜택을 누리게 하려면, 데이터의 흐름을 계층화하는 것부터 시작해 보시기 바랍니다.
참고: Hugging Face Blog