검색에서 Top-K를 과하게 키우면 Recall은 늘지만 Relevance가 희석돼 모델이 자유분방해지는 문제가 발생
이 경우, Top-K를 보수적으로 낮추고 confidence 임계값(semantic score/ rerank score/ answerability)을 높여 저신뢰 응답을 과감히 '무응답' 처리
단, 이 방식은 Recall 손실이 있으므로, 초기 후보군은 충분히 확보한 뒤 Cross-Encoder 기반 리랭킹과 MMR을 붙여 precision을 회복하고 중복을 줄임
운영 단계에서는 Recall@50/100, NDCG@10, Answerable@K, EM/F1로 튜닝하며, p95 지연 예산 안에서 K/임계값/리랭커 크기를 조정
결과적으로 K값은 낮추고 임계값을 높여 안전한 베이스라인을 확보하고, 리랭킹으로 품질 및 재현율 균형을 맞추는 전략을 취함
타 업체의 시스템 프롬프틀 보기 위한 여러 요청에 대한 방어로 LLM 거부 지시만으로는 불충분하고, 아키텍처 차원의 다층 방어가 필요
1. 프롬프트 최소화 및 분리 : 민감 규칙은 프롬프트에 넣지 않고 서버 사이드 정책/ 코드로 관리, LLM에는 필요한 신호만 전달
2. 툴 우선 설계 : 키/엔드포인트/비공개 규칙은 툴 호출로만 접근하게 하고 원본은 절대 컨텍스트에 주입하지 않음
3. 출력 단계 필터 : 정규식(sk-, AKIA, -----BEGIN) + LLM 안전 심사기로 유출 패턴을 차단하고 케나리 토큰(카나리아 토큰)으로 외부 노출을 탐지하여 버전 로테이션을 자동화
4. 정책 일관 응답 : 노출 요청에는 표준 거부 문구 + 공개 가능 대안만 제공하여 소셜 엔지니어링 공격 면역을 높임
즉, 프롬프트 지시(소프트) + 서버 정책 및 필터(하드)의 조합으로 유출 위험을 구조적으로 낮춤
정형데이터는 단순 텍스트화만으로는 집계/조건 질의에 한계가 있어 하이브리드 라우팅을 사용
문서성 질문은 벡터/BM25로 검색하고, 숫자/집계성 질문은 Text-to-SQL 툴을 통해 READ-ONLY DB에서 직접 조회(스키마 힌트, 안전 그램마, LIMIT, 타임아웃)
동시에 엔티티 키(상품ID, 고객ID) 를 메타데이터로 통일해 정형 결과와 비정형 설명을 키 기반으로 결합하면 최신 수치 + 배경 설명을 한 번에 제공할 수 있음
운영 지표는 SQL Exec-Acc, Numeric/Cell F1, 최종 답변 정확도로 보고, 단위/타임존(KRW, Asia/Seoul) 표준화를 강제해 해석 오류를 방지
즉, 속성은 인덱싱, 집계는 DB, 라우팅으로 자동 선택
사용자의 입력을 받아 Intent와 task를 해석
단일 에이전트는 모든 작업을 스스로 해결하려 하기 때문에 비효율적
멀티 에이전트는 LLM이 상위 수준의 의미만 추출하고 downstream에 넘김
Router는 해석된 의도를 기반으로 특정 도메인 에이전트에게 요청을 분배
모델 효율화의 핵심으로 각각의 태스크를 각 도메인의 전문 에이전트가 처리할 수 있게 해
모듈화/전문화를 가능하게 함
여러 에이전트가 동시에 동작할 때 작업 순서를 조율하고 병렬 실행 결과를 통합
LangGraph 같은 프레임워크에서는 워크플로 제약(step 제한 등)을 통해 무한 루프를 방지
Shared Memory를 사용해서 중복 질의를 줄임
단순한 aggregator가 아닌 core intelligence
Hierarchical Planning
Blackboard Architecture
GraphRAG
ReAct
AutoGen
...
ADK에서 분기 처리란, 사용자 입력을 Intent 단위로 분류한 뒤
그 결과에 따라 어떤 툴이나 에이전트를 실행할지 자동으로 라우팅하는 과정으로
단순 LLM 호출기가 아니라 입력-> 분류-> 분기-> 실행의 흐름을 코드 레벨에서 지원하는 툴킷
LLM 이 사용자의 의도를 인식
ADK Router가 해당 의도를 매핑된 에이전트나 툴로 연결
선택된 에이전트가 작업을 실행하고, Orchestrator가 필요 시에 여러 결과를 합쳐 사용자에게 반환함
Funciton Calling 은 LLM 이 단순히 텍스트만 생성하는 것이 아니라 외부 함수(API, DB 질의, 툴 실행)를 직접 호출할 수 있도록 연결하는 메커니즘
즉, LLM이 자연어 입력-> 함수 호출 형식(JSON등)-> 실행 결과 -> 다시 컨텍스트로 반영을 하는 파이프라인을 의미
멀티에이전트에서는 LLM 이 의도를 파악하고
Router/ADK가 적절한 함수/에이전트 호출을 실행하며
Orchestrator가 여러 호출 결과를 합쳐 최종 답변을 만드는 기초 기술로
멀티에이전트의 분기 처리와 오케스트레이션을 가능하게 하는 기본 인터페이스