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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## Отладка

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

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

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

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

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

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

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

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

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

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onerpa.ru/ai-platforma-oneapa/ustranenie-nepoladok/oshibki-instrumentov.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
