Проблема стандартизации инструментов LLM
Исследователи обсуждают сложности реализации инструментов (tools) для различных фреймворков. Попытки стандартизации через спецификации вроде Standard Schema призваны упростить интеграцию функций в модели.
Статья на Хабре разбирает, почему инструменты (tools) для LLM приходится описывать заново под каждый фреймворк. Один и тот же набор функций переписывают то через tool() из AI SDK, то через registerTool в MCP SDK, то через defineTool в Genkit — меняется только обёртка, а функция остаётся прежней. Автор предлагает хранить инструмент обычным объектом с именем, описанием, схемами входа и выхода и функцией execute, а совместимость с фреймворками обеспечивать небольшим адаптером. Ключевая часть — схемы, и здесь уже есть стандарты: Standard Schema описывает валидацию, Standard JSON Schema добавляет конвертер в JSON Schema с выбором диалекта, потому что OpenAI, Anthropic и MCP ждут draft 2020-12, а Gemini принимает формат OpenAPI 3.0. Интерфейс StandardToolV0 пока остаётся только предложением. Такой объект полезен не только модели: его можно вызвать из теста, показать в документации или экспортировать из библиотеки.