대규모 언어모델(LLM)이 다양한 외부 도구(tool)를 활용하는 방식에 혁신을 가져올 'Sift'라는 새로운 솔루션이 등장했습니다. 기존에는 LLM 에이전트가 수많은 도구 서버에 연결될 때, 모든 도구의 정의(이름, 설명, JSON 스키마)가 매번 모델의 컨텍스트(context)에 로드되어 불필요한 비용을 발생시키고 도구 선택의 정확도를 떨어뜨리는 문제가 있었습니다. Sift는 이러한 비효율을 해결하기 위해 에이전트와 하위 도구 서버 사이에 위치하여, 에이전트에게는 'search_tools'와 'call_tool'이라는 단 두 가지 기능만 노출하는 방식으로 작동합니다.
Sift의 핵심은 '모든 것을 항상 나열하는' 기존 방식 대신, 에이전트가 필요한 도구를 의미론적으로 검색하고 호출하는 역방향 모델을 채택했다는 점입니다. 에이전트는 'search_tools'를 통해 자연어로 원하는 작업을 설명하고, Sift는 모든 통합된 서버에서 관련성 높은 소수의 도구를 찾아 반환합니다. 이후 에이전트는 'call_tool'로 해당 도구를 호출합니다. 이 과정에서 전체 도구 카탈로그는 모델의 컨텍스트에 직접 로드되지 않고, SQLite 데이터베이스에 저장되어 재시작 후에도 빠르게 재로드됩니다. 이는 컨텍스트 비용을 절감할 뿐만 아니라, 도구 선택 시 모델의 혼란을 줄여 오작동을 방지하고, 느리거나 오작동하는 하위 서버가 전체 시스템에 미치는 영향을 최소화합니다.
Sift는 LLM 기반 에이전트의 확장성과 안정성을 크게 향상시킬 수 있는 중요한 진전입니다. 수많은 도구를 효율적으로 관리하고 활용하는 능력은 LLM 애플리케이션의 복잡성을 높이고 실제 세계 문제 해결 능력을 강화하는 데 필수적입니다. 개발자들은 Sift를 통해 컨텍스트 비용에 대한 부담 없이 더 많은 도구를 통합하고, 에이전트의 성능 저하 없이 다양한 기능을 제공할 수 있게 될 것입니다. 이는 LLM 에이전트가 더욱 정교하고 신뢰할 수 있는 자동화 시스템으로 발전하는 데 기여할 것으로 기대됩니다.