>_toolkitbox

~/tools / Tool Definition Checker

Tool Definition Checker — Проверка определений инструментов для OpenAI, Anthropic и Gemini

Проверьте определения инструментов (функций), которые вы отправляете в OpenAI, Anthropic или Gemini, на соответствие формату, описанному в документации каждого API: имена, описания, схемы параметров, режим strict и примеры входных данных. Найдите ошибки до того, как запрос завершится сбоем. Данные не покидают ваш браузер.

Правила сверены с документацией на 2026-10-23.

Документация: OpenAI / Anthropic / Справочник Gemini API

Не проверяется: поддерживает ли модель этот инструмент, подробности strict tool use для Anthropic, инструменты, которые предоставляет сам Anthropic, и правила, о которых в документации не сказано.

Всё выполняется в вашем браузере. Определения не загружаются на сервер.

Использование инструментов (tool use), также называемое вызовом функций (function calling), позволяет модели попросить ваш код выполнить функцию. Каждую функцию вы описываете в определении JSON, а три крупных API ожидают разную форму: OpenAI Chat Completions вкладывает функцию в объект function, OpenAI Responses держит поля на одном уровне, Anthropic использует name и input_schema, а Gemini использует function declarations. Правила для имён тоже различаются. Этот инструмент читает вставленное определение, определяет, для какого API оно написано, и проверяет его по документации этого вендора: имя, описание, схему параметров, режим strict и, для Anthropic, соответствие каждого примера входных данных схеме. Он также указывает, когда имя, подходящее для одного API, будет отклонено другим. Правила сверены с документацией на дату, указанную под инструментом.

Когда пригодится

  • Проверка определения инструмента перед добавлением в запрос, чтобы неверное имя или неправильная форма не привели к сбою вызова
  • Выяснение, почему режим strict отклоняет схему функции
  • Перенос инструмента от одного вендора к другому и проверка того, что нужно изменить

Как пользоваться

  1. Вставьте одно определение инструмента, массив инструментов или тело запроса с массивом tools либо загрузите пример.
  2. Прочитайте, для какого API распознан каждый инструмент, а затем список замечаний. «Исправить» означает, что по документации определение будет отклонено или недопустимо, «Проверить» означает, что на это стоит взглянуть, а «Примечание» — справочная информация.
  3. Исправьте определения и вставьте их снова. Если проблемы связаны с режимом strict, Structured Output Schema Checker показывает каждую из них подробно.

Вопросы

Как инструмент понимает, для какого API написано определение?

По его форме. Определение с input_schema читается как Anthropic. Определение с type function и вложенным объектом function читается как OpenAI Chat Completions, а определение с type function и полями на верхнем уровне читается как OpenAI Responses. Объект с functionDeclarations или с name, description и parameters читается как Gemini. В результате показано, как распознан каждый инструмент.

Каковы правила для имён?

OpenAI документирует буквы, цифры, подчёркивания и дефисы, до 64 символов. Anthropic документирует буквы, цифры, подчёркивания и дефисы, до 128 символов. Gemini документирует буквы, цифры, подчёркивания, двоеточия, точки и дефисы, до 128 символов. Имя, допустимое для одного API, может быть отклонено другим, и инструмент сообщает, когда так происходит.

Почему при strict равном true схема проверяется ещё раз?

OpenAI сообщает, что режим strict требует additionalProperties со значением false в каждом объекте и перечисления каждого свойства в required, а необязательные значения нужно записывать типом, который также допускает null. Схема, нарушающая эти правила, отклоняется. Инструмент считает проблемы и показывает, где находится первая из них.

Что проверяется в input_examples?

Anthropic сообщает, что каждый пример должен соответствовать input_schema инструмента, а недопустимый пример приводит к ошибке 400. Инструмент проверяет каждый пример по схеме и сообщает, какой из них не проходит.

Что не проверяется?

Поддерживает ли конкретная модель этот инструмент, подробности strict tool use для Anthropic, инструменты, которые предоставляет сам Anthropic, и всё, о чём в документации не сказано. Инструмент не обращается ни к какому API, поэтому определение, прошедшее проверку, всё равно может завершиться ошибкой в настоящем запросе.

Отправляется ли моё определение на сервер?

Нет. Проверка выполняется в вашем браузере.

Похожие