> For the complete documentation index, see [llms.txt](https://docs.onerpa.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onerpa.ru/ai-platforma-oneapa/ustranenie-nepoladok/oshibki-instrumentov.md).

# Ошибки инструментов

Диагностика и устранение проблем с инструментами.

## Типичные ошибки

### Инструмент не вызывается

**Симптом:** Агент отвечает, но не использует инструмент

**Причины и решения:**

| Причина              | Решение                              |
| -------------------- | ------------------------------------ |
| Не добавлен в агента | Добавьте на вкладке "Инструменты"    |
| Не синхронизировано  | Выполните "Обмен с Proxy"            |
| Плохое описание      | Улучшите описание инструмента        |
| LLM не понимает      | Укажите в промпте когда использовать |

### Ошибка выполнения кода

**Симптом:** Инструмент вызывается, но возвращает ошибку

**Диагностика:**

1. Проверьте регистр APA\_ЛогИнструментов
2. Найдите запись с ошибкой
3. Изучите текст ошибки

**Типичные ошибки кода:**

```
Ошибка: "Переменная не определена"
→ Проверьте имена переменных

Ошибка: "Объект не найден"
→ Проверьте существование справочника/документа

Ошибка: "Недостаточно прав"
→ Проверьте права пользователя
```

### Таймаут инструмента

**Причина:** Инструмент выполняется слишком долго

**Решения:**

1. Оптимизируйте код (индексы, ограничения)
2. Увеличьте таймаут в настройках
3. Разбейте на несколько инструментов

### Неверные параметры

**Симптом:** Инструмент получает неверные значения

**Решения:**

1. Проверьте имена параметров (ИмяEn)
2. Улучшите описания параметров
3. Добавьте примеры в описание

## Отладка

### Проверка кода

```bsl
// Выполните код инструмента вручную
Параметры = Новый Структура("employee", "Иванов");

// Код инструмента
ФИО = Параметры.employee;
// ...

Сообщить(Результат);
```

### Логирование в инструменте

```bsl
// Добавьте логирование
ЗаписьЖурнала.Записать("APA_Debug", 
    "Параметры: " + СериализоватьJSON(Параметры));

// Основной код
...

ЗаписьЖурнала.Записать("APA_Debug", 
    "Результат: " + СериализоватьJSON(Результат));
```

### Тестовый вызов

Создайте агента только с одним инструментом и попросите его явно использовать:

```
Используй инструмент "Получить остаток" для сотрудника Иванов
```
