> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Пользовательские агенты

> Оберните вашего агента в три блока `with` и он начнет записывать данные.

Для агента, который вы написали сами, или фреймворка, для которого у Failproof AI нет адаптера.

Вы оборачиваете работу, которую уже делаете, в блоки `with`. Каждый из них записывает, когда начался, когда закончился и сколько времени занял — больше ничего вызывать не нужно.

## Установка

```bash theme={null}
pip install failproofai-sdk
```

Без дополнительных модулей и зависимостей.

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

```python theme={null}
import failproofai_sdk

failproofai_sdk.configure(environment="production")

with failproofai_sdk.session():                 # один запуск
    with failproofai_sdk.agent("planner"):      # одна единица работы
        with failproofai_sdk.tool_call("search", input={"q": q}) as t:
            t.output = search(q)                # один вызов инструмента
```

Прочитайте сверху вниз и это скажет, что это означает:

| Оберните в    | Чтобы сказать                                                |
| ------------- | ------------------------------------------------------------ |
| `session()`   | Эти события принадлежат одному запуску                       |
| `agent()`     | Что-то работает — дайте ему имя, которое вы узнаете в списке |
| `tool_call()` | Это один инструмент и вот что он вернул                      |

Вкладывайте их так, как вложены в вашем коде. Вы никогда не передаете идентификаторы: каждый блок помнит, внутри чего он находится, поэтому все, что вы записываете, автоматически получает правильный запуск и правильного агента. `async with` работает точно так же.

## Проверьте прибытие данных

Запустите один раз, затем откройте **Observe → Sessions** и выберите вашу среду. Ваш запуск появится как восстановленная трассировка.

Если ничего не приходит, убедитесь, что машина подключена, с помощью `failproofai config --status`.

<Card title="Полное руководство по пользовательским агентам" icon="arrow-right" href="/ru/start/integrations/custom-agents">
  Каждый метод события, что происходит, когда ваш код выбрасывает исключение, рабочий пример, потоки и async, а также инструментирование фреймворка без адаптера.
</Card>
