RSS Весна
Подписаться
Вызов инструментов в Spring AI 2.0: Компонуемая, Агентная Архитектура
Spring AI 2.0 перерабатывает вызовы инструментов, делая их основной, компонуемой функцией в цепочках советников. Агенты теперь используют эту возможность для поиска информации и действий, направленных на достижение цели. Инструменты определяются с помощью аннотации @Tool над методами, а Spring AI автоматически генерирует JSON-схемы для параметров. ToolCallingAdvisor оркестрирует цикл выполнения инструментов, рекурсивно вызывая LLM до тех пор, пока не будут сгенерированы новые вызовы инструментов. Размещение советников памяти внутри этого цикла позволяет захватывать более богатый контекст, сохраняя полные истории запросов и ответов инструментов. Однако это требует специальных реализаций ChatMemoryRepository, таких как InMemoryChatMemoryRepository. Для больших наборов инструментов ToolSearchToolCallingAdvisor предлагает инкрементальное раскрытие инструментов, чтобы избежать раздувания контекста. Этот советник использует индекс инструментов для постепенного раскрытия релевантных инструментов на основе запросов на естественном языке. Дополнение аргументов инструментов позволяет динамически расширять схемы входных данных инструментов без изменения кода инструментов, что полезно для внутреннего мышления. Инструменты MCP объединяют удаленные и локальные определения инструментов, позволяя приложениям потреблять или предоставлять управляемые Spring инструменты через серверы MCP. Как локальные аннотации @Tool, так и удаленные инструменты MCP используют один и тот же интерфейс ToolCallback, бесшовно интегрируя их в цепочку советников.