동적 도구 선택: 도구 스키마에 빠진 에이전트를 위한 휴대 가능한 패턴
Deep Agents로 에이전트를 구축하면서, 모든 스키마를 매 턴마다 보내는 것이 더 이상 의미가 없을 정도로 툴 레지스트리가 커지는 것을 보면서 이 패턴을 우연히 발견했습니다. 이어지는 내용은 이 패턴 자체이며, 프레임워크에 관계없이 오늘날의 모든 툴 호출 에이전트 루프에 적용될 수 있도록 단순화되었습니다. 이는 합성 61개 툴 레지스트리에 대한 벤치마크로 뒷받침됩니다.문제: 툴 개수는 늘어나지만, 매 턴의 관련성은 그렇지 않다.대부분의 에이전트 프레임워크는 구축 시점에 툴 목록을 한 번 조립하고, 해당 턴이 무엇에 관한 것이든 상관없이 모든 호출에 전체 목록을 모델에 보냅니다. 5-10개의 툴에서는 괜찮습니다. MCP 서버 몇 개(Slack, GitHub, Linear, 캘린더, CRM 등)를 연결하고 각 서버가 3-6개의 스키마를 제공하면, 사용자가 Slack 메시지에 대해 질문했는지 여부와 관계없이 매 턴 40-60개의 툴 정의가 전달됩니다.