Лимит вызовов функций

Лимит вызовов функций ограничивает количество последовательных обращений к функциям при формировании одного ответа и защищает агента от зацикливания.

Перейти к блоку «Лимиты»

Лимит вызовов функций — это настройка, которая ограничивает, сколько раз подряд ИИ-агент может вызывать функции при формировании одного ответа. Без этого ограничения агент мог «застрять или зациклиться» в петле вызовов, не завершить ответ — и при этом каждая итерация списывала с пользователя Botcoin. Лимит защищает как от зависания агента, так и от случайного расхода средств.

Где найти настройку

Перейдите в Настройки агента → Лимиты → Лимит вызовов функций.

Ползунок позволяет задать значение от 1 до 30 вызовов за один ответ. Значение по умолчанию: 10.

Для чего нужна эта настройка

Когда ИИ-агент выполняет сложные задачи, он может последовательно вызывать несколько функций:

  • проверить наличие товара

  • потом запросить цену

  • потом оформить заказ

Это нормально. Но иногда из-за ошибки в логике агент может начать вызывать функции по кругу, не приходя к ответу.

Как это работает

  1. Пользователь отправляет сообщение.

  2. ИИ-агент начинает формировать ответ и при необходимости вызывает функции.

  3. Если количество последовательных вызовов функций не превышает лимит — агент завершает ответ в обычном режиме.

  4. Если количество вызовов превышает лимит, агент фиксирует ошибку.

Ошибка лимита вызовов функций

circle-info

Запись об ошибке видна только вам в разделе Диалоги — клиент её не получает

Если агент достиг лимита и всё ещё не завершил ответ — он останавливается. В диалоге появляется запись об ошибке "Достигнут лимит вызовов функций".

Такое «зацикливание» чаще всего появляется при составлении некорректного промпта — если в инструкции агента написано что-то вроде: «Вызови функцию и молчи», агент не получает разрешения завершить ответ и продолжает вызывать функцию по кругу.

Если вам нужно, чтобы после вызова функции агент молчал, то воспользуйтесь специальной опцией в настройках Функции -> Реакция на выполнение функции -> Промолчать. Ссылка на документацию.

Так же на «зацикливание» влияет слабая модель LLM — модели с ограниченными возможностями, например GPT-4o mini, хуже справляются с логикой вызовов функций и чаще уходят в зацикливание. Рекомендуется использовать более мощную модель.

Что делать если произошла ошибка:

  1. Проверьте настройки функций агента — возможно, одна из функций возвращает некорректный результат, который заставляет агента повторять вызов снова и снова.

  2. Проверьте промпт агента: нет ли в инструкции команды, которая провоцирует повторные вызовы одной функции.

  3. Увеличьте лимит вызова функции. Не универсальный шаг, только если это осмысленная цепочка вызовов.

Last updated

Was this helpful?