AI 상담 에이전트 · 설계 접근방향

지식 + 능력 + 근거정책의 3층 설계

대상 서비스: 표본수(피험자수) 산출 시스템 sample-size

목적: 화면 우측 하단 "상담원"형 AI 에이전트를 올바른 지식·능력과 함께 보강

문서 성격 · 설계 접근방향 발췌 · 설계검토서 §4 최종 갱신 · 2026-07-01

4.1 설계 원칙

“지식 주입”이 아니라 “지식 + 능력 + 근거정책”의 3층

에이전트가 틀리는 이유는 두 가지다 — ① 아는 게 없어서(지식 부재), ② 알아도 지어내서(근거 이탈). 그래서 지식만 넣으면 안 되고 ① 지식층 + ② 능력층(도구) + ③ 근거정책층을 함께 설계한다. 특히 표본수는 숫자가 틀리면 안 되므로, 계산은 LLM이 아니라 검증된 엔진이 하게 만드는 것이 핵심이다.

③ 근거정책층 (시스템 프롬프트 + 오케스트레이션)
우선순위 · 인용 · 거부 규칙
② 능력층 (Tools) — 실제로 "수행"
list_methods · recommend · calculate · sensitivity · report_pdf · search_kb
① 지식층
A. 시스템 지식 (엔진 자기서술 + 종합문서) — 항상 주입(작음, 고가치)
B. 임상통계 지식 (ICH E9 등) — RAG 검색(큼)

4.2 ① 지식층

두 종류를 다르게 다룬다

지식은 성격이 달라서 조달·주입 방식을 분리해야 한다.

A. 시스템 지식 (표본수 시스템 그 자체) → 항상 주입 + 라이브 introspection

원천무엇주입 방식
GET /api/methods (라이브) 17종 메서드의 design·outcome·frameworks·params(라벨/단위/help)·citations 빌드시 manifest로 캐시 + 도구로도 노출. 코드가 바뀌면 자동 동기화 → "코드구조를 항상 파악" 요구를 하드코딩 없이 충족
종합문서.html §2 분류체계 · §3 방법카탈로그 · §4 보정레이어 · §5 아키텍처 개념 지도(어떤 상황에 어떤 방법, 4프레임워크, 보정) "시스템 지식 카드"(요약 md)로 정제해 상시 컨텍스트에 고정
생존분석 입력방식 설명서 HR/Reference 2-모드 환산 시스템 지식 카드에 포함(위암 핵심 기능)
요점 원본 파이썬 코드를 프롬프트에 붓지 않는다. 에이전트에 필요한 건 (a) 어떤 메서드가 있는가[라이브 manifest], (b) 어떻게 호출하는가[도구], (c) 개념 모델[정제 카드]뿐이다. 코드를 넣으면 토큰만 낭비하고 버전이 어긋난다.

B. 임상통계 지식 (교과서/가이드라인) → RAG(검색증강), 저작권 분리 취급

문서성격처리
ICH E9 (통계 원칙)공개 규제문서전문 청킹 → 임베딩 → 검색
식약처 임상시험 통계 가이드라인공개전문 청킹 → 임베딩 → 검색
CONSORT 2010 (Statement + Checklist)공개전문 청킹 → 임베딩 → 검색
Pocock, Clinical Trials: A Practical Approach저작권전문 임베딩 ❌ → 핵심 원리·언제 쓰나를 자체 요약노트로 재작성 후 인용표기
Chow, Sample Size Calculations in Clinical Research저작권동일. 엔진이 이미 메서드별로 Chow 2017을 인용하므로 그와 정렬
⚠️ 저작권 주의 Pocock·Chow 원문을 통째로 벡터DB에 넣는 것은 배포 서비스에서 위험하다. 공식·판단기준을 패러프레이즈한 지식노트 + 출처(장/페이지) 표기로 대체하는 것이 안전하고 학회 제출물 성격에도 맞다.

4.3 ② 능력층

에이전트가 "말"이 아니라 "수행"하게

핵심 요구("기능을 올바르게 수행할 능력")의 실체. 이미 있는 API를 그대로 도구로 래핑한다.

도구하는 일왜 필요
list_methods()지원 메서드/파라미터 조회시스템 능력을 정확히 파악(할루시네이션 방지)
recommend_method(연구질문)질문 → 메서드키 매핑(분류체계 기반)마법사 모드의 라우팅을 대화로
calculate(method_key, params, adjustments, solve_for)실제 엔진 호출숫자는 반드시 검증엔진에서 — LLM 암산 금지
sensitivity(...)민감도 스윕"가정을 흔들면?" 응대
generate_report_pdf(...)IRB/논문용 PDF산출물까지 마무리
search_knowledge(query)임상통계 KB 검색(RAG)ICH E9 등 근거 인출
핵심 규칙 표본수 숫자를 답할 땐 무조건 calculate를 호출하고, 입력값·가정·달성검정력·엔진 인용을 그대로 인용한다. 파라미터가 빠졌으면 지어내지 말고 되묻는다.

4.4 ③ 근거정책층

우선순위 · 인용 · 거부 (시스템 프롬프트에 고정)

1. 근거 우선순위

  1. 이 시스템의 엔진/문서(= 시스템이 실제 하는 것·숫자)
  2. 임상통계 KB(ICH E9 · 식약처 · CONSORT · Pocock/Chow 노트, = 왜/원칙)
  3. 일반지식은 최후 수단이며 "일반적 통계 상식"임을 명시

2. 그 외 정책