에이전트의 기능을 넓히려고 캘린더, 검색, 사내 API를 계속 연결할 수 있다. 하지만 도구 정의도 컨텍스트와 비용을 사용하며, 비슷한 도구가 많아지면 모델이 알맞은 도구를 고르기 어려워질 수 있다. 도구 수보다 요청에 필요한 도구를 어떻게 골라 보여줄지가 중요하다.
도구 설명도 컨텍스트를 사용한다
모델이 도구를 선택하려면 이름, 설명, 인자 스키마가 컨텍스트에 들어가야 한다. 도구가 많거나 설명이 길면 사용자 요청을 처리하기 전에 소비하는 입력 토큰이 커진다. 긴 도구 결과를 다른 호출에 그대로 전달하면 같은 내용이 여러 번 포함될 수도 있다. 실제 비용은 공급자와 에이전트 구현에 따라 다르므로 요청별 도구 정의 토큰과 중간 결과 크기를 따로 측정해야 한다.
도구가 많아지면 선택 오류가 늘 수 있다
정확도도 확인해야 한다. 비슷한 이름과 설명을 가진 도구가 많아지면 모델이 요청에 맞는 도구를 구분하기 어려워질 수 있다. 긴 목록의 가운데 있는 정보를 덜 활용하는 ‘lost in the middle’ 현상도 도구 선택에 영향을 줄 수 있다. 다만 오류가 늘기 시작하는 도구 수는 모델과 설명 품질, 작업에 따라 다르므로 자체 평가로 확인해야 한다.
요청에 맞는 도구만 불러오는 방법
필요한 순간에 관련 도구만 컨텍스트에 올리면 이 비용을 줄일 수 있다. 대표적인 방식은 세 가지다.
첫째, 도구 검색(tool retrieval). 모든 도구를 항상 펼쳐 두는 대신 현재 요청과 의미가 가까운 후보를 먼저 추린다. 검색 단계의 재현율과 최종 선택 정확도를 함께 재야 필요한 도구를 후보에서 빠뜨리는 문제를 찾을 수 있다.
둘째, 코드 실행. Anthropic이 설명한 방식은 모델이 코드를 통해 도구를 호출하고 필요한 도구 정의만 읽게 한다. 큰 중간 결과는 실행 환경에서 처리하고 필요한 결과만 모델에 돌려줄 수도 있다.
셋째, 계층화. 도구를 범주로 묶어 두고, 에이전트가 먼저 범주를 고른 뒤 그 안의 도구만 펼쳐 본다.
세 방식 모두 요청과 관련된 도구 정의만 모델에 보여준다. 도구 검색에서 후보를 빠뜨릴 위험도 있으므로 토큰 절감과 선택 정확도를 함께 평가해야 한다.
창업자를 위한 결정 규칙
작은 팀에서는 도구를 추가하거나 정리할 때 다음 세 가지를 확인하면 된다.
(1) 도구를 추가하기 전에 모든 요청에 필요한지, 특정 작업에만 필요한지 구분한다. 특정 작업용 도구는 검색이나 라우팅을 거쳐 불러온다.
(2) 도구 선택 정확도와 컨텍스트 사용량을 실제 요청으로 측정한다. 오류가 늘기 시작하면 평평한 목록 대신 검색이나 범주 계층을 넣는다. 특정 개수를 모든 모델과 작업에 같은 기준으로 적용할 필요는 없다.
(3) 겹치거나 거의 사용하지 않는 도구는 목록에서 제거한다. 제거 전후의 선택 정확도와 실제 호출 빈도를 비교해 판단한다.
도구를 추가할 때는 새 기능의 이점과 선택 정확도·지연·토큰 비용의 변화를 함께 봐야 한다. 요청마다 필요한 도구만 보여주는 구조를 쓰면 큰 도구 목록도 더 안정적으로 운영할 수 있다.