Ошибка в любом AI-инструменте без параметров, например "tags"

РЕДАКТИРОВАНО — Теперь я понимаю, что это происходит и со встроенным инструментом ИИ tags, а не только с моим пользовательским инструментом. Пожалуйста, переходите сразу ко второму моему сообщению.

У меня есть два пользовательских инструмента ИИ: один с параметрами, другой без параметров. Оба успешно проходят тестирование через кнопку «Run Test». Однако, когда бот пытается использовать эти инструменты, первый работает, а второй завершается ошибкой:

Я ознакомился с рекомендациями по устранению неполадок на странице AI bot - Custom tools.

  • Интерфейс тестирования завершается успешно.
  • Моя группа включена в ai_bot_debugging_allowed_groups, но я не знаю, где находятся транскрипты бота.
  • В /logs отображается та же ошибка, что и выше.

Я попробовал добавить фиктивный параметр, результат тот же.

Версия 3.5.0.beta1-dev. Используем Gemini 2.0 Flash.


function invoke(params) {
    const url = `https://example.com/investments/sponsors`;
    let result = http.get(url);
    return result;
}

function details() {
    return "Возвращает спонсоров.";
}

После множества экспериментов я получаю те же ошибки с встроенным инструментом tags, так что проблема не в моём пользовательском инструменте. Все инструменты, которые принимают параметры, работают как ожидалось. Общее между tags и моим пользовательским инструментом то, что ни один из них не принимает параметров.

Мне кажется, бот должен быть довольно умным, чтобы вызывать функцию без параметров. gpt-4o справляется с такими инструментами без проблем. Но flash 1.5, flash 2.0 и haiku всегда терпят неудачу. Sonnet обычно ошибается, но однажды сработало правильно.

Ошибки всегда относятся к одному из следующих вариантов:

или:

Пустая строка не является допустимой JSON-строкой.

У меня сложилось впечатление, что боты не уверены, что передавать функции, не принимающей параметров: null? Пустую строку? Пустой объект? Пустой JSON {}?

Здесь напишу оценку, спасибо, что подняли вопрос!

1 лайк

У меня есть оценка для инструментов без параметров:

И она проходит с:

sam@arch evals % ./run -e no_params_tool
Запуск оценки 'no_params_tool'
GPT-4o: Прошло 🟢
GPT-4o-mini: Прошло 🟢
Claude 3.5 Haiku: Прошло 🟢
Claude 3.5 Sonnet: Прошло 🟢
Gemini 2.0 Flash: Прошло 🟢
Gemini 2.0 pro: Прошло 🟢

Вы тестировали на последней версии?

1 лайк

Я использую версию 3.5.0.beta1-dev. Добавление фиктивного параметра к моему пользовательскому инструменту «исправляет» проблему, поэтому я всё ещё считаю, что есть ошибка при отсутствии параметров.

Где находятся эти логи?

Если вы включите эту опцию, в действиях под сообщением появится значок (i)