피드로 돌아가기
How to Build Deferred Tool Loading for AI Agents in 15 Minutes
Dev.toDev.to
AI/ML

Deferred Tool Loading으로 Tool Definition 토큰 비용 95% 절감

How to Build Deferred Tool Loading for AI Agents in 15 Minutes

Nebula2026년 5월 1일14intermediate

Context

다수의 Tool을 보유한 AI Agent가 매 요청마다 모든 Tool Schema를 프롬프트에 포함하며 발생하는 Token Bloat 현상 분석. 특히 MCP 서버 확장에 따라 수만 개의 토큰이 단순 정의에 소모되어 비용 증가와 컨텍스트 윈도우 낭비를 초래하는 구조적 한계 직면.

Technical Solution

  • Search-Then-Load 패턴 도입을 통한 런타임 Tool 동적 로딩 구조 설계
  • Tool Registry 구축을 통해 전체 저장소와 활성 도구 세트를 분리하여 관리하는 전략 채택
  • 초기 단계에서 단 하나의 search_tools 메타 도구만 노출하여 탐색 비용 최소화
  • 쿼리 기반의 Keyword Matching 스코어링을 통한 적합한 Tool 식별 및 필요한 시점에만 Schema를 주입하는 Deferred Loading 로직 구현
  • 세션 종료 후 active_tools를 초기화하는 Unload 프로세스로 컨텍스트 오염 방지
  • Tool 정의의 경량화를 통해 개별 정의당 토큰 소모를 최적화하는 가이드라인 적용

Impact

  • 40개 Tool 로딩 시 요청당 약 8,000 tokens 소모되던 비용을 Search Tool 하나(약 400 tokens)로 대체하여 획기적 절감
  • 일일 100회 호출 기준 불필요하게 낭비되던 800,000 tokens의 오버헤드 제거

1. Tool 개수가 20개 이상인 경우 전량 로딩 대신 Meta-tool 기반의 검색 구조 검토

2. Tool Definition을 200토큰 내외의 핵심 정보로 경량화하여 컨텍스트 효율 제고

3. 연관된 기능을 그룹 단위로 로딩하여 LLM의 추가 턴 발생 최소화

4. 30개 이상의 방대한 Tool셋 관리 시 단순 키워드 매칭을 Semantic Search(Embeddings)로 전환

5. 요청 세션 완료 후 반드시 로드된 Tool을 언로드하여 메모리 및 토큰 누수 방지

원문 읽기