
tool-prune: 50개 이상의 도구 스키마를 후보군으로 0.4ms 만에 가지치기 (프루닝) (-92% 프롬프트 토큰, 의존성 없음)
요약
tool-prune은 대규모 도구 스키마가 컨텍스트에 포함될 때 발생하는 어텐션 저하 문제를 해결하는 클라이언트 측 기술입니다. 사용자의 프롬프트와 상호작용하여 50개 이상의 후보 도구 중 가장 적합한 도구를 오프라인으로 빠르게 가지치기(pruning)합니다. 이를 통해 LLM의 토큰 소모를 대폭 줄이고, 지연 시간 없이 결정론적인 디스패치를 가능하게 합니다.
핵심 포인트
- 50개 이상의 스키마는 컨텍스트 내에서 어텐션 성능을 저하시킵니다.
- tool-prune은 LLM 호출 전 클라이언트 측에서 도구 가지치기를 수행합니다.
- FWHT를 이용해 0.4ms 만에 오프라인으로 고속 처리가 가능합니다.
- 프롬프트 토큰 사용량을 최대 -92%까지 감소시킵니다.
로컬 환경에서 7B/8B 모델을 도구와 함께 실행할 때, 컨텍스트 내의 50개 이상의 스키마는 어텐션(attention) 성능을 저하시키고 방해 요소 환각(distractor hallucinations)을 유발합니다. 인밴드 프로그레시브 검색(in-band progressive search, tool_search)을 사용하는 것은 전체 추가 LLM 생성 턴(turn)을 소모하며 (+2초), 작은 모델들은 검색 도구를 호출하는 것을 자주 잊거나 발견 루프에 빠지는 경우가 많습니다. tool-prune은 모델이 호출되기 전에 클라이언트에서 사전 실행됩니다: const topTools = await router.filter(userPrompt); 0개의 추가 LLM 왕복 과정 (round-trips)을 거치며, FWHT를 통해 오프라인으로 0.4ms 만에 처리합니다 (순수 JS 및 Python 사용 시 SIMD로 23µs). 프롬프트 토큰은 -92% 감소하며, <1ms 이내의 결정론적(deterministic) 쿼리를 위한 직접 디스패치 옵션을 제공합니다. 플레이그라운드: https://hemanth.github.io/tool-prune/, GitHub: https://github.com/hemanth/tool-prune
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기