자가 개선형 건강 플랫폼 구축: 매주 학습하는 5개의 AI 에이전트
요약
정적 AI 모델의 한계를 극복하기 위해 5개의 AI 에이전트가 매주 스스로 학습하고 시스템을 개선하는 자가 개선형 건강 플랫폼 아키텍처를 소개합니다. 합성 환자 프로필을 활용해 프로덕션 파이프라인을 테스트하고 지식 격차를 자동으로 식별합니다.
핵심 포인트
- 정적 AI 모델의 한계를 극복하는 멀티 에이전트 아키텍처 설계
- 합성 환자(Synthetic Patients)를 활용한 자동화된 QA 루프 구축
- Claude Sonnet과 Haiku를 조합한 에이전트 간 협업 구조
- 데이터베이스와 이벤트 시스템 기반의 경량화된 에이전트 통신
자가 개선형 건강 플랫폼 구축: 매주 학습하는 5개의 AI 에이전트
대부분의 AI 제품은 정적(static)입니다. 모델을 미세 조정(fine-tune)하고 출시하면, 출시 당일과 똑같은 수준의 지능을 유지합니다. 사용자는 1일 차나 365일 차나 동일한 품질을 경험하게 됩니다.
제 플랫폼은 그렇게 작동하지 않습니다.
매주 수요일 새벽 3시, 5개의 AI 에이전트가 깨어나 서로 대화하며, 제가 코드 한 줄 건드리지 않고도 다음 주의 보고서를 더 똑똑하게 만듭니다.
이것을 가능하게 하는 아키텍처(architecture)를 소개합니다.
정적 AI 제품의 문제점
저는 Longevity AI를 운영하고 있습니다. 이 플랫폼은 28개의 문항으로 구성된 초기 설문을 통해 개인화된 6개월 생활 방식 계획을 생성하는 건강 플랫폼입니다. 10개 이상의 장기 시스템을 교차 참조하고, 400개 이상의 EFSA(유럽식품안전청) 규제 준수 사항을 확인하며, 15분 이내에 임상적 프레임워크가 적용된 보고서를 출력합니다.
핵심 AI는 Claude Sonnet입니다. 매우 강력합니다. 하지만 제가 가르친 것만 알고 있습니다.
문제는 건강 과학이 빠르게 변화한다는 점입니다. 마그네슘과 수면 품질에 관한 새로운 PubMed 논문이 발표되어도 제 플랫폼은 알지 못합니다. 희귀한 약물 조합을 복용하는 환자가 찾아와도 보고서가 상호작용을 놓칠 수 있습니다. 법적 규제 사항이 검토를 피해 교묘히 들어올 수도 있습니다. 사용자가 불만을 제기하기 전까지는 아무도 이를 잡아내지 못합니다.
저에게는 두 가지 선택지가 있었습니다.
- 연구원과 QA 엔지니어 팀을 고용하여 수동으로 시스템을 업데이트한다.
- 이를 자동으로 수행하는 에이전트(agents)를 구축한다.
저는 2번을 선택했습니다. 정확히 어떻게 작동하는지 설명하겠습니다.
멀티 에이전트 아키텍처 (The multi-agent architecture)
5개의 에이전트가 정해진 일정에 따라 실행됩니다. 그중 하나가 전체를 오케스트레이션(orchestrate)합니다.
수요일 03:00 Synthetic Patients Agent (합성 환자 에이전트)
수요일 04:00 Auto-KB Agent (자동 지식 베이스 에이전트)
화요일 03:30 Developer Tools Radar (개발 도구 레이더)
...
이들은 런타임(runtime)을 공유하지 않습니다. 데이터베이스와 경량 이벤트 시스템(event system)을 통해 통신합니다. 복잡한 프레임워크 없이, 그저 reportAgentEvent()와 규칙 테이블(rules table)만 사용합니다.
에이전트 1: Synthetic Patients (합성 환자)
자가 개선 루프의 핵심입니다.
매주 수요일 새벽 3시, 정적 템플릿 라이브러리(5가지 질환 x 2가지 심리적 원형)에서 10개의 합성 환자 프로필(synthetic patient profiles)이 선택됩니다. 이들은 페리틴(ferritin) 수치, 복용 약물 목록, 트라우마 이력, 스트레스 점수 등 실제와 유사한 문진 응답을 가진 가상의 환자들입니다.
각 합성 환자는 실제 사용자와 정확히 동일한 프로덕션 파이프라인(production pipeline)을 거칩니다. 전체 Sonnet 보고서 생성이 이루어지며, 어떠한 지름길도 허용되지 않습니다.
그 후 두 번째 에이전트인 Claude Haiku가 4가지 차원에서 각 보고서를 평가합니다:
| 차원 (Dimension) | 확인 사항 | 격차 임계값 (Gap threshold) |
|---|---|---|
| 프로토콜 깊이 (Protocol depth) | 해당 질환에 대해 기대되는 상관관계가 명시되었는가? | 6/10 미만 |
| ... |
임계값 미만의 점수는 지식 격차 제안(knowledge gap proposals)이 됩니다. 법적 안전성(Legal safety) 점수가 5점 미만일 경우 즉각적인 컴플라이언스 스캔(compliance scan)이 트리거되며, 이는 다른 어떤 작업보다 먼저 동기식(synchronously)으로 수행됩니다.
비용: 주당 약 €0.55. 보고서 생성에는 Sonnet을, 평가에는 Haiku를 사용합니다.
에이전트 2: Auto-KB
스스로 작성되는 지식 베이스 (knowledge base).
에이전트 1에서 생성된 격차 제안에는 질환 유형과 차원 정보가 포함되어 있습니다. 에이전트 2는 이를 PubMed 쿼리로 변환하고, 무료 NCBI API를 통해 초록(abstracts)을 가져온 뒤, 각 초록을 Haiku에 다음의 지시어와 함께 전달합니다:
이 초록에서 [질환]과 직접적으로 관련된 사실적 주장(factual claims)을 3~5개 추출하세요. 주어(subject), 술어(predicate), 목적어(object) 형태의 구조화된 트리플(triples)로 반환하세요.
이 트리플들은 knowledge_triples 테이블에 저장됩니다. 보고서 생성기는 런타임(runtime)에 이 테이블을 읽어옵니다. 재학습(retraining)이나 미세 조정(fine-tuning)은 필요 없습니다. 그저 다음 세대를 위한 더 나은 컨텍스트(context)를 제공할 뿐입니다.
수요일 오후가 되면, 합성 환자들이 제대로 답변하지 못했던 내용들로 지식 베이스가 업데이트됩니다. 그리고 목요일 아침이 되면, 실제 환자들은 더 스마트해진 보고서를 받게 됩니다.
피드백 루프 (feedback loop):
합성 환자가 부실한 보고서를 받음
→ 격차(Gap) 감지
→ PubMed 초록 가져오기
...
에이전트 3: Developer Tools Radar
최신 상태를 유지하는 것 또한 제품 결정(product decision)이기 때문입니다.
매주 화요일 오전 3시 30분, 레이더(radar)는 GitHub Trending과 dev.to를 스캔하여 정적 관련성 필터(static relevance filter)와 일치하는 도구들을 찾아냅니다: playwright, trpc, drizzle, anthropic, health, automation, react, typescript.
Haiku는 각 검색 결과에 대해 1~2문장으로 요약합니다. 이 요약본들은 관리자 UI(admin UI)에 저장됩니다. 월요일 아침이면 저는 이번 주 개발 세계에서 구축된 내용 중 제 스택(stack)과 관련된 내용을 정리한 요약본(digest)을 받습니다.
비용: 월 €0.04.
에이전트 4: 오케스트레이터 (The Orchestrator)
모든 것을 연결하는 규칙 엔진(rule engine).
각 에이전트는 작업을 마칠 때 reportAgentEvent(type, result)를 호출합니다. 오케스트레이터는 다음과 같은 규칙을 적용합니다:
// R1: 법적 플래그(Legal flag) → 즉각적인 컴플라이언스 스캔(compliance scan)
if (type === "synthetic_loop_done" && result.legalFlags > 0) {
await runComplianceDriftScan(); // 동기식(synchronous), 큐에 대기하지 않음
...
규칙 R1이 가장 중요합니다. 만약 합성 환자(synthetic patient)가 5점 미만의 법적 안전 점수를 트리거하면, 컴플라이언스 에이전트(compliance agent)는 다음 주까지 기다리지 않습니다. 즉시 실행됩니다. 또한 오케스트레이터 덕분에 에이전트 자체를 수정하지 않고도 새로운 규칙을 추가할 수 있습니다.
에이전트 5: 주간 요약 (Weekly Digest)
제가 직접 구축할 필요가 없는 운영자 대시보드.
매주 월요일 오전 7시, 다음과 같은 내용이 담긴 HTML 이메일이 제 편지함에 도착합니다:
- 이번 주에 지식 베이스(knowledge base)에 입력된 새로운 사실의 수
- 합성 루프(synthetic loop) 결과: 발견된 공백(gaps), 법적 플래그(legal flags) 발생 여부
- 자동으로 처리된 PubMed 논문 목록
- 레이더(radar)에 포착된 개발 도구 목록
- 이번 주 시스템 비용
저는 대시보드에 로그인하거나 쿼리(query)를 실행하지 않고도 시스템이 무엇을 학습했는지, 무엇을 수정했는지, 그리고 무엇을 플래그(flag)로 표시했는지 정확히 알 수 있습니다.
추가 비용 €0의 심리적 프로파일링 (Psychological profiling)
에이전트 시스템을 구축하면서, 말 그대로 비용이 전혀 들지 않는 기능을 하나 추가했습니다.
모든 초기 접수(intake) 데이터에는 스트레스 수준, 불안, 약물 복용 이력, 트라우마, 그리고 이전 치료 시도에 관한 응답이 포함되어 있습니다. 새로운 질문을 추가하거나 LLM 호출을 하지 않고도, 이러한 기존 필드들로부터 저는 심리적 원형(psychological archetype)을 도출합니다:
| 원형 (Archetype) | 신호 (Signal) | 코칭 지침 (Coaching instruction) |
|---|---|---|
| 압도됨 (Overwhelmed) | 높은 스트레스 + 다수의 전문가 + 좌절 키워드 | 깊은 공감(validation)부터 시작할 것, 사용자의 말을 인용할 것, 아주 작은 단계(tiny steps)만 제시할 것 |
| ... | ... | ... |
이 원형은 리포트 시스템 프롬프트(system prompt)에 단 한 줄의 지침으로 주입됩니다. 그러면 LLM은 톤, 구조, 깊이를 자동으로 조정합니다. 생성 시점에 추가적인 토큰 소모는 전혀 없습니다.
구축 비용
전체 멀티 에이전트 (multi-agent) 시스템은 약 1,200줄의 TypeScript로 구성되어 있습니다. 설계와 구현을 마치는 데 집중적인 한 세션이 소요되었습니다.
주간 운영 비용:
- 합성 루프 (Synthetic loop): 최대 €0.55
- 자동 지식 베이스 (Auto-KB) 파이프라인: 약 €0.01
- 개발자 레이더 (Developer radar): 약 €0.01
- 주간 요약 (Weekly digest): €0 (DB 쿼리 + 이메일 1통)
- 총합: 주당 €0.60 미만
사용자가 발견하기 전에 법적 준수(legal compliance) 문제를 단 하나라도 잡아낸다면, 이 시스템은 스스로 비용을 충당합니다.
다르게 시도했을 부분
Haiku의 점수는 보정(calibration)이 필요합니다. 처음 몇 주 동안은 Haiku의 점수를 제 주관적 판단과 수동으로 비교하며, 필요에 따라 임계값(thresholds)을 조정할 것입니다.
합성 환자 템플릿 (Synthetic patient templates)은 정적입니다. 이들은 학습하지 않습니다. 지식 베이스 (knowledge base)는 학습하지만, 환자 프로필은 고정된 상태로 유지됩니다. 향후 버전에서는 실제 사용자가 제출하는 내용을 바탕으로 엣지 케이스 (edge-case) 프로필을 동적으로 생성할 것입니다.
오케스트레이터 (orchestrator)가 인메모리 (in-memory) 방식입니다. 이벤트가 서버 재시작 시 유지되지 않습니다. 높은 신뢰도가 요구되는 시스템이라면 이벤트 로그를 영속화(persist)하겠지만, 이 정도 규모의 1인 SaaS라면 이대로도 괜찮습니다.
더 중요한 핵심
대부분의 1인 창업자들은
사용 기술: React 18 + tRPC + Drizzle/MySQL + Claude Sonnet/Haiku + Railway
라이브 사이트: longevityai.nl
질문이나 아키텍처에 대한 논의를 원하시나요? info@holistischadviseur.nl
이 기사는 원래 Longevity AI에 게시되었습니다. 전체 맥락, 참고 문헌 및 토론을 확인하려면 원문을 방문하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기