RSS 봄
팔로우
Spring AI 2.0의 툴 호출: 조합 가능하고 에이전트적인 아키텍처
Spring AI 2.0은 툴 호출을 개편하여 어드바이저 체인 내에서 핵심적이고 조합 가능한 기능으로 만들었습니다. 에이전트는 이제 이 기능을 활용하여 정보를 발견하고 목표를 향해 행동합니다. 툴은 메서드에 @Tool 어노테이션을 사용하여 정의되며, Spring AI는 자동으로 매개변수에 대한 JSON 스키마를 생성합니다. ToolCallingAdvisor는 툴 실행 루프를 오케스트레이션하며, 더 이상 툴 호출이 생성되지 않을 때까지 LLM을 재귀적으로 호출합니다. 메모리 어드바이저를 이 루프 안에 배치하면 전체 툴 요청 및 응답 기록을 유지하여 더 풍부한 컨텍스트를 캡처할 수 있습니다. 그러나 이를 위해서는 InMemoryChatMemoryRepository와 같은 특정 ChatMemoryRepository 구현이 필요합니다. 대규모 툴 세트의 경우 ToolSearchToolCallingAdvisor는 컨텍스트 과부를 피하기 위해 점진적인 툴 공개를 제공합니다. 이 어드바이저는 툴 인덱스를 사용하여 자연어 쿼리에 따라 관련 툴을 점진적으로 노출합니다. 툴 인수 증강을 통해 내부 사고에 유용한 툴 코드 수정 없이 툴 입력 스키마를 동적으로 확장할 수 있습니다. MCP 툴은 원격 및 로컬 툴 정의를 통합하여 애플리케이션이 MCP 서버를 통해 Spring 관리 툴을 소비하거나 노출할 수 있도록 합니다. 로컬 @Tool 어노테이션과 원격 MCP 툴 모두 동일한 ToolCallback 인터페이스를 사용하여 어드바이저 체인에 원활하게 통합됩니다.