피드로 돌아가기
Dev.toAI/ML
원문 읽기

데이터 슬리밍과 Human-in-the-loop를 통한 LLM 메일 에이전트 최적화
Build a ChatGPT-Style Email Plugin
AI 요약
Context
LLM에 직접적인 메일함 접근 권한을 부여할 때 발생하는 보안 취약점과 토큰 비용 급증 문제를 해결해야 함. 특히 모델이 제어권을 가질 때 발생하는 원치 않는 메일 발송 및 프롬프트 인젝션 공격에 대한 방어 체계가 부재한 상황임.
Technical Solution
- Tool Definition 최적화를 통해 파라미터 수를 3~5개로 제한하여 모델의 추론 신뢰도 향상
- Dispatcher 패턴을 도입하여 모델의 판단과 실제 API 실행 로직을 분리한 샌드박스 구조 설계
- Full Response 대신 4개 핵심 필드만 추출하는 slim() 함수를 통해 컨텍스트 윈도우 낭비 방지
- 'Broad and Cheap' 전략을 적용하여 전체 목록-슬림 요약 후 필요한 개별 메시지만 정밀하게 Fetch 하는 2단계 파이프라인 구축
- send_email 툴에 pending_approval 상태를 도입하여 모든 발송 단계에 Human-in-the-loop 게이트 적용
- API Key를 서버 사이드에 은닉하여 모델 컨텍스트 내 자격 증명 유출 경로 원천 차단
실천 포인트
1. Tool 파라미터 개수를 5개 이하로 유지했는가?
2. LLM 컨텍스트에 API Key나 Raw Header가 노출되지 않는 구조인가?
3. 외부 입력값이 포함된 데이터가 직접적으로 Tool Call을 트리거하지 않는가?
4. 쓰기 권한이 있는 모든 액션에 명시적인 인간 승인 단계가 포함되었는가?
5. 대량 데이터 처리 시 Full Object가 아닌 필요한 필드만 필터링하는 슬리밍 로직이 있는가?