Мастерство AI-агентов

Действия

Оригинал

FREE

Скачивание исходного PDF файла.

Перевод

FREE

Генерация Word документа с русским текстом.

Mindmap

FREE

Визуализация структуры отчета в виде графа.

AI Q&A

FREE

Чат с содержимым отчета. Задайте любой вопрос.

ОтчетыGalileo
дек. 2025 г.

Мастерство AI-агентов

Отчет исследует концепцию AI-агентов, их отличие от систем RAG, различные типы агентов (от фиксированной автоматизации до самообучающихся), сценарии использования и неиспользования, а также фреймворки для их разработки, включая LangGraph, AutoGen и CrewAI. Подробно рассматриваются методы оценки производительности и распространенные причины неудач AI-агентов, подкрепленные реальными примерами.

Предисловие

В нашей предыдущей электронной книге «Освоение RAG» наша цель была ясна: создание RAG-систем корпоративного уровня, их внедрение в производство, мониторинг их производительности и улучшение. В основе этого мы поняли, как RAG-системы расширяют возможности больших языковых моделей (LLM) для работы со специфическими знаниями, предоставляя релевантный контекст.

В этой электронной книге мы идем дальше и задаем вопрос: «Как мы используем LLM для выполнения сквозных задач?» Этот единственный вопрос открывает дверь к AI-агентам. Система RAG помогает LLM предоставлять точные ответы на основе заданного контекста. AI-агент берет этот ответ и фактически что-то с ним делает — принимает решения, выполняет задачи или координирует множество шагов для достижения цели. LLM, дополненная RAG, могла бы помочь ответить на вопросы о деталях политики, извлекая релевантную информацию. Но AI-агент мог бы фактически обработать претензию от начала до конца, анализируя документацию, проверяя соответствие политике, рассчитывая платежи и даже координируя действия с другими системами или агентами при необходимости.

Идеи, лежащие в основе агентов, существуют уже много лет. Это может быть программное обеспечение или другая вычислительная сущность, которая может принимать ввод из своей среды и предпринимать действия на основе правил. С AI-агентами вы получаете то, чего раньше никогда не было: способность понимать контекст без заранее определенных правил, способность корректировать решения на основе контекста и учиться на каждом взаимодействии. То, что вы получаете, — это не просто бот, работающий с фиксированным набором правил, а система, способная принимать сложные решения в реальном времени. Компании быстро адаптировали, внедрили и интегрировали AI-агентов в свои рабочие процессы. Исследование Capgemini показало, что «10% организаций уже используют AI-агентов, более половины планируют использовать их в 2025 году, а 82% планируют интегрировать их в течение следующих трех лет».

Эта электронная книга призвана стать вашим незаменимым руководством по всем вопросам, касающимся AI-агентов. Если вы руководитель, стремящийся направить свою компанию на создание успешных агентских приложений, эта электронная книга может послужить отличным руководством для начала. Мы также исследуем подходы к измерению эффективности ваших AI-агентов, а также распространенные ловушки, с которыми вы можете столкнуться при их проектировании, измерении и улучшении.

Книга разделена на пять глав:

ГлаваОписание
Глава 1Знакомит с AI-агентами, их оптимальными приложениями и сценариями, где они могут быть избыточными. Она охватывает различные типы агентов и включает три реальных примера использования для иллюстрации их потенциала.
Глава 2Подробно описывает три фреймворка — LangGraph, Autogen и CrewAI — с критериями оценки, чтобы помочь выбрать наиболее подходящий. Завершается примерами компаний, использующих эти фреймворки для конкретных AI-задач.
Глава 3Исследует оценку AI-агента на пошаговом примере агента для финансовых исследований.
Глава 4Исследует, как измерять производительность агента в различных системах, по выполнению задач, контролю качества и взаимодействию с инструментами, что подкреплено пятью подробными примерами использования.
Глава 5Рассматривает, почему многие AI-агенты терпят неудачу, и предлагает практические решения для успешного развертывания AI.

Мы надеемся, что эта книга станет отличным шагом на вашем пути к созданию надежных агентских систем.

– Pratik Bhavsar

Содержание

РазделСтраница
Глава 1: Что такое AI-агенты7
Типы AI-агентов10
Когда использовать агентов?21
Когда не использовать агентов?22
10 вопросов, которые следует задать, прежде чем рассматривать AI-агента23
3 интересных реальных примера использования AI-агентов25
Глава 2: Фреймворки для создания агентов27–43
LangGraph против AutoGen против CrewAI28
Практические соображения30
Какие инструменты и функциональность они поддерживают?31
Насколько хорошо они поддерживают контекст?31
Хорошо ли они организованы и легко ли их интерпретировать?32
Каково качество документации?33
Поддерживают ли они мульти-агентов?34
Что насчет кэширования?34
Просмотр функциональности воспроизведения35
Что насчет выполнения кода?35
Поддержка человека в цикле?35
Популярные варианты использования, сосредоточенные вокруг этих фреймворков37
РазделСтраница
------
Глава 3: Как оценивать агентов44–61
Требования44
Определение проблемы44
Определение ReAct-агента45
Управление состоянием46
Создание графа47
Создание LLM-судьи54
Использование обратных вызовов Galileo55
Глава 4: Метрики для оценки AI-агентов62–79
Пример использования 1: Усовершенствование агента по обработке претензий63
Пример использования 2: Оптимизация агента для налогового аудита66
Пример использования 3: Повышение уровня агента для анализа акций69
Пример использования 4: Обновление агента для кодирования72
Пример использования 5: Улучшение агента для скоринга лидов75
РазделСтраница
------
Глава 5: Почему большинство AI-агентов терпят неудачу и как это исправить80–95
Проблемы разработки81
Проблемы LLM82
Проблемы производства86
  • Глава 01: Что такое AI-агенты

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

AI-агенты — это программные приложения, использующие большие языковые модели (LLM) для автономного выполнения специфических задач, от ответов на исследовательские вопросы до обработки бэкенд-сервисов. Они невероятно полезны для задач, требующих сложного принятия решений, автономии и адаптивности. Вы можете найти их особенно полезными в динамичных средах, где рабочий процесс включает в себя несколько шагов или взаимодействий, которые могли бы выиграть от автоматизации.

Salesforce оценивает, что торговые представители тратят 71% своего времени на неторговые задачи (например, административные задачи и ручной ввод данных). Представьте, сколько времени могло бы быть потрачено на непосредственное взаимодействие с клиентами, развитие более глубоких отношений и, в конечном итоге, заключение большего числа сделок. Это верно для многих областей и приложений: финансы, здравоохранение, технологии, маркетинг, продажи и многое другое.

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

  1. Взаимодействие с клиентом Клиент отправляет сообщение вашей службе с вопросом: «Когда мой заказ будет отправлен?» 2. Извлечение данных AI-агент получает доступ к системе управления заказами, чтобы найти конкретные детали заказа.
  2. Генерация ответа На основе извлеченных данных агент автоматически предоставляет клиенту обновление, например, отправляя: «Ваш заказ будет отправлен завтра, и вы получите ссылку для отслеживания по электронной почте, как только он будет в пути».

Преимущества наличия AI-агента многообразны:

  • Сверхбыстрое время ответа, которое радует ваших клиентов.
  • Освобождает ваш человеческий персонал для обработки более сложных запросов и проблем.
  • Улучшает вашу общую производительность и эффективность.

На рисунке 1.1 показан пример того, как агенты используются для генерации кода.


Написать Написать Сигнатура извлечения Запустить тест Запустить тест Результат содержания Успех Разговор AI-агент Среда оценки Пользователь ``` Рисунок 1.1: Автоматизированная разработка с использованием AI-агентов

### Типы AI-агентов

Теперь, когда мы знакомы с тем, что такое AI-агенты, давайте рассмотрим различные типы AI-агентов, а также их характеристики, примеры и случаи использования.

В Таблице 1.1 ниже представлен краткий обзор типов AI-агентов, а также где и когда их можно использовать.

| Название агента | Ключевые характеристики | Примеры | Лучше всего подходит для |
|---|---|---|---|
| **Фиксированная автоматизация:** Цифровая сборочная линия | Отсутствие интеллекта, предсказуемое поведение, ограниченный объем | RPA, автоответчики электронной почты, базовые скрипты | Повторяющиеся задачи, структурированные данные, отсутствие необходимости в адаптивности |
| **LLM-улучшенные:** Умнее, но не Эйнштейн | Контекстно-ориентированные, ограниченные правилами, без сохранения состояния | Фильтры электронной почты, модерация контента, маршрутизация заявок в службу поддержки | Гибкие задачи, большой объем/низкие ставки, сценарии, чувствительные к затратам |
| **ReAct:** Мышление встречает действие | Многошаговые рабочие процессы, динамическое планирование, базовое решение проблем | Планировщики поездок, AI-мастера подземелий, инструменты планирования проектов | Стратегическое планирование, многоэтапные запросы, динамические корректировки |
| **ReAct + RAG:** Обоснованный интеллект | Доступ к внешним знаниям, низкий уровень галлюцинаций, данные в реальном времени | Инструменты для юридических исследований, медицинские помощники, техническая поддержка | Важные решения, предметно-ориентированные задачи, потребности в знаниях в реальном времени |
| **Инструментально-улучшенные:** Многозадачники | Интеграция нескольких инструментов, динамическое выполнение, высокая степень автоматизации | Инструменты генерации кода, боты для анализа данных | Сложные рабочие процессы, требующие нескольких инструментов и API |
| **Саморефлексирующие:** Философы | Метапознание, объясняемость, самосовершенствование | Самооценивающиеся системы, QA-агенты | Задачи, требующие подотчетности и совершенствования |
| **Память-улучшенные:** Персонализированные силовые установки | Долгосрочная память, персонализация, адаптивное обучение | AI для управления проектами, персонализированные помощники | Индивидуальный опыт, долгосрочные взаимодействия |
| **Контроллеры среды:** Формирователи мира | Активное управление средой, автономная работа, обратная связь | AutoGPT, адаптивная робототехника, умные города | Управление системами, интеграция IoT, автономные операции |
| **Самообучающиеся:** Эволюционеры | Автономное обучение, адаптивное/масштабируемое, эволюционное поведение | Нейронные сети, роевой интеллект, модели финансового прогнозирования | Передовые исследования, автономные обучающиеся системы |

### Фиксированная автоматизация – Цифровая сборочная линия

Этот уровень AI-агентов представляет собой простейшую и наиболее жесткую форму автоматизации. Эти агенты не адаптируются и не мыслят — они просто выполняют заранее запрограммированные инструкции. Они подобны работникам сборочной линии на цифровой фабрике: эффективные, но негибкие. Отлично подходят для повторяющихся задач, но если им подбросить что-то неожиданное, они зависнут быстрее, чем Internet Explorer.

(См. Таблицу 1.2 ниже)

Рабочий процесс фиксированной автоматизации (см. Рисунок 1.2) следует простому, линейному пути. Он начинается, когда определенный ввод (например, файл или данные) запускает систему, которая обращается к своему заранее определенному своду правил, чтобы определить, что делать. На основе этих правил она выполняет требуемое действие и, наконец, отправляет результат или вывод. Представьте это как цифровую сборочную линию, где каждый шаг должен быть выполнен в точном порядке, без отклонений.

| Характеристика | Описание |
|---|---|
| Интеллект | Отсутствие обучения, адаптации или памяти. |
| Поведение | Предсказуемо и последовательно, следует заранее определенным правилам. |
| Область применения | Ограничено повторяющимися, четко определенными задачами. Затрудняется при неожиданных сценариях. |
| Лучшие варианты использования | Рутинные задачи, структурированные данные, ситуации с минимальной потребностью в адаптивности. |
| Примеры | RPA для обработки счетов, автоответчики электронной почты, базовые скриптовые инструменты (Bash, PowerShell). |

Таблица 1.2: Характеристики агента фиксированной автоматизации

``` Агент фиксированной автоматизации Ввод → Запуск → Выполнение действия → Отправка вывода/результата ``` Рисунок 1.2: Рабочий процесс агента фиксированной автоматизации

### LLM-улучшенные – Умнее, но не совсем Эйнштейн

Эти агенты используют LLM для обеспечения контекстного понимания и обработки неоднозначных задач, работая при этом в строгих границах. LLM-улучшенные агенты сочетают интеллект и простоту, что делает их высокоэффективными для задач низкой сложности и большого объема. Взгляните на их характеристики ниже в Таблице 1.3.

Рабочий процесс ниже (Рисунок 1.3) показывает, как эти более умные агенты обрабатывают информацию: начиная с ввода, агент использует возможности LLM для анализа и понимания контекста ввода. Затем этот анализ проходит через основанные на правилах ограничения, которые удерживают агента в определенных рамках, создавая соответствующий вывод. Это похоже на умного помощника, который понимает контекст, но все же следует политике компании, прежде чем принимать решения.

| Характеристика | Описание |
|---|---|
| Интеллект | Контекстно-ориентированный; использует LLM для обработки неоднозначных входных данных с контекстным мышлением. |
| Поведение | Ограничен правилами; решения проверяются на соответствие заранее определенным правилам или пороговым значениям. |
| Область применения | Без сохранения состояния; нет долгосрочной памяти; каждая задача обрабатывается независимо. |
| Лучшие варианты использования | Задачи, требующие гибкости с неоднозначными входными данными, сценарии с большим объемом/низкими ставками и ситуации, чувствительные к затратам, где «достаточно хорошо» — это приемлемо. |
| Примеры | Фильтры электронной почты, AI-улучшенная модерация контента, классификация запросов в службу поддержки. |

Таблица 1.3: Характеристики LLM-улучшенного агента

``` LLM-улучшенный агент Входные данные → LLM (контекстный анализ) → Ограничение на основе правил → Вывод/Действие ``` Рисунок 1.3: Рабочий процесс LLM-улучшенного агента

### ReAct – Мышление встречает действие

ReAct-агенты сочетают Мышление (Reasoning) и Действие (Action) для выполнения задач, которые включают стратегическое мышление и многошаговое принятие решений. Они разбивают сложные задачи на управляемые шаги, динамически обдумывая проблемы и действуя на основе своего анализа. Эти агенты похожи на вашего друга-перфекциониста, который планирует свои выходные до минуты. В Таблице 1.4 перечислены их характеристики.

Рабочий процесс ReAct начинается с Входного запроса, а затем переходит в динамический цикл между Фазой мышления и Фазой действия, как вы увидите на Рисунке 1.4. В отличие от более простых агентов, он может многократно циклически переключаться между мышлением и действием, пока не будет достигнут желаемый результат, прежде чем произвести окончательный Вывод/Действие. Представьте это как решателя проблем, который постоянно корректирует свой подход — анализируя, пробуя что-то, проверяя, сработало ли это, и снова пробуя, если необходимо.

| Характеристика | Описание |
|---|---|
| Интеллект | Мышление и действие; имитирует человеческое решение проблем, обдумывая проблему и выполняя следующий шаг. |
| Поведение | Обрабатывает многошаговые рабочие процессы, разбивая их на более мелкие, выполнимые части. Динамически корректирует стратегию на основе новых данных. |
| Область применения | Помогает в базовом решении открытых проблем, даже без прямого пути к решению. |
| Лучшие варианты использования | Стратегическое планирование, многоэтапные запросы, задачи, требующие динамических корректировок и пересмотра стратегии. |
| Примеры | Языковые агенты, решающие многошаговые запросы, AI-мастера подземелий, инструменты планирования проектов. |

Таблица 1.4: Характеристики агента ReAct

``` Агент фиксированной автоматизации Входной запрос → Фаза действия → Мышление (повторять до достижения желаемого результата) → Вывод/Действие ``` Рисунок 1.4: Рабочий процесс ReAct-агента

### ReAct + RAG – Обоснованный интеллект

Теперь, переходя к агентам, которые намного умнее, мы приходим к агентам ReAct + RAG, которые сочетают мышление, действие и доступ в реальном времени к внешним источникам знаний. Эта интеграция позволяет им принимать обоснованные решения, основанные на точных, предметно-ориентированных данных, что делает их идеальными для задач с высокими ставками или критической точностью (особенно при добавлении оценок). Эти агенты — ваши идеальные мастера викторин с Google на быстром наборе. В Таблице 1.5 узнайте, как работает этот агент.

Начиная с Входного запроса, этот продвинутый рабочий процесс сочетает цикл мышления-действия ReAct с дополнительным шагом Извлечения знаний. Агент циклически переключается между Мышлением, Фазой действия и Извлечением знаний (см. Рисунок 1.5) — при необходимости обращаясь к внешним источникам — пока не достигнет желаемого результата и не выдаст Вывод/Действие. Это похоже на решателя проблем, который не только думает и действует, но и проверяет факты по надежным источникам по ходу дела.

| Характеристика | Описание |
|---|---|
| Интеллект | Использует рабочий процесс RAG, сочетая LLM с внешними источниками знаний (базами данных, API, документацией) для усиления контекста и точности. |
| Поведение | Использует мышление в стиле ReAct для разбиения задач, динамически извлекая информацию по мере необходимости. Основывается на знаниях в реальном времени или предметно-ориентированных знаниях. |
| Область применения | Предназначен для сценариев, требующих высокой точности и релевантности, минимизируя галлюцинации. |
| Лучшие варианты использования | Принятие решений с высокими ставками, предметно-ориентированные приложения, задачи с динамическими потребностями в знаниях (например, обновления в реальном времени). |
| Примеры | Инструменты для юридических исследований, медицинские помощники, ссылающиеся на клинические исследования, агенты технической поддержки. |

Таблица 1.5: Характеристики агента ReAct + RAG

``` Агент ReAct + RAG Входной запрос → Извлечение знаний → Фаза действия → Мышление (повторять до достижения желаемого результата) → Вывод/Действие ``` Рисунок 1.5: Рабочий процесс агента ReAct + RAG

### Инструментально-улучшенные – Многозадачники

Инструментально-улучшенные агенты — это универсальные решатели проблем, которые интегрируют несколько инструментов, используя API, базы данных и программное обеспечение для обработки сложных, многодоменных рабочих процессов. Они сочетают мышление, извлечение и выполнение для бесперебойного, динамичного выполнения задач. Представьте их как технически подкованные швейцарские армейские ножи, способные бесшовно сочетать мышление, извлечение и выполнение! (См. Таблицу 1.6) Начиная с Входного запроса, агент сочетает мышление со специализированным циклом инструментов. После начальной фазы мышления он выбирает соответствующий инструмент для задачи (Выбор инструмента), а затем выполняет его (Выполнение инструмента). Этот цикл повторяется до достижения желаемого результата, что приводит к окончательному Выводу/Действию. (См. Рисунок 1.6)

| Характеристика | Описание |
|---|---|
| Интеллект | Использует API, базы данных и программные инструменты для выполнения задач, действуя как интегратор нескольких инструментов. |
| Поведение | Обрабатывает многошаговые рабочие процессы, динамически переключаясь между инструментами в зависимости от требований задачи. |
| Область применения | Автоматизирует повторяющиеся или многоэтапные процессы путем интеграции и использования различных инструментов. |
| Лучшие варианты использования | Задачи, требующие одновременного использования различных инструментов и API для сложной или многоэтапной автоматизации. |
| Примеры | Инструменты генерации кода (GitHub CoPilot, Cody от Sourcegraph, Warp Terminal), боты для анализа данных, сочетающие несколько API. |

Таблица 1.6: Характеристики инструментально-улучшенных агентов

``` Инструментально-улучшенный агент Входной запрос → Мышление (повторять до достижения желаемого результата) → Выбор инструмента → Выполнение инструмента → Вывод/Действие ``` Рисунок 1.6: Рабочий процесс инструментально-улучшенных агентов

### Саморефлексирующие – Философы

Эти агенты думают о своем мышлении. Саморефлексирующие агенты вводят метапознание — они анализируют свои рассуждения, оценивают свои решения и учатся на ошибках. Это позволяет им решать задачи, объяснять свои рассуждения и совершенствоваться со временем, обеспечивая большую надежность и подотчетность. (См. Таблицу 1.7)

Начиная с Входного запроса, агент проходит цикл Мышления и Выполнения, но с решающим дополнительным шагом: Рефлексия. После каждого выполнения он рефлексирует над своей производительностью и возвращает эти инсайты в процесс мышления. Этот непрерывный цикл мышления, действия и обучения продолжается до достижения желаемого результата, производя окончательный Вывод/Действие. Это видно на Рисунке 1.7.

| Характеристика | Описание |
|---|---|
| Интеллект | Проявляет метапознание, оценивая собственные мыслительные процессы и результаты решений. |
| Поведение | Предоставляет объяснения действий, обеспечивая прозрачность своих рассуждений. Учится на ошибках и со временем улучшает производительность. |
| Область применения | Подходит для задач, требующих подотчетности и постоянного совершенствования. |
| Лучшие варианты использования | Контроль качества, принятие важных решений, где объяснимость и самосовершенствование имеют решающее значение. |
| Примеры | AI, который объясняет свои рассуждения, самооценивающиеся обучающие системы, агенты контроля качества (QA). |

Таблица 1.7: Характеристики саморефлексирующих агентов

``` Саморефлексирующий агент Входной запрос → Мышление → Выполнение → Рефлексия → Цикл обратной связи (при достижении желаемого результата) → Вывод/Действие ``` Рисунок 1.7: Рабочий процесс саморефлексирующих агентов

### Память-улучшенные – Персонализированные силовые установки

Добавьте агенту немного памяти, и вы получите идеального личного помощника. Агенты с улучшенной памятью выводят персонализацию на первый план, сохраняя исторический контекст и запоминая предпочтения пользователя, предыдущие взаимодействия и историю задач. Они действуют как адаптивные личные помощники, предоставляя индивидуальный опыт и непрерывную контекстно-зависимую поддержку. Эти агенты помнят ваши п

Исполнитель: McKinsey

### Память-улучшенные агенты: Индивидуальные центры силы

ссылки, отслеживать вашу историю и — теоретически — никогда (совсем никогда) не забывать ваш заказ кофе! (См. Таблицу 1.8).

Взгляните на Рис. 1.8: Начиная с входного запроса (Input Query), этот агент сначала вспоминает соответствующие прошлые опыты и предпочтения (Memory Recall), затем использует этот контекст для рассуждений о текущей задаче (Reasoning Phase). После принятия решения о курсе действий он выполняет его (Action/Execution), обновляет свою память новой информацией (Memory Update) и формирует вывод (Output).

### Таблица 1.8: Характеристики агентов с улучшенной памятью

| Характеристика | Описание |
| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Интеллект** | Обладает долговременной памятью, хранит и вспоминает прошлые взаимодействия, предпочтения и ход выполнения задач. |
| **Поведение** | Обеспечивает персонализацию с учетом контекста, адаптируя решения и действия на основе пользовательских данных и истории. Обучается и совершенствуется со временем. |
| **Область применения** | Отлично справляется с задачами, требующими индивидуального опыта, персонализированных рекомендаций и поддержания последовательности в рамках нескольких взаимодействий. |
| **Лучшие сценарии использования** | Персонализированная помощь, долгосрочные взаимодействия, задачи, охватывающие несколько сессий. |
| **Примеры** | ИИ для управления проектами с историей задач, чат-боты для обслуживания клиентов, отслеживающие взаимодействия, персонализированные помощники по покупкам. |

Рис. 1.8: Рабочий процесс агентов с улучшенной памятью *   Входной запрос (Input Query) *   Вспоминание памяти (Memory Recall) *   Фаза рассуждений (Reasoning Phase) *   Действие/Выполнение (Action/Execution) *   Обновление памяти (Memory Update) *   Вывод (Output) *   Обновления долговременной памяти (Updates Long-term Memory)

### Агенты, управляющие средой: Формирователи мира

Агенты, управляющие средой, выходят за рамки принятия решений и взаимодействия — они активно манипулируют средами и контролируют их в реальном времени. Эти агенты оснащены для выполнения задач, которые влияют на цифровую среду или физический мир, что делает их идеальными для применения в автоматизации, робототехнике и адаптивных системах. Подумайте о «умных» термостатах, но на стероидах! (См. Таблицу 1.9).

Внимательно изучите рабочий процесс на Рис. 1.9. Начиная с входного запроса (Input Query), агент сначала наблюдает за своим окружением (Perception Phase), рассуждает о текущем состоянии и требуемых изменениях (Reasoning Phase), предпринимает действия для изменения среды (Action Phase), а затем получает обратную связь об изменениях (Feedback Phase). Этот цикл повторяется до тех пор, пока не будет достигнута желаемая цель, производя как вывод (Output), так и измененное состояние системы.

### Таблица 1.9: Характеристики агентов, управляющих средой

| Характеристика | Описание |
| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Интеллект** | Автономное обучение; совершенствует модели и процессы на основе обратной связи, данных или изменений среды без ручных обновлений. |
| **Поведение** | Адаптивное и масштабируемое, подстраивается под изменяющиеся условия и новые задачи. Проявляет эволюционное поведение, улучшая производительность со временем. |
| **Область применения** | Подходит для передовых исследований и систем автономного обучения, предлагая высокий потенциал, но требуя тщательного мониторинга. |
| **Лучшие сценарии использования** | Ситуации, где автономное обучение и адаптация имеют решающее значение, такие как сложные исследования, симуляции или динамические среды. |
| **Примеры** | Нейронные сети с эволюционными возможностями, роевые ИИ-системы, автономная робототехника, модели финансового прогнозирования. |

Рис. 1.9: Рабочий процесс агента, управляющего средой *   Входной запрос (Input Query) *   Фаза восприятия (Perception Phase) *   Фаза рассуждений (Reasoning Phase) *   Фаза действий (Action Phase) *   Фаза обратной связи (Feedback Phase) *   Цикл управления средой (Environment Control Loop) *   Повторять до достижения цели (Iterate until goal met) *   Цель достигнута (Goal achieved) *   Вывод + Измененное состояние (Output + Changed State)

### Самообучающиеся агенты: Эволюционеры

Святой Грааль ИИ-агентов: те, которые могут совершенствоваться со временем. Они учатся, адаптируются и развиваются без постоянного надзора. Эти агенты совершенствуются со временем, обучаясь на взаимодействиях, адаптируясь к новым средам и развиваясь без постоянного вмешательства человека. Они сочетают элементы рассуждений, памяти, управления средой и саморефлексии с возможностями автономного обучения для адаптации и оптимизации своего поведения. Являются ли они будущим ИИ? Потенциально. Являются ли они также пугающими? Без оценок, наблюдения, регулирования и надзора — очень даже.

Из рабочего процесса на Рис. 1.10 вы поймете, как самообучающийся агент сродни исследователю ИИ, который становится умнее с каждым экспериментом, постоянно совершенствуя свои методы и знания. Начиная с входного запроса (Input Query), агент входит в непрерывный цикл, начинающийся с фазы обучения (Learning Phase), где он обрабатывает доступные данные, переходит к рассуждению (Reasoning Phase) для их анализа, а затем предпринимает действия (Action Phase) на основе своего анализа. Фаза обратной связи (Feedback Phase) оценивает результаты, что приводит к фазе эволюции (Evolution Phase), где агент адаптирует и улучшает свои модели. Этот цикл повторяется непрерывно, производя не только вывод (Output), но и эволюционировавшую версию как решения, так и самого агента.

### Таблица 1.10: Характеристики самообучающихся агентов

| Характеристика | Описание |
| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Интеллект** | Автономное обучение; совершенствует модели и процессы на основе обратной связи, данных или изменений среды без ручных обновлений. |
| **Поведение** | Адаптивное и масштабируемое, подстраивается под изменяющиеся условия и новые задачи. Проявляет эволюционное поведение, улучшая производительность со временем. |
| **Область применения** | Подходит для передовых исследований и систем автономного обучения, предлагая высокий потенциал, но требуя тщательного мониторинга. |
| **Лучшие сценарии использования** | Ситуации, где автономное обучение и адаптация имеют решающее значение, такие как сложные исследования, симуляции или динамические среды. |
| **Примеры** | Нейронные сети с эволюционными возможностями, роевые ИИ-системы, автономная робототехника, модели финансового прогнозирования. |

Рис. 1.10: Рабочий процесс самообучающегося агента *   Входной запрос (Input Query) *   Фаза обучения (Learning Phase) *   Фаза рассуждений (Reasoning Phase) *   Фаза действий (Action Phase) *   Фаза обратной связи (Feedback Phase) *   Фаза эволюции (Evolution Phase) *   Непрерывная итерация (Continuous Iteration) *   Цикл управления средой (Environment Control Loop) *   Решение готово (Solution Ready) *   Вывод + Эволюционировавший агент (Output + Evolved Agent)

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

### Когда использовать агентов?

Мы рассмотрели типы агентов и области, в которых каждый из них преуспевает. Тем не менее, вам все еще необходимо уметь определять, где вам понадобится ИИ-агент. Агенты очень полезны, когда задачи требуют сложного принятия решений, автономности и адаптивности. Они превосходно работают в средах, где рабочий процесс динамичен и включает в себя несколько шагов или взаимодействий, которые могут быть автоматизированы. Ниже в Таблице 1.11 вы увидите, как рабочие процессы в различных областях могут извлечь выгоду из использования ИИ-агентов:

### Таблица 1.11: Области и приложения, которые могут извлечь выгоду из использования ИИ-агентов

| Область | Задача | Преимущества использования ИИ-агентов |
| :--------------------------- | :------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Поддержка клиентов** | Обработка запросов, предоставление помощи в реальном времени, эскалация проблем | Агенты повышают эффективность и улучшают клиентский опыт, предлагая своевременные и точные ответы, позволяя человеческому персоналу сосредоточиться на более сложных вопросах. |
| **Исследования и анализ данных** | Сбор, обработка и анализ данных | Они автономно предоставляют глубокие инсайты из больших наборов данных, помогая вам понимать закономерности без ручных усилий. |
| **Финансовая торговля** | Обработка данных в реальном времени | Агенты превосходно принимают быстрые решения на основе быстро меняющихся рыночных условий. |
| **Образование** | Персонализированный опыт обучения | Эти агенты адаптируются к темпу обучения каждого студента, предлагая индивидуальную обратную связь и эффективно поддерживая уникальные образовательные маршруты. |
| **Разработка программного обеспечения** | Генерация кода, отладка и тестирование | Агенты оптимизируют процесс разработки, выполняя повторяющиеся задачи, такие как кодирование и тестирование, улучшая качество кода и сокращая время разработки. Они также учатся и совершенствуются со временем, что постоянно улучшает их помощь. |

### Когда не использовать агентов?

Агенты предлагают множество преимуществ, но существуют определенные сценарии, в которых их развертывание может быть не лучшим вариантом. Если задачи, с которыми вы имеете дело, просты, происходят нечасто или требуют лишь минимальной автоматизации, сложность и стоимость внедрения ИИ-агентов могут быть неоправданными для вас. Простые задачи, с которыми существующие программные решения могут эффективно справляться, не обязательно получают выгоду от дополнительной сложности агентных систем. В таких случаях придерживаться традиционных методов может быть более эффективным и экономически выгодным.

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

Тем не менее, такие области, как психотерапия, консультирование или креативное письмо, процветают благодаря нюансам человеческих эмоций и творческого процесса — областям, где агенты в значительной степени терпят неудачу. В этих областях человеческий фактор незаменим и необходим для достижения значимых результатов.

Внедрение агентов также требует значительных инвестиций с вашей стороны в виде времени, ресурсов и экспертизы. Если вы управляете малым бизнесом или проектом с ограниченным бюджетом, затраты на разработку и поддержку этих агентов могут не оправдать преимуществ. В высокорегулируемых отраслях использование агентов может быть также ограничено из-за проблем с соответствием нормативным требованиям и безопасностью, а обеспечение соблюдения агентами строгих регуляторных требований может быть очень сложным и ресурсоемким.

### 10 вопросов, которые следует задать, прежде чем рассматривать ИИ-агента

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

1.  **Какова сложность задачи?** Является ли задача простой и повторяющейся, или она включает сложное принятие решений, которое может быть автоматизировано?
2.  **Каков ожидаемый объем данных или запросов?** Будет ли агент обрабатывать большие объемы данных или запросов, где скорость и эффективность имеют решающее значение?
3.  **Может ли задача извлечь выгоду из обучения и развития со временем?** Есть ли преимущество в наличии системы, которая учится на своих взаимодействиях и улучшает свои ответы или стратегии со временем?
4.  **Как часто выполняется задача?** Является ли это частой задачей, где автоматизация может значительно сэкономить время и ресурсы, или это редкое событие, которое может не оправдать инвестиций?
5.  **Требует ли задача адаптивности?** Постоянно ли меняются условия, в которых выполняется задача, требуя адаптивных ответов, с которыми может справиться ИИ?
6.  **Какой уровень точности требуется?** Критически ли важно, чтобы задача выполнялась с высокой точностью, например, в медицинских или финансовых учреждениях, где ИИ может потребоваться соответствовать высоким стандартам?

Уделите время оценке этих вопросов; это поможет вам лучше определить, соответствует ли ИИ-агент вашим потребностям и как его можно эффективно реализовать для улучшения ваших операций или услуг.

7.  **Необходимы ли человеческая экспертиза или эмоциональный интеллект?** Требует ли задача глубоких предметных знаний, человеческой интуиции или эмоциональной эмпатии, которые ИИ в настоящее время не может предоставить?
8.  **Каковы требования к регулированию и соответствию нормам?** Существуют ли конкретные отраслевые нормы или проблемы соответствия, которые необходимо учитывать при использовании ИИ?
9.  **Каковы последствия для конфиденциальности и безопасности?** Включает ли задача конфиденциальную информацию, которая должна обрабатываться с соблюдением строгих мер конфиденциальности и безопасности?
10. **Каков анализ затрат и выгод?** Перевешивает ли рентабельность инвестиций (с точки зрения сэкономленного времени, повышения эффективности и общей производительности) затраты на внедрение и обслуживание ИИ-системы?

### 3 интересных примера использования ИИ-агентов в реальном мире

Теперь, когда мы узнали, что такое агенты, когда их использовать и когда не использовать, пришло время рассмотреть некоторые интересные реальные примеры использования ИИ-агентов.

#### 1. Wiley и Agentforce

*   **Компания:** Wiley *   **Проблема:** Wiley столкнулась с проблемами обработки всплесков звонков в службу поддержки в пиковые периоды, особенно в начале новых семестров, когда тысячи студентов используют образовательные ресурсы Wiley.
*   **Потребность:** Компании требовалась эффективная система обслуживания клиентов для управления возросшим объемом и поддержания положительного клиентского опыта.
*   **Решение:** Wiley инвестировала в Agentforce от Salesforce, ИИ-агента, разработанного для улучшения операций обслуживания клиентов. Эта интеграция значительно улучшила показатели разрешения обращений и ускорила решение запросов клиентов, особенно в пиковые периоды, такие как начало новых семестров, когда спрос резко возрастает.
*   **Рентабельность инвестиций (ROI):** Увеличение числа разрешенных обращений на **40%**+ по сравнению с их предыдущим чат-ботом, **213%** ROI и экономия в размере **$230 тыс.** *   **ИИ-агент:** Agentforce от Salesforce *   **Случай использования:** Автоматизация обслуживания клиентов

#### 2. Oracle Health и Clinical AI agent

*   **Компания:** Oracle Health *   **Проблема:** Медицинские работники сталкивались с проблемами документирования и управления временем во время визитов пациентов, что приводило к выгоранию и снижению вовлеченности пациентов.
*   **Потребность:** Была необходима система, которая могла бы оптимизировать клинические рабочие процессы и повысить точность документации, одновременно предоставляя врачам больше времени для взаимодействия с пациентами.
*   **Решение:** Oracle Health разработала своего Клинического ИИ-агента (Clinical AI Agent), который автоматизирует процессы документирования и улучшает взаимодействие между пациентами и врачами через мультимодальный голосовой пользовательский интерфейс. Это позволяет врачам быстро получать доступ к информации о пациентах и эффективно генерировать точные заметки.
*   **Рентабельность инвестиций (ROI):** AtlantiCare, используя Клинического ИИ-агента, сообщила о **41%**-м сокращении общего времени на документирование, что позволило сэкономить примерно **66 минут** в день, что приводит к повышению производительности и улучшению удовлетворенности пациентов.
*   **ИИ-агент:** Clinical AI Agent *   **Случай использования:** Улучшение взаимодействия между пациентами и врачами

#### 3. Magid и Galileo

*   **Компания:** Magid *   **Проблема:** Magid, лидер в области потребительской аналитики для медиа-брендов, нуждалась в обеспечении последовательного, высококачественного контента в быстро меняющейся новостной среде. Сложность разнообразных тем затрудняла поддержание точности, а ошибки потенциально могли привести к значительным последствиям.
*   **Потребность:** Надежная система наблюдаемости была необходима для мониторинга рабочих процессов на основе ИИ и обеспечения качества результатов для различных клиентов. Эта масштабируемость была критически важна для управления ежедневным производством многочисленных историй.
*   **Решение:** Magid интегрировала возможности наблюдаемости в реальном времени от Galileo в свою продуктовую экосистему. Эта интеграция обеспечила мониторинг производства, соответствующие метрики для отслеживания тона и точности, а также опции настройки, адаптированные к потребностям Magid.
*   **Рентабельность инвестиций (ROI):** С Galileo Magid достигла **100%**-й видимости над входными и выходными данными, что позволило предлагать индивидуальные решения по мере масштабирования. Эта видимость помогает выявлять тенденции и разрабатывать метрики для конкретных клиентов, повышая точность предоставления новостей.
*   **ИИ-агент:** RAG-система с возможностями наблюдаемости в реальном времени *   **Случай использования:** Расширение возможностей новостных редакций с помощью генеративной технологии ИИ

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

В следующей главе мы рассмотрим особенности трех известных фреймворков для создания ИИ-агентов. Впереди много интересного!

### Глава 2

### Фреймворки для создания агентов

В первой главе мы рассмотрели, что такое ИИ-агенты и когда их использовать. Прежде чем перейти к фреймворкам, которые вы можете использовать для создания этих агентов, давайте кратко повторим.

ИИ-агенты особенно полезны для динамичных, сложных сред, таких как поддержка клиентов, или секторов с большим объемом данных, таких как финансы, где они автоматизируют и ускоряют процессы. Они также отлично подходят для персонализации образования и оптимизации разработки программного обеспечения. Однако они не идеальны для простых задач, которые эффективно обрабатывает традиционное программное обеспечение, или для областей, требующих глубокой экспертизы, эмпатии или принятия решений с высокими ставками, где человеческое суждение имеет решающее значение. Стоимость и соответствие нормативным требованиям также могут сделать их менее жизнеспособными для небольших проектов или сильно регулируемых отраслей. Тем не менее, фреймворк, который вы выберете для создания этих агентов, может значительно повлиять на их эффективность. В этой главе мы оценим три известных фреймворка для создания ИИ-агентов — LangGraph, Autogen и CrewAI — чтобы помочь вам сделать осознанный выбор.

### LangGraph против Autogen против CrewAI

LangGraph — это фреймворк с открытым исходным кодом, разработанный Langchain для создания многоакторных приложений с состоянием с использованием больших языковых моделей (LLM). Вдохновленный долгой историей представления конвейеров обработки данных в виде направленных ациклических графов (DAG), LangGraph рассматривает рабочие процессы как графы, где каждый узел представляет конкретную задачу или функцию. Этот подход, основанный на графах, обеспечивает тонкий контроль над потоком и состоянием приложений, что делает его особенно подходящим для сложных рабочих процессов, требующих расширенных функций памяти, восстановления после ошибок и взаимодействия человека в цикле. LangGraph бесшовно интегрируется с LangChain, предоставляя доступ к различным инструментам и моделям и поддерживая различные паттерны взаимодействия нескольких агентов.

### LangGraph

Autogen — это универсальный фреймворк, разработанный Microsoft для создания диалоговых агентов. Он рассматривает рабочие процессы как диалоги между агентами, что делает его интуитивно понятным для пользователей, предпочитающих интерактивные интерфейсы, подобные ChatGPT. Autogen поддерживает различные инструменты, включая исполнители кода и вызывающие функции, позволяя агентам автономно выполнять сложные задачи. Высоко настраиваемый фреймворк позволяет расширять агентов дополнительными компонентами и определять пользовательские рабочие процессы. Autogen разработан как модульный и простой в обслуживании, что делает его подходящим как для простых, так и для сложных сценариев с несколькими агентами.

### Autogen

CrewAI — это фреймворк, разработанный для облегчения сотрудничества ролевых ИИ-агентов. Каждому агенту назначаются определенные роли и цели, что позволяет им действовать как единое целое. Этот фреймворк идеален для создания сложных многоагентных систем, таких как многоагентные исследовательские группы. CrewAI поддерживает гибкое управление задачами, автономное делегирование между агентами и настраиваемые инструменты.

### CrewAI

### Практические соображения

Для практического рассмотрения сравним LangGraph, Autogen и CrewAI по нескольким ключевым аспектам.

### Насколько они просты в использовании?

Простота использования определяет, насколько быстро и эффективно вы можете начать использовать фреймворк. Она также влияет на кривую обучения и время, необходимое для создания и развертывания агентов.

Рассмотрим LangGraph. Этот фреймворк визуализирует рабочие процессы как графы, используя направленные ациклические графы (DAG). Вы найдете этот подход интуитивно понятным, если знакомы с конвейерами обработки данных. Он упрощает визуализацию и управление сложными взаимодействиями. Вам может потребоваться более глубокое понимание теории графов, что изначально может усложнить вашу кривую обучения.

Затем есть Autogen, который моделирует рабочие процессы как диалоги между агентами. Если вы предпочитаете интерактивные, чат-ориентированные среды, этот фреймворк, вероятно, покажется вам более естественным. Autogen упрощает управление взаимодействиями агентов, позволяя вам больше сосредоточиться на определении задач, а не на базовых сложностях. Это может быть большим подспорьем, когда вы только начинаете.

CrewAI, с другой стороны, фокусируется на ролевом дизайне агентов, где каждому агенту назначаются определенные роли и цели. Этот фреймворк разработан для того, чтобы ИИ-агенты могли работать как единое целое, что может быть полезно для создания сложных многоагентных систем. Он предлагает структурированный подход к определению и

ПРОВАЙДЕР: McKinsey & Company

### Управление агентами

Начать работу с CrewAI очень просто.

**Победитель:** Autogen и CrewAI имеют преимущество благодаря своему диалоговому подходу и простоте использования.

#### Какие инструменты и функции они поддерживают?

Охват инструментов является важным аспектом, который следует учитывать при оценке фреймворка. Он относится к диапазону инструментов и функций, которые поддерживает фреймворк, расширяя возможности ваших агентов.

Например, LangGraph предлагает надежную интеграцию с LangChain, что открывает широкий спектр инструментов и моделей для вашего использования. Он поддерживает такие функции, как вызов инструментов, память и взаимодействие человека с системой (human-in-the-loop). Эта комплексная интеграция позволяет вам задействовать обширную экосистему, значительно расширяя функциональность ваших агентов. Если ваш проект требует богатого набора инструментов для сложных задач, возможности LangGraph могут быть особенно ценными.

Переходя к Autogen, этот фреймворк выделяется поддержкой различных инструментов, включая исполнители кода и вызывающие функции. Его модульная конструкция является ключевой особенностью, упрощающей процесс добавления и интеграции новых инструментов по мере развития вашего проекта. Если гибкость и масштабируемость занимают верхние строчки в вашем списке приоритетов, подход Autogen позволяет адаптировать и расширять набор инструментов по мере необходимости без особых трудностей.

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

**Победитель:** LangGraph и CrewAI имеют преимущество благодаря своей бесшовной интеграции с LangChain, которая предлагает комплексный набор инструментов. Все фреймворки позволяют добавлять пользовательские инструменты.

#### Насколько хорошо они поддерживают контекст?

Поддержка памяти имеет решающее значение для агентов, чтобы поддерживать контекст между взаимодействиями, позволяя им предоставлять более связные и релевантные ответы. Существуют различные типы памяти, которые могут использовать агенты:

| Тип памяти           | Описание                                                            |
| :------------------- | :------------------------------------------------------------------ |
| Кратковременная память | Отслеживает недавние взаимодействия и результаты.                   |
| Долговременная память | Хранит инсайты и полученные знания из прошлых взаимодействий.      |
| Память сущностей     | Сосредоточена на сборе деталей о конкретных сущностях.             |
| Контекстуальная память | Объединяет кратковременную, долговременную и память сущностей. |

Таблица 2.1: Типы памяти, которые могут использовать агенты

LangGraph поддерживает встроенную кратковременную, долговременную и память сущностей, позволяя агентам поддерживать контекст между взаимодействиями. Он включает расширенные функции, такие как восстановление после ошибок и возможность возвращаться к предыдущим состояниям, что полезно для сложного решения проблем.

Autogen использует подход, основанный на диалогах, для поддержки памяти, позволяя агентам запоминать предыдущие взаимодействия и оставаться контекстно осведомленными. Эта настройка гарантирует, что агенты поддерживают связный контекст на протяжении всех своих взаимодействий, что крайне важно для задач, зависящих от непрерывности.

CrewAI предлагает комплексную систему памяти, которая включает кратковременную, долговременную и память сущностей. Эта система позволяет агентам накапливать опыт и улучшать свои возможности принятия решений со временем, гарантируя, что они могут вспоминать важные детали в рамках множества взаимодействий.

**Победитель:** И LangGraph, и CrewAI имеют преимущество благодаря своей комплексной системе памяти, которая включает кратковременную, долговременную и память сущностей.

#### Хорошо ли они организованы и легко ли интерпретируются?

Структурированный вывод имеет решающее значение для обеспечения того, чтобы ответы, генерируемые агентами, были хорошо организованы и легко интерпретируемы. Структурированный вывод может включать JSON, XML или другие форматы, которые облегчают дальнейшую обработку и анализ.

LangGraph позволяет узлам возвращать структурированный вывод, который может быть использован для маршрутизации к следующему шагу или обновления состояния. Это упрощает управление сложными рабочими процессами и гарантирует, что вывод хорошо организован. Идеальный сценарий использования — система обслуживания клиентов, которая маршрутизирует запросы через различные отделы на основе анализа содержимого, срочности и истории предыдущих взаимодействий.

Autogen поддерживает структурированный вывод посредством своих возможностей вызова функций. Агенты могут генерировать структурированные ответы на основе инструментов и функций, которые они используют. Это гарантирует, что вывод четко определен и легко обрабатывается другими компонентами. Хорошим примером является система помощника по кодированию, где нескольким специализированным агентам (разработчик кода, рецензент, тестировщик) необходимо динамически взаимодействовать.

CrewAI поддерживает структурированный вывод, позволяя агентам анализировать выходные данные как Pydantic-модели или JSON. Это гарантирует, что вывод хорошо организован и легко интерпретируется. Вы можете определить структуру вывода в соответствии с их конкретными требованиями. Например, рассмотрим конвейер обработки данных, в котором нескольким агентам необходимо преобразовывать и проверять данные в соответствии с определенными схемами.

**Победитель:** LangGraph и CrewAI имеют преимущество благодаря своей способности определять структурированный вывод.

#### Каково качество документации?

Качество документации влияет на то, насколько легко разработчики могут понять и использовать фреймворк. Хорошая документация может сократить кривую обучения и улучшить общий опыт разработчика.

LangGraph предоставляет комплексную документацию, включая подробные руководства и примеры. Документация хорошо структурирована, что облегчает поиск необходимой информации. Она охватывает различные аспекты фреймворка, от базовых концепций до продвинутых функций.

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

CrewAI предоставляет подробную документацию, включая практические руководства и примеры. Документация разработана, чтобы помочь вам быстро начать работу и понять основные концепции фреймворка. Она включает практические примеры и пошаговые инструкции.

**Победитель:** Все фреймворки имеют отличную документацию, но найти больше примеров для LangGraph и CrewAI проще.

#### Предоставляют ли они поддержку мультиагентных систем?

Поддержка мультиагентных систем имеет решающее значение при работе со сложными приложениями, которые включают различные шаблоны взаимодействия между несколькими агентами. Это включает:
*   Иерархические *   Последовательные *   Динамические взаимодействия Когда агенты сгруппированы по инструментам и обязанностям, они, как правило, работают лучше, потому что сосредоточение на конкретной задаче обычно дает лучшие результаты, чем когда агент

должен выбирать из множества инструментов. Предоставление каждому промпту собственного набора инструкций и нескольких примеров (few-shot examples) может еще больше повысить производительность. Представьте, что каждый агент работает на основе собственной тонко настроенной большой языковой модели — это обеспечивает практическую основу для разработки, позволяя вам оценивать и улучшать каждого агента индивидуально, не затрагивая более широкое приложение.

LangGraph поддерживает различные мультиагентные шаблоны, включая иерархические и динамические групповые чаты. Он позволяет легко определять сложные шаблоны взаимодействия между агентами. Его графовый подход помогает эффективно визуализировать и управлять этими взаимодействиями. В LangGraph вы явно определяете различных агентов и их вероятности переходов как узлы в графе. Этот метод дает вам обширный контроль над построением сложных рабочих процессов, что крайне важно для управления вероятностями переходов между узлами.

Autogen стал одним из первых мультиагентных фреймворков, представляя рабочие процессы скорее как «беседы» между агентами. Эта диалоговая модель добавляет гибкости, позволяя вам определять, как агенты взаимодействуют в различных шаблонах, включая последовательные и вложенные чаты. Дизайн Autogen упрощает управление этими сложными мультиагентными взаимодействиями, обеспечивая эффективное сотрудничество между агентами.

CrewAI поддерживает ролевые взаимодействия и автономное делегирование между агентами. Он облегчает такие процессы, как последовательное и иерархическое выполнение задач, которые имеют решающее значение для эффективного управления мультиагентными взаимодействиями. Эта настройка гарантирует, что агенты могут бесперебойно работать вместе для достижения общих целей. CrewAI предлагает подход более высокого уровня, чем LangGraph, фокусируясь на создании сплоченных мультиагентных «команд».

**Победитель:** LangGraph имеет преимущество благодаря своему графовому подходу, который облегчает визуализацию и управление сложными взаимодействиями.

#### Что насчет кэширования?

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

LangGraph поддерживает кэширование через свой встроенный уровень персистентности. Это позволяет сохранять и возобновлять выполнение графа в любой момент. Механизм кэширования гарантирует, что ранее вычисленные результаты могут быть повторно использованы, также улучшая производительность.

AutoGen поддерживает кэширование запросов API, чтобы их можно было повторно использовать при повторной выдаче того же запроса.

Все инструменты в CrewAI поддерживают кэширование, что позволяет агентам эффективно повторно использовать ранее полученные результаты. Это снижает нагрузку на внешние ресурсы и ускоряет время выполнения. Атрибут `cache_function` инструмента позволяет более точно контролировать механизм кэширования.

**Победитель:** Все фреймворки поддерживают кэширование, но LangGraph и CrewAI могут иметь преимущество.

#### Рассматривая функциональность повторного воспроизведения

Функциональность повторного воспроизведения позволяет вам пересматривать и анализировать предыдущие взаимодействия, что полезно для отладки и повышения производительности агентов. Это помогает вам понять процесс принятия решений и выявить области для улучшения.

LangGraph расширяет ваши возможности отладки и экспериментирования с помощью функции «путешествия во времени». Это позволяет легко перематывать и исследовать различные сценарии. Он предоставляет подробную историю взаимодействий, обеспечивая тщательный анализ и понимание каждого шага вашего процесса.

Хотя Autogen не предлагает явной функции повторного воспроизведения, он позволяет вручную обновлять состояние для управления траекторией агента. Этот обходной путь обеспечивает некоторый уровень функциональности повторного воспроизведения, но требует большего ручного вмешательства с вашей стороны.

CrewAI предоставляет возможность повторного воспроизведения из задачи, указанной при последнем запуске команды. В настоящее время поддерживается только последний запуск, и он позволит вам воспроизводить только из самого последнего выполнения команды.

**Победитель:** LangGraph и CrewAI упрощают повторное воспроизведение благодаря встроенным возможностям.

#### Что насчет выполнения кода?

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

LangGraph интегрируется с LangChain для поддержки выполнения кода в своих рабочих процессах. Вы можете определять узлы специально для выполнения кода, который становится частью общего рабочего процесса. Эта интеграция означает, что вы можете беспрепятственно включать сложные выполнения кода в свои проекты.

Autogen поддерживает выполнение кода через свои встроенные исполнители кода. Агенты могут писать и выполнять код для автономного выполнения задач. Фреймворк предоставляет безопасную среду для выполнения кода, гарантируя, что агенты могут выполнять задачи безопасно.

CrewAI поддерживает выполнение кода через настраиваемые инструменты. Вы можете определять инструменты, которые выполняют код, и интегрировать их в рабочий процесс агента. Это обеспечивает гибкость в определении возможностей агентов и позволяет динамически выполнять задачи.

**Победитель:** Autogen может иметь небольшое преимущество благодаря своим встроенным исполнителям кода, но два других также способны.

#### Поддержка человека в цикле?

Взаимодействия человека с системой (human-in-the-loop) позволяют агентам получать руководство и обратную связь от человека, улучшая их производительность и надежность. Это особенно важно для задач, требующих человеческого суждения или вмешательства.

LangGraph поддерживает взаимодействия человека с системой через свои функции прерывания. Вы можете приостанавливать выполнение графа, чтобы предоставить обратную связь или внести коррективы.

Autogen поддерживает взаимодействия человека с системой через три режима: `NEVER` (НИКОГДА), `TERMINATE` (ЗАВЕРШИТЬ) и `ALWAYS` (ВСЕГДА).

CrewAI поддерживает взаимодействия человека с системой, позволяя агентам запрашивать ввод от человека во время выполнения задачи путем установки флага `human_input` в определении задачи. При включении агент запрашивает ввод у пользователя перед выдачей окончательного ответа.

**Победитель:** Все фреймворки поддерживают человека в цикле различными способами.

#### Насколько хорошо они приспособлены к настройке?

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

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

Autogen настраивается, позволяя пользователям расширять агентов дополнительными компонентами и определять пользовательские рабочие процессы. Фреймворк разработан как модульный и простой в обслуживании.

CrewAI предлагает широкие возможности настройки, включая ролевой дизайн агентов и настраиваемые инструменты.

**Победитель:** Все фреймворки предоставляют возможности настройки, но эффективность может варьироваться.

#### Насколько они хороши в масштабировании?

Масштабируемость является обязательным условием для обеспечения того, чтобы фреймворк мог расти вместе с вашими требованиями. Фреймворк должен поддерживать свою производительность и надежность по мере включения большего количества агентов, инструментов и взаимодействий. Здесь у нас нет победителей. Все три фреймворка предлагают гибкость для масштабирования системы путем добавления агентов, инструментов и настроек в соответствии с вашими потребностями.

**Победитель:** Остается неясным, какой фреймворк масштабируется более эффективно при добавлении большего количества элементов. Рекомендуется экспериментировать с ними, чтобы получить лучшее представление.

### Давайте сравним их все

Что ж, это много информации для одномоментной обработки! Обратитесь к таблице ниже (Таблица 2.2) для быстрого обзора того, что мы обсуждали в этой главе.

Чтобы подвести итог:
*   LangGraph **превосходит** в сценариях, где рабочие процессы могут быть представлены в виде графов *   Autogen **идеально подходит** для диалоговых рабочих процессов *   CrewAI **предназначен** для ролевых мультиагентных взаимодействий

| Критерий                  | LangGraph                                                                                                     | Autogen                                                                                                         | CrewAI                                                                                                                        | Окончательный вердикт                                                                                                                                                                                                        |
| :------------------------ | :------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Простота использования    |                                                                                                               |                                                                                                                 |                                                                                                                               | Autogen и CrewAI более интуитивно понятны благодаря своему диалоговому подходу и простоте.                                                                                                                                        |
| Поддержка мультиагентных систем |                                                                                                               |                                                                                                                 |                                                                                                                               | CrewAI превосходит благодаря своей структурированной ролевой конструкции и эффективному управлению взаимодействиями между несколькими агентами.                                                                                     |
| Охват инструментов        |                                                                                                               |                                                                                                                 |                                                                                                                               | LangGraph и CrewAI имеют небольшое преимущество благодаря своей обширной интеграции с LangChain.                                                                                                                                        |
| Поддержка памяти          |                                                                                                               |                                                                                                                 |                                                                                                                               | LangGraph и CrewAI продвинуты в функциях поддержки памяти, обеспечивая контекстную осведомленность и обучение со временем.                                                                                                        |
| Структурированный вывод   |                                                                                                               |                                                                                                                 |                                                                                                                               | LangGraph и CrewAI имеют сильную поддержку структурированных выводов, которые являются универсальными и интегрируемыми.                                                                                                         |
| Документация              |                                                                                                               |                                                                                                                 |                                                                                                                               | LangGraph и CrewAI предлагают обширную и хорошо структурированную документацию, что облегчает начало работы и поиск примеров.                                                                                                        |
| Поддержка мультиагентных шаблонов |                                                                                                               |                                                                                                                 |                                                                                                                               | LangGraph выделяется благодаря своему графовому подходу, который облегчает визуализацию и управление сложными взаимодействиями.                                                                                                       |
| Кэширование               |                                                                                                               |                                                                                                                 |                                                                                                                               | LangGraph и CrewAI лидируют с комплексными механизмами кэширования, которые повышают производительность.                                                                                                                        |
| Повторное воспроизведение |                                                                                                               |                                                                                                                 |                                                                                                                               | LangGraph и CrewAI имеют встроенные функции повторного воспроизведения, что делает их подходящими для тщательной отладки.                                                                                                        |
| Выполнение кода           |                                                                                                               |                                                                                                                 |                                                                                                                               | Autogen немного опережает благодаря своим встроенным исполнителям кода, но другие также способны.                                                                                                                                        |
| Человек в цикле           |                                                                                                               |                                                                                                                 |                                                                                                                               | Все фреймворки обеспечивают эффективную поддержку человеческого взаимодействия и одинаково сильны по этому критерию.                                                                                                                   |
| Настройка                 |                                                                                                               |                                                                                                                 |                                                                                                                               | Все фреймворки предлагают высокий уровень настройки, эффективно удовлетворяя различные требования.                                                                                                                                        |
| Масштабируемость          |                                                                                                               |                                                                                                                 |                                                                                                                               | Все фреймворки способны эффективно масштабироваться; рекомендуется экспериментировать с каждым, чтобы понять, какой подходит лучше всего.                                                                                           |
| LLM с открытым исходным кодом |                                                                                                               |                                                                                                                 |                                                                                                                               | Все фреймворки поддерживают LLM с открытым исходным кодом.                                                                                                                                                                         |

Таблица 2.2: Обзор сравнений LangGraph, Autogen и CrewAI по основным функциям, техническим возможностям и опыту разработки

### Популярные варианты использования, ориентированные на эти фреймворки

Chaos Labs разработала Edge AI Oracle, используя LangChain и LangGraph для улучшения принятия решений на рынках прогнозов. Эта система использует мультиагентный совет для обеспечения точных, объективных и прозрачных решений. Каждый агент, от сборщиков данных до аналитиков предвзятости и суммаризаторов, играет роль в обработке запросов через децентрализованную сеть. Эта настройка эффективно снижает предвзятость одной модели и обеспечивает консенсусные, надежные результаты в условиях высоких ставок.

Построенный на базе Autogen, OptiGuide использует большие языковые модели (LLM) для упрощения и улучшения операций в цепочке поставок. Он интегрирует эти модели для эффективного анализа и оптимизации сценариев, таких как оценка влияния различных вариантов поставщиков. Система обеспечивает конфиденциальность данных и не передает конфиденциальную информацию. Применяемый в облачной инфраструктуре Microsoft для размещения серверов, OptiGuide повышает операционную эффективность и коммуникацию со стейкхолдерами, а также снижает потребность в обширном ручном контроле.

Все сравнения в сторону, вот несколько интересных вариантов использования и совместных проектов, ориентированных на LangGraph, Autogen и CrewAI.

Waynabox преобразил планирование путешествий, сотрудничая с CrewAI, предлагая персонализированные, беспроблемные впечатления от поездок. Это сотрудничество использует мультиагентную систему CrewAI для автоматической генерации индивидуальных маршрутов на основе данных в реальном времени и индивидуальных предпочтений. Интеграция AI-агентов, обрабатывающих действия, предпочтения и настройку маршрута, позволяет путешественникам наслаждаться уникальными приключениями без стресса планирования. Это помогло упростить планирование маршрутов и улучшило сервис Waynabox для создания более захватывающего и бесшовного опыта путешествий.

В этой главе мы рассмотрели три фреймворка: LangGraph, Autogen и CrewAI, а также сравнили их по различным аспектам, таким как простота использования, поддержка мультиагентных систем и другие (см. Таблицу 2.2). Мы также рассмотрели примеры компаний, которые использовали эти фреймворки в различных сценариях и областях, чтобы в конечном итоге сосредоточиться на трех факторах: сокращение рутинной «избыточной» работы, бесперебойные операции и повышение производительности. Однако крайне важно также учитывать точность и надежность AI-агентов. Это подводит нас к следующей главе, где мы рассмотрим важность тщательного мониторинга и обратной связи для обеспечения того, чтобы они предоставляли надежную, хорошо обоснованную информацию, требующую оценки.

## Глава 03

### Как оценивать агентов

В предыдущей главе мы рассмотрели три фреймворка: LangGraph, Autogen и CrewAI, а также некоторые интересные варианты их использования.

Следующим важным шагом в нашем путешествии является понимание того, как мы можем обеспечить точность и надежность AI-агентов. Почему это вообще важно?

Оценка AI-агентов похожа на проверку работы нового сотрудника. Вы должны убедиться, что они выполняют свою работу правильно и надежно. Без регулярных проверок и конструктивной обратной связи трудно доверять тому, что информация, предоставляемая агентами, точна и полезна.

Лучший способ понять это — на примере. Поэтому в этой главе мы создадим агента для финансовых исследований и рассмотрим, как, подобно людям, агентов можно научить решать проблемы, сначала понимая задачу, составляя план, предпринимая действия и, наконец, оценивая результат.

Давайте приступим!

### Требования

Вы можете установить эти зависимости в среде Python **3.11**.
`pip install --quiet -U`

**ПРОВАЙДЕР:** KPMG

`langgraph==0.2.56 langchain-community==0.3.9 langchain-openai==0.2.11 tavily-python==0.5.0 promptquality==0.69.1` Для этого зарегистрируйтесь на Tavily и OpenAI, чтобы сгенерировать ключ API. Сохраните ключи в файле `.env`, как показано ниже.

`OPENAI_API_KEY=KKK` `TAVILY_API_KEY=KKK`

### Определение проблемы

Цель этой главы — создать агента для финансовых исследований, который «продумывает» и решает проблемы в рамках финансового набора данных. Мы можем создать рабочий процесс, который получает вопрос, разбивает его на детальные вопросы, ищет информацию в интернете с помощью Tavily и анализирует результаты. Для анализа результатов мы используем агент ReAct, который работает с API Tavily, чтобы продумать и решить проблемы.

### Определение агента ReAct

В выбранной вами IDE вы можете создать новый Jupyter Notebook `agent.ipynb`. Мы можем импортировать готовый агент ReAct вместе с инструментом веб-поиска под названием Tavily. Хотя в этом примере мы используем одного и того же агента для всех шагов, вы могли бы использовать разных агентов для разных задач. Самое приятное? Вы сможете настроить его в дальнейших примерах. Взгляните на Рис. **3.1**, чтобы лучше понять это. Этот код настраивает чат-агента с искусственным интеллектом по имени Фред, предназначенного для работы в качестве финансового эксперта в **2024** году. Фред будет использовать определённые инструменты и структуру планирования для исследования и ответа на вопросы.

**Рис. 3.1:** Настройка агента

### Управление состоянием

Теперь поговорим о том, как наш агент отслеживает всё, что ему нужно сделать. Представьте это как интеллектуальную систему списка задач с тремя основными частями. Во-первых, нам нужен способ отслеживать, что агент планирует делать. Мы будем использовать простой список шагов, записанных в виде текстовых строк. Это похоже на контрольный список задач, которые агент должен выполнить. Во-вторых, мы хотим помнить, что он уже сделал и что произошло с каждой задачей. Для этого мы будем использовать список пар (или кортежей в терминах программирования). Каждая пара содержит как выполненное действие, так и результат этого действия. Наконец, нам нужно хранить ещё две важные части информации: исходный вопрос, который был задан (входные данные), и окончательный ответ, когда агент завершит свою работу (отклик). Эта настройка даёт нашему агенту всё необходимое для эффективной работы. На Рис. **3.2** класс `PlanExecute`, имеющий тип словаря, управляет процессом выполнения, включая входные данные, шаги плана, предыдущие шаги и отклик. Класс `Plan`, использующий Pydantic, определяет структурированный план с шагами, которые должны выполняться в отсортированном порядке.

**Рис. 3.2:** Определение структур для управления и выполнения последовательного плана действий

Шаг планирования — это тот момент, когда наш агент начнёт решать исследовательскую задачу. Мы будем использовать специальную функцию, называемую вызовом функции, для создания этого плана. Давайте разберёмся, как это работает. Сначала мы создаём шаблон того, как должен «думать» наш агент. Мы сообщаем ему, что он является агентом по финансовым исследованиям, работающим в октябре **2024** года, и его задача — разбивать большие вопросы на более мелкие, управляемые шаги. Этот шаблон, называемый `planner_prompt` (см. Рис. **3.3**), даёт нашему агенту чёткие инструкции: создать простой, пошаговый план, где каждый шаг логически ведёт к следующему. Убедиться, что ни один шаг не пропущен и не является лишним. Последний шаг должен дать нам ответ. Код настраивает это с помощью `ChatPromptTemplate`, который состоит из двух основных частей:

*   Системное сообщение, объясняющее роль агента и то, как он должен планировать *   Заполнитель для сообщений, которые мы ему отправим

**Рис. 3.3:** Направление агента на создание пошагового плана, который должен привести к правильному ответу для данной цели

Затем мы подключаем этот шаблон к `ChatOpenAI`, используя `gpt-4o-mini` с `temperature`, установленным на **0** для получения стабильных результатов. Мы учитываем, что `gpt-4o-mini` имеет низкую стоимость. Часть «структурированный вывод» означает, что план будет представлен в определённом формате, с которым мы легко сможем работать. Когда мы протестируем его с реальным вопросом, например: «Стоит ли инвестировать в Tesla, учитывая текущую ситуацию с электромобилями?», агент создаст подробный план исследования этого инвестиционного решения. Каждый шаг поможет собрать информацию, необходимую для вынесения обоснованной рекомендации по акциям Tesla на основе текущих рыночных условий для электромобилей. (См. Рис. **3.4**)

Представьте это как создание дорожной карты исследования. Мы предоставляем нашему агенту инструменты и рекомендации, необходимые для разбивки сложных вопросов на управляемые исследовательские задачи.

**Рис. 3.4:** Тестирование агента с вопросом

Перепланирование можно рассматривать как способность агента корректировать свою стратегию на основе уже полученных знаний. Это похоже на то, как мы можем пересмотреть наш исследовательский подход после обнаружения новой информации. Давайте разберёмся, как это работает. Сначала мы создаём два типа возможных действий, которые может предпринять агент:

*   **Ответ**: Когда у агента достаточно информации, чтобы ответить на вопрос пользователя *   **План**: Когда агенту необходимо провести дополнительное исследование, чтобы получить полный ответ

Запрос на перепланирование — это как предоставление нашему агенту структурированного способа обдумать, что делать дальше. Он рассматривает три вещи:

*   Исходный вопрос (цель) *   Первоначальный план, который он составил *   Какие шаги уже были выполнены и что было изучено

Используя эту информацию, агент может решить:

*   Создать новые шаги для сбора дополнительной необходимой информации *   Дать окончательный ответ, если у него достаточно информации

Хитрость заключается в том, что агент не будет повторять уже выполненные шаги. Он фокусируется только на том, что ещё предстоит исследовать. Это делает процесс исследования более эффективным и предотвращает избыточную работу. Это похоже на наличие ассистента по исследованиям, который может интеллектуально корректировать свой подход на основе уже сделанных открытий. Этот процесс помогает нашему агенту оставаться сфокусированным и эффективным, запрашивая новую информацию только при необходимости и зная, когда пришло время предоставить окончательный ответ пользователю.

Мы подключаем эту возможность перепланирования к `gpt-4o` с `temperature`, установленным на **0**. Установив `temperature` на **0** (см. Рис. **3.5**), мы заставляем модель генерировать один и тот же ответ для одного и того же ввода. Это помогает нам сделать эксперименты воспроизводимыми.

**Рис. 3.5:** `Replanner_prompt` для просмотра и обновления заданного плана на основе прошлых действий

### Создание графа

Представьте этот граф как дорожную карту, которая показывает, как наш агент перемещается от одной задачи к другой. У нас есть три основные функции, которые работают вместе:

**Рис. 3.6:** Управление и выполнение с использованием логики, основанной на состоянии

Функция `execute_step` обрабатывает отдельные задачи. Она берёт первый элемент из нашего плана, форматирует его должным образом и поручает агенту работу над ним. Это похоже на то, как вы даёте конкретное задание ассистенту по исследованиям и получаете его результаты. Агент отслеживает, что он сделал и что узнал. Функция `plan_step` — это то, с чего всё начинается. Получив вопрос, она создаёт первоначальный план исследования. Это похоже на создание первого черновика решения проблемы. Функция `replan_step` — это то место, где агент решает, что делать дальше. После выполнения задачи он анализирует полученные знания и либо:

*   Создаёт новые шаги, если требуется дополнительное исследование *   Предоставляет окончательный ответ, если у него достаточно информации

Наконец, у нас есть функция `should_end`, которая работает как контрольная точка. Она проверяет, готов ли у нас окончательный ответ. Если да, то процесс завершается. Если нет, она сообщает агенту продолжать работу. Вы можете увидеть все эти функции в приведённом ниже фрагменте кода, на Рис. **3.6**. Мы используем `StateGraph` для создания карты, которая направляет нашего агента по его исследовательскому пути посредством различных действий, которые он может предпринять. Вот как это происходит: Сначала мы создаём базовую структуру рабочего процесса с тремя основными остановками:

*   Станция планирования («planner») *   Исследовательская станция («agent») *   Станция обзора («replan»)

Затем мы соединяем эти станции в логическом порядке:
1.  Всё начинается на станции планирования 2.  От планирования агент переходит к проведению исследования 3.  После исследования он переходит к обзору того, что он узнал

На станции обзора агент принимает важное решение:

*   Либо продолжить с дополнительным исследованием, если это необходимо *   Либо завершить работу, если у него есть полный ответ

Это создаёт плавный цикл, в котором агент может продолжать исследования, пока не получит всё необходимое для ответа на исходный вопрос. Это похоже на наличие интеллектуального ассистента по исследованиям, который знает, когда нужно углубиться, а когда информации уже достаточно. Наконец, мы компилируем этот рабочий процесс во что-то, что мы можем легко использовать, как и любой другой инструмент в нашей системе. Это делает нашего агента по исследованиям готовым решать реальные вопросы и предоставлять исчерпывающие, хорошо проработанные ответы. См. Рис. **3.7**.

**Рис. 3.7:** Создание структуры рабочего процесса

Мы можем визуализировать рабочий процесс агента с помощью диаграммы Mermaid, как показано на Рис. **3.8**. См. вывод на Рис. **3.9**.

**Рис. 3.8:** Визуализация рабочего процесса с помощью диаграммы Mermaid

```mermaid _start_ planner replan _end_ agent _end_ tools agent _start_ ```

**Рис. 3.9:** Вывод рабочего процесса диаграммы Mermaid

### Создание LLM-оценщика

Далее мы создаём `LLM judge` для оценки производительности нашего агента. Это гарантирует, что ответы наших агентов соответствуют заданному контексту и сохраняют релевантность и точность. Встроенные оценщики значительно упрощают его настройку. Мы используем `gpt-4o` в качестве нашей `LLM` для метрики **соответствия контексту**, с тремя оценками на каждый ответ для обеспечения высокой точности оценки. Этот оценщик специально проверяет, насколько хорошо агент придерживается контекста и предоставляет релевантную информацию. Обратите внимание, что мы используем `GPT-4o` для оценки меньшей модели ИИ, что похоже на то, как эксперт контролирует работу новичка. `GPT-4o`, с его передовыми возможностями и глубоким пониманием языковых нюансов, может быть надёжным эталоном для оценки ответов меньшей модели (в нашем случае, `4o-mini`). См. Рис. **3.10**.

**Рис. 3.10:** Реализация функциональности LLM в качестве оценщика

Затем мы настраиваем колбэк `Galileo evaluation`, который будет отслеживать и записывать производительность нашего агента. Это похоже на систему контроля качества, которая отслеживает наш исследовательский процесс. Далее мы устанавливаем некоторые базовые конфигурации для нашего агента:

*   Он не может пройти более **30** циклов (`recursion_limit`).
*   Он должен использовать нашу систему оценки (`callbacks`).

### Использование колбэков Galileo

На Рис. **3.11** вы увидите, что мы используем колбэк Galileo, `GalileoPromptCallback`, который используется для регистрации выполнения цепочек в таких приложениях, как Langchain. Всего двумя строками кода мы можем получить всю информацию, необходимую для визуализации и отладки трассировок.

**Рис. 3.11:** Колбэк Galileo

Затем мы запускаем нашего агента с конкретным тестовым вопросом. Система обработает этот вопрос через ранее построенный нами исследовательский рабочий процесс. Код настроен так, чтобы показывать нам, что происходит на каждом шаге (именно это делает асинхронный цикл `for`). Он будет выводить каждое действие и результат по мере их возникновения, позволяя нам наблюдать за процессом исследования в реальном времени. Наконец, мы закрываем нашу оценочную сессию с помощью `evaluate_handler.finish()`. Это сохраняет все данные о производительности, собранные во время выполнения, в консоль `Galileo Evaluate`, чтобы мы могли видеть визуализацию цепочки и метрики агента. См. Рис. **3.12** и Рис. **3.13**.

**Рис. 3.12:** Завершение сессии оценки

**Рис. 3.13:** Визуализация цепочки

Вы можете провести несколько экспериментов для оценки производительности агента по исследованиям. Например, вы можете использовать панель управления проекта, чтобы увидеть, как различные тестовые запуски показали себя на основе ключевых метрик (см. Рис. **3.14**). Выдающимся исполнителем стал `test-3`, который занял первое место с впечатляющими результатами.

### Производительность `test-3`:

| Показатель | Значение |
|---|---|
| Оценка соответствия контексту | **0,844** (высокая релевантность исследовательским вопросам) |
| Скорость | Задачи выполнены за **84 039** миллисекунд (самый быстрый среди всех тестов) |
| Обработано ответов | **3** за прогон |
| Стоимость | **$0,0025** за прогон (низкая стоимость) |

### Общие показатели тестовых прогонов:

| Показатель | Диапазон |
|---|---|
| Диапазон времени отклика | От **134 000** до **228 000** миллисекунд |
| Диапазон оценки соответствия контексту | От **0,501** до **0,855** |
| Количество ответов | От **1** до **7** за тест |
| Эффективность затрат | Оставалась постоянной во всех прогонах, между **$0,002** и **$0,004** за прогон |

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

**Рис. 3.14:** Панель управления Galileo, показывающая несколько запусков

Теперь вы можете перейти внутрь каждого тестового прогона, чтобы увидеть выполнения агента (см. Рис. **3.15**). Панель управления показывает семь различных исследовательских запросов, обработанных нашим агентом. Каждый запрос был сфокусирован на анализе финансовых показателей различных компаний. Вот что вы заметите:

*   Агент показывает различную производительность на разных выборках *   Есть предупреждение о том, что шесть выборок имели задержку более **10** секунд, что предполагает возможность оптимизации.
*   Средняя задержка для прогона: **210 623** мс *   Средняя стоимость для прогона: **$0,004** за выполнение

Этот подробный просмотр помогает понять, где агент работает хорошо, а где ему могут потребоваться улучшения с точки зрения скорости и точности.

**Рис. 3.15:** Подробный просмотр каждого тестового прогона

Глядя на представление трассировки (Рис. **3.16**), вы можете увидеть подробную разбивку цепочки выполнения, где соответствие контексту было заметно низким — **33,33%**. Системное объяснение помогает нам понять, почему: «Вероятность того, что ответ будет соответствовать контексту, составляет **33,33%**. Основываясь на анализе, хотя некоторые цифры, такие как данные за конец **2022** и **2023** годов, подтверждаются ссылками на документы (например, третий квартал **2023** и четвёртый квартал **2023**), многие данные за более ранние кварталы не имеют прямых доказательств из документов или явных упоминаний, что приводит к неполной поддержке утверждений».

**Рис. 3.16:** Подробная разбивка цепочки выполнения для помощи в оценке

Это выявляет две ключевые проблемы в работе нашего агента: Агент правильно ссылается на свежие данные (**2022-2023**) с соответствующими источниками. Однако он делает утверждения о более ранних данных без надлежащей документации или ссылок. Для улучшения этого есть два основных возможных пути:

1.  **Улучшение системы извлечения информации:** *   Убедиться, что мы собираем достаточно исторических данных.
*   Расширить область поиска, включив более ранние квартальные отчёты.
*   Улучшить проверку источников для исторических данных.

2.  **Улучшение промптов:** *   Добавить явные инструкции ссылаться на источники для всех числовых утверждений.
*   Включить требования чётко различать проверенные и непроверенные данные.
*   Добавить проверки полноты данных перед выполнением сравнений.

Давайте кратко рассмотрим, что мы узнали в этой главе. Мы увидели, как наш агент реализовал фреймворк ReAct (Reasoning and Acting) для:

*   Разбивки сложных вопросов на более мелкие шаги *   Систематического планирования и выполнения исследовательских задач *   Повторной оценки и корректировки своего подхода на основе полученных результатов

Мы также изучили процесс оценки с использованием:

*   LLM-оценщика (`GPT-4`) для оценки качества ответов *   Метрик, таких как соответствие контексту, скорость и эффективность затрат *   Панели управления оценкой Galileo для отслеживания производительности

Тем не менее, тестирование агента по финансовым исследованиям в этой главе учит вас чему-то очень важному и ценному: искусственный интеллект настолько хорош, насколько хороша наша способность проверять его работу. Внимательно изучая работу агента, вы смогли точно увидеть, что он делал хорошо (например, быстро находил свежие данные) и с чем боролся (например, подтверждал старые цифры надлежащими источниками). Шаг оценки помог легко выявить эти проблемы, показав нам, где улучшить агента. Следующая глава будет ещё интереснее (плюс у вас есть пять убедительных примеров использования!), поскольку мы рассмотрим различные метрики для оценки агентов ИИ по четырём измерениям: системные метрики, завершение задач, контроль качества и взаимодействие с инструментами.

## Глава 04 Метрики для оценки агентов ИИ

Прежде чем мы рассмотрим метрики для оценки ИИ, давайте вспомним наши ключевые идеи по оценке агентов. Используя `LLM-based judges` (такие как `GPT-4o`) и надёжные метрики (такие как соответствие контексту), мы эффективно измеряли производительность агента по различным параметрам, включая точность, скорость и экономичность. Затем мы настроили колбэк оценки Galileo для отслеживания и записи производительности агента. В этой главе будут рассмотрены различные метрики для оценки агентов ИИ с использованием пяти убедительных кейсов. Давайте рассмотрим агента по обработке документов. Хотя он изначально может демонстрировать высокие метрики производительности, нам, возможно, придётся задать несколько вопросов:

*   Поддерживает ли он оптимальную скорость обработки и использование ресурсов?
*   Насколько последовательно он выполняет поставленные задачи без вмешательства человека?
*   Надёжно ли он соответствует указанным требованиям к форматированию и точности?
*   Выбирает ли он и применяет наиболее подходящие инструменты для каждой задачи?

Через серию гипотетических кейсов мы рассмотрим, как организации могут превратить своих агентов ИИ в надёжных цифровых коллег, используя ключевые метрики. Эти примеры продемонстрируют практические подходы к:

*   Повышению показателей завершения задач и снижению человеческого контроля *   Повышению качества и согласованности вывода *   Максимально эффективному использованию и выбору инструментов

### Метрики для оценки агентов ИИ

Вы должны помнить, что цель не в совершенстве, а в создании надёжных, измеримых и постоянно совершенствующихся агентов ИИ, которые обеспечивают постоянную ценность по всем четырём ключевым показателям производительности. См. Рис. **4.1**.

**Рис. 4.1:** Четыре ключевых показателя производительности для оценки агентов ИИ

### Кейс-стади 1: Усовершенствование агента по обработке претензий

**Рис. 4.2:** Обзор системы обработки претензий

```mermaid graph TD subgraph "Система обработки претензий" A[Валидатор претензий] --> B{Проверка покрытия}; A --> C{Информация о поставщике}; A --> D{История пациента}; B --> E{Проверка сети}; C --> E; D --> E; E --> F[Проверка права на выплату]; F --> G[Калькулятор платежей]; G --> H{Решение по претензии}; H -- Валидация --> I[Автоматическая оплата]; H -- Валидация --> J[Ручная проверка]; H -- Требуется обзор --> K[Очередь апелляций]; H -- Отклонено --> L[Очистить]; end ```

Медицинская сеть внедрила агента ИИ для автоматизации обработки страховых претензий, стремясь повысить эффективность и точность. Однако эта инициатива непреднамеренно привела к комплаенс-рискам, что было подчёркнуто несколькими ключевыми проблемами:

*   Агент ИИ испытывал трудности со сложными претензиями, что приводило к задержкам выплат и недовольству поставщиков. Из-за непоследовательности в обработке этих претензий обработчики претензий тратили больше времени на проверку работы ИИ, чем на обработку новых претензий.
*   Уровень ошибок в сложных случаях вызвал тревогу у команды по комплаенсу, что особенно критично, учитывая строгие нормативные требования к обработке медицинских претензий.

### Функциональность

ИИ был разработан для:

*   Анализа медицинских кодов *   Проверки страхового покрытия *   Проверки соответствия политике *   Валидации информации о поставщике *   Автоматической оценки полноты и соответствия претензий *   Расчёта ожидаемых платежей и генерации предварительных одобрений для простых претензий

### Вызовы

Чтобы противостоять этим проблемам, сеть сосредоточилась на трёх ключевых показателях производительности для преобразования возможностей своего агента ИИ:

1.  **Уровень ошибок вызовов LLM** *   **Проблема:** Сбои API во время анализа претензий приводили к неполной обработке и неверным одобрениям.
*   **Решение:** Внедрение надёжных протоколов восстановления после ошибок и строгое управление состоянием обеспечили точные откаты и повторную обработку.

2.  **Показатель завершения задач** *   **Проблема:** Агент некорректно помечал претензии как «завершённые» без проведения всех необходимых проверок.
*   **Решение:** Были введены обязательные контрольные списки проверок и критерии завершения для выполнения всех нормативных требований.

РУССКИЙ ПЕРЕВОД (стандарт Big4)

...нормативные требования перед окончательной обработкой заявлений.

### Количество запросов к агенту

3.  **Число запросов, переданных человеку** *   **Проблема:** Агент брал на себя сложные случаи, выходящие за рамки его возможностей, такие как экспериментальные процедуры или случаи, требующие координации выплат по нескольким полисам.
*   **Решение:** Были внедрены более строгие протоколы эскалации, автоматически направляющие случаи высокого риска к экспертам-людям на основе сложности заявления и нормативных требований.
4.  **Использование токенов за взаимодействие** *   **Проблема:** Излишнее включение деталей пациента при обработке стандартных заявлений повышало риски конфиденциальности.
*   **Решение:** Были приняты строгие протоколы минимизации данных и практики очистки контекста, чтобы гарантировать использование только необходимой защищенной медицинской информации.

### Результаты

Усовершенствованный агент обеспечил:
*   Более быструю обработку заявлений *   Повышенную точность соответствия нормативным требованиям *   Улучшенное использование ресурсов *   Снижение количества отказов

### Кейс-стади 2: Оптимизация агента налогового аудита

**Рис. 4.3:** Обзор системы налогового аудита *   Одобрить *   Глубокое сканирование *   Стандартная проверка *   Центр документов *   Финансовые записи *   Фаза документирования *   Квитанции *   Налоговые декларации *   Очередь аудита *   Быстрый обзор *   Обзор системы налогового аудита *   Итоговая оценка *   Движок ИИ для выявления рисков *   Пройдено *   Загрузка с высоким риском *   Загрузка со средним риском *   Фаза анализа данных *   Выявлено *   Загрузка с низким риском

В одной средней бухгалтерской фирме внедренный агент ИИ для аудита создал неожиданные узкие места в рабочем процессе. Хотя агент эффективно справлялся с рутинной обработкой налоговых документов, фирма беспокоилась о трех критических проблемах:
*   Длительные сроки выполнения сложных корпоративных аудитов *   Чрезмерные вычислительные затраты из-за неэффективной обработки *   Растущий объем незавершенных аудитов, требующих ручной проверки

То, что должно было упростить их операции, вместо этого заставляло старших аудиторов тратить больше времени на надзор за работой ИИ, чем на свой специализированный анализ. Фирме необходимо было понять, почему ее значительные инвестиции в ИИ не приносили ожидаемого роста производительности.

Агент ИИ для аудита был разработан для:
*   Обработки различных налоговых документов, от базовых кассовых чеков до сложных корпоративных финансовых отчетов.
*   Автоматического извлечения и перекрестной ссылки ключевых финансовых данных в корпоративных налоговых декларациях.
*   Систематической проверки соответствия за несколько налоговых лет.
*   Проверки заявлений на вычеты в соответствии с установленными правилами и выявления расхождений для дальнейшего рассмотрения.
*   Для более простых случаев он мог генерировать предварительные аудиторские заключения и отчеты.
*   Система была интегрирована с налоговым программным обеспечением фирмы и системами управления документами для доступа к историческим записям и прецедентам.

### Проблемы

Команда сосредоточилась на трех критических метриках для изменения возможностей своего агента:
1.  **Показатель успешности инструмента** *   **Проблема:** Агент испытывал трудности с эффективностью обработки документов, особенно со сложными иерархиями документов.
*   **Решение:** Внедрение протоколов структурированной классификации документов и фреймворков валидации улучшило обработку сложных документов.
2.  **Использование контекстного окна** *   **Проблема:** Обработка агентом налоговой истории в полном объеме была субоптимальной, часто упуская связи между связанными транзакциями.

*   **Решение:** Была внедрена интеллектуальная сегментация контекста, позволяющая агенту фокусироваться на соответствующих временных периодах и поддерживать исторический контекст. Это улучшило обнаружение тонких налоговых закономерностей.
3.  **Шаги на задачу** *   **Проблема:** Агент применял одинаковый уровень интенсивности анализа ко всем задачам, независимо от их сложности.
*   **Решение:** Были внедрены адаптивные рабочие процессы для корректировки глубины анализа в зависимости от сложности задачи.

Усовершенствованные возможности ИИ-агента привели к:
*   Сокращению времени завершения аудита *   Повышению точности обнаружения расхождений *   Более эффективному использованию вычислительных ресурсов

### Кейс-стади 3: Улучшение агента по анализу акций

**Рис. 4.4:** Обзор системы анализа акций *   Список наблюдения *   Приоритетная сделка *   Закрытие позиции *   Интегрировать *   Извлекать *   Обрабатывать *   Анализировать *   Контекст рынка *   Технические индикаторы *   Данные о ценах *   Лента новостей *   Рыночные данные *   Финансовые отчеты *   Анализ настроений *   Фундаментальные показатели *   Движок прогнозирования *   Обзор системы анализа акций *   Торговые сигналы *   Интегрировать *   Собирать *   Активно покупать *   Держать *   Продавать

В одной бутик-инвестиционной фирме сервис анализа с использованием ИИ находился под пристальным вниманием, поскольку клиенты ставили под сомнение его ценность. Портфельные менеджеры были перегружены избыточными запросами на анализ и сталкивались с непоследовательными форматами отчетности в различных клиентских сегментах.

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

Агент ИИ для анализа был разработан для:
*   Обработки нескольких потоков данных, включая рыночные цены, финансовые показатели компаний, новостные ленты и аналитические отчеты.
*   Генерации комплексных анализов акций путем оценки технических индикаторов, фундаментальных показателей и выявления рыночных тенденций в различных временных рамках.
*   Генерации индивидуальных отчетов, объединяющих количественные данные с качественными аналитическими выводами для каждого запроса на анализ.
*   Система была интегрирована с торговыми платформами фирмы и базами данных исследований, предоставляя рыночную аналитику в реальном времени.

Анализируя три ключевых показателя, команда улучшила производительность ИИ-агента:
1.  **Общее время выполнения задачи** *   **Проблема:** Агент применял одинаковую глубину анализа ко всем типам акций, независимо от их сложности.
*   **Решение:** Были внедрены адаптивные аналитические фреймворки, основанные на характеристиках акций, для повышения эффективности обработки при сохранении качества аналитических выводов.
2.  **Показатель успешности формата вывода** *   **Проблема:** Несоответствия в представлении рыночного анализа агентом для различных ролей пользователей. Аналитики и бизнес-менеджеры получали неадекватный уровень детализации для своих конкретных потребностей.

*   **Решение:** Были внедрены ролевые шаблоны вывода и улучшен анализ требований к выводу, что позволило агенту соответствующим образом форматировать свои анализы для различных аудиторий, сохраняя при этом аналитическую точность.
3.  **Использование токенов за взаимодействие** *   **Проблема:** Агент неэффективно перерабатывал целые документы для новых запросов, например, многократно анализируя квартальный отчет о прибыли компании для связанных вопросов.
*   **Решение:** Были приняты улучшенные методы управления памятью и прогрессивного анализа, позволяющие агенту повторно использовать соответствующие аналитические выводы для связанных запросов, обеспечивая при этом аналитическую точность.

Усовершенствования ИИ-агента обеспечили:
*   Более точный рыночный анализ *   Более быстрое время обработки *   Улучшенное использование ресурсов

### Кейс-стади 4: Модернизация агента для кодирования

**Рис. 4.5:** Обзор системы ассистента разработки *   Проверка разработки *   Автоматическое применение *   Командный обзор *   Обработка *   Парсинг *   Обработка *   Обзор *   Генерация *   Контекст рынка *   Проверка синтаксиса *   Новый код *   История Git *   Анализ кода *   Строки документации *   Анализ паттернов *   Создание контекста *   Движок предложений *   Обзор системы ассистента разработки *   Процесс ревью кода *   Оптимально *   Требует ревью *   Сложно

Компания по разработке программного обеспечения внедрила ИИ-ассистента для кодирования, чтобы повысить продуктивность инженеров. Однако вместо ускорения циклов разработки ассистент стал источником разочарования из-за частых сбоев и ненадежной работы, особенно во время критических сроков спринтов.

Разработчики сталкивались с задержками, так как агент с трудом справлялся с крупными кодовыми базами и предоставлял нерелевантные предложения, не учитывающие специфические требования проекта. Кроме того, рост инфраструктурных затрат из-за неэффективного использования ресурсов еще больше усугублял ситуацию, что привело к необходимости трансформационных улучшений, чтобы сделать ИИ-ассистента подлинным инструментом повышения продуктивности.

ИИ-ассистент для кодирования был разработан для:
*   Анализа кодовых баз для предоставления контекстных предложений, выявления потенциальных ошибок и рекомендаций по оптимизации.
*   Просмотра изменений кода, обеспечения соответствия стандартам проекта и генерации предложений по документации.
*   Работы с множеством языков программирования и фреймворков, адаптации рекомендаций к специфическим потребностям проекта.
*   Система была интегрирована с общими инструментами разработки и системами контроля версий, поддерживая разработчиков на протяжении всего цикла разработки.

Оптимизируя три ключевых показателя, команда значительно улучшила возможности агента:
1.  **Частота ошибок вызовов LLM** *   **Проблема:** Частые тайм-ауты API при обработке больших файлов кода и сбои соединения во время пиковой нагрузки.
*   **Решение:** Были внедрены надежная обработка ошибок, автоматические повторные попытки и механизмы очереди запросов, что значительно повысило надежность вызовов API и минимизировало сбои в рабочем процессе.

2.  **Показатель успешности задачи** *   **Проблема:** Несоответствия в релевантности и полноте предложений по коду. Агент иногда предоставлял излишне сложные переписывания для простых исправлений стиля или неадекватные детали для требуемого рефакторинга.
*   **Решение:** Были внедрены стандартизированные шаблоны ответов для различных проблем с кодом, включая руководства по стилю, исправления ошибок, предложения по рефакторингу и рекомендации по оптимизации, что сделало предложения агента более последовательно применимыми.
3.  **Стоимость завершения задачи** *   **Проблема:** Неэффективное распределение ресурсов в рабочих процессах отладки, использование одной и той же вычислительной мощности для мелких и крупных задач.
*   **Решение:** Была внедрена многоуровневая обработка на основе сложности и объема изменений кода, что оптимизировало использование ресурсов при сохранении высокого качества анализа.

Оптимизации обеспечили:
*   Повышенную точность анализа кода *   Улучшенную релевантность предложений *   Более эффективное использование ресурсов

### Кейс-стади 5: Улучшение агента для скоринга лидов

**Рис. 4.6:** Обзор системы скоринга лидов *   Взращивать *   Отслеживать *   Готов к продажам *   Поддерживать интерес *   Объединять *   Парсинг *   Объединять *   Обзор *   Поток *   Процессор сигналов *   Показатель поведения *   Посещения веб-сайта *   Открытия электронной почты *   Цифровые сигналы *   Клики в социальных сетях *   Показатель интереса *   Показатель вовлеченности *   Движок ML *   Обзор системы скоринга лидов *   Квалификация лида *   Объединять *   Сканировать *   Сильные сигналы *   Средние сигналы *   Слабые сигналы

Компания по разработке программного обеспечения внедрила ИИ-агента для скоринга лидов с целью оптимизации стратегий продаж. Несмотря на обещание повысить эффективность квалификации лидов, агент изначально был неэффективным, что приводило к неправильной классификации потенциальных клиентов и снижению коэффициентов конверсии.

Торговые представители обнаруживали, что преследуют малоперспективные лиды из-за устаревших или неточных оценок, особенно в пиковые периоды, что приводило к увеличению затрат на квалифицированный лид и подрывало целевые показатели роста.

*   Оценка данных из множества источников, таких как взаимодействия на веб-сайте, ответы на электронные письма, активность в социальных сетях и записи CRM, для оценки потенциальных клиентов.
*   Анализ профилей компаний, оценка моделей вовлеченности и генерация скоринга лидов на основе предопределенных критериев.
*   Автоматическая категоризация потенциальных клиентов по отрасли, размеру компании и потенциальной стоимости сделки, обновление оценок в реальном времени по мере поступления новой информации.
*   Интеграция с инструментами продаж компании, предоставление торговым представителям приоритизированных списков лидов и рекомендаций по вовлечению.

1.  **Использование токенов за взаимодействие** *   **Проблема:** Агент повторяюще генерировал новые анализы для схожих профилей компаний вместо использования существующих выводов.
*   **Решение:** Внедрение интеллектуального сопоставления паттернов и повторного использования контекста повысило эффективность обработки при сохранении точности оценки качества лидов.
2.  **Задержка на вызов инструмента** *   **Проблема:** Узкие места в производительности возникали из-за последовательных шаблонов запросов к базе данных, вызывая задержки.
*   **Решение:** Внедрение параллельной обработки и интеллектуального кэширования данных преобразило скорость анализа агента.
3.  **Точность выбора инструмента** *   **Проблема:** Агент неэффективно выбирал между схожими методами анализа, используя более ресурсоемкие инструменты для базовых задач.

*   **Решение:** Разработка более интеллектуальных критериев выбора позволила агенту сопоставлять сложность инструмента с потребностями анализа, используя более простые инструменты для прямолинейных задач и резервируя интенсивные инструменты для сложных случаев.

*   Более быстрая обработка анализа потенциальных клиентов *   Более высокая точность квалификации лидов *   Повышенная эффективность использования ресурсов

Эти примеры использования показывают ключевую истину: эффективные ИИ-агенты требуют тщательного измерения и непрерывной оптимизации. По мере того, как эти системы становятся более сложными, способность измерять и улучшать их производительность становится все более важной.

Вот краткий вывод:
*   Оптимизация, основанная на метриках, должна соответствовать бизнес-целям *   Трансформация человеческого труда критически важна для успеха ИИ *   Четкие целевые показатели результатов стимулируют лучшие решения по оптимизации *   Регулярные циклы измерения и корректировки необходимы *   Баланс между автоматизацией и человеческим надзором критически важен

### Глава 5

### Почему большинство ИИ-агентов терпят неудачу и как это исправить

В предыдущей главе мы рассмотрели различные метрики для оценки наших ИИ-агентов, а именно по четырем основным измерениям: техническая эффективность, выполнение задач, контроль качества и взаимодействие с инструментами. В нашем путешествии мы также видели, как агенты являются мощными инструментами, способными автоматизировать сложные задачи и процессы, с множеством фреймворков, которые позволяют создавать сложные агенты в нескольких строках кода. Однако многие ИИ-агенты не приносят ожидаемых результатов, несмотря на их потенциал. В этой главе мы рассмотрим, почему агенты терпят неудачу, предоставляя понимание распространенных ловушек и стратегий для их преодоления.

### Проблемы и решения для ИИ-агентов

| Категория проблем        | Проблема                                        | Решение                                                                                                                                                                                                                                                                                           |
| :---------------------- | :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **ПРОБЛЕМЫ РАЗРАБОТКИ** | Плохо определенные промпты                       | Определить четкие цели. Создавать подробные персоны. Использовать эффективные методы формирования промптов.                                                                                                                                                                                               |
|                         | Проблемы с оценкой                              | Непрерывная оценка. Использовать сценарии реального мира. Внедрять циклы обратной связи.                                                                                                                                                                                                            |
| **ПРОБЛЕМЫ LLM**        | Трудно управляем                                | Специализированные промпты. Иерархический дизайн. Тонкая настройка моделей.                                                                                                                                                                                                                         |
|                         | Высокая стоимость запуска                       | Уменьшить размер контекста. Использовать меньшие модели. Облачные решения.                                                                                                                                                                                                                         |
|                         | Сбои планирования                               | Декомпозиция задач. Выбор нескольких планов. Рефлексия и уточнение.                                                                                                                                                                                                                                |
|                         | Сбои рассуждений                                | Улучшить способности к рассуждению. Тонко настраивать LLM с обратной связью. Использовать специализированных агентов.                                                                                                                                                                               |
|                         | Сбои вызова инструментов                        | Определить четкие параметры. Проверять выходы инструментов. Выбор инструмента.                                                                                                                                                                                                                      |
| **ПРОБЛЕМЫ В ПРОДАКШЕНЕ** | Верификационные циклы                           | Защитные барьеры. Фильтры и валидация на основе правил. Надзор с участием человека. Этические и нормативные рамки.                                                                                                                                                                                  |
|                         | Масштабирование агента                          | Масштабируемые архитектуры. Управление ресурсами. Мониторинг производительности.                                                                                                                                                                                                                   |
|                         | Отказоустойчивость                              | Избыточность. Автоматическое восстановление. Восстановление состояния.                                                                                                                                                                                                                             |
|                         | Бесконечные циклы                               | Четкие условия завершения. Улучшить рассуждения и планирование. Мониторинг поведения агента.                                                                                                                                                                                                       |

### Проблемы разработки

### Плохо определенная задача или персона

Четко определенная задача или персона необходимы для эффективной работы ваших ИИ-агентов. Они проясняют цели, ограничения и ожидаемые результаты агента, гарантируя, что ваш агент сможет принимать соответствующие решения и эффективно работать. Без этого агенты могут испытывать трудности с принятием соответствующих решений, что приводит к субоптимальной производительности.

#### Определите четкие цели

Вы должны указать цели, ограничения и ожидаемые результаты для каждого агента.

#### Создавайте подробные персоны

Разработайте персоны, которые описывают роль, обязанности и поведение агента для вас.

#### Формирование промптов

Используйте методы формирования промптов, основанные на исследованиях, чтобы уменьшить галлюцинации у ваших агентов.

### Проблемы оценки

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

#### Непрерывная оценка

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

#### Использование сценариев реального мира

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

#### Циклы обратной связи

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

### Распределение задач

*   Разбивка задач *   Реализация задач *   Распределение ресурсов *   Контроль качества

### Проблемы LLM

Вы можете направлять LLM на выполнение конкретных задач или достижение целей для обеспечения последовательной и надежной производительности. Эффективное управление гарантирует, что агенты смогут точно и эффективно выполнять свои предназначенные функции. LLM подвержены влиянию огромных объемов обучающих данных, что может приводить к непредсказуемому поведению, а их тонкая настройка для конкретных задач требует значительного опыта и вычислительных ресурсов.

#### Специализированные промпты

Используйте специализированные промпты для направления LLM на конкретные задачи.

#### Иерархический дизайн

Внедрите иерархический дизайн, где специализированные агенты обрабатывают конкретные задачи, уменьшая сложность управления одним агентом. (См. Рис. 5.1)

#### Тонкая настройка

Постоянно тонко настраивайте LLM на основе данных, специфичных для задач, для улучшения производительности.

**Рис. 5.1:** Иерархический дизайн со специализированными агентами, выполняющими конкретные задачи *   Агент-контроллер *   Агент планирования *   Агент исследования *   Агент выполнения *   Сбор данных *   Анализ

### Трудно управляем

Mastering AI Agents

### Высокая стоимость запуска

Запуск LLM, особенно в производственных средах, может быть непомерно дорогим. Вычислительные ресурсы, необходимые для инференса, особенно для больших моделей, могут привести к высоким операционным затратам. Это затрудняет для организаций масштабирование развертывания своих агентов экономически эффективным способом.

#### Уменьшить контекст

Агенты могут работать некоторое время в своих итерационных циклах. Внедрите механизмы для использования как можно меньшего контекста, чтобы сократить количество токенов.

#### Использовать меньшие модели

По возможности используйте меньшие модели или дистиллируйте более крупные модели для сокращения затрат.

#### Облачные решения

Используйте облачные решения для эффективного управления и масштабирования вычислительных ресурсов. Разработайте бессерверную систему для экономии ресурсов. (См. Рис. 5.2.)

#### Компоненты Рис. 5.2

*   **Очередь SQS** действует как наш буфер запросов.
*   **Контроллер Lambda** принимает интеллектуальные решения по обработке запросов.
*   **API малой модели** для простых завершений и базовых задач.
*   **API средней модели** для задач умеренной сложности.
*   **API большой модели** для сложных задач рассуждения.
*   **Кэш моделей** для хранения часто используемых ответов для сокращения вызовов API.
*   **CloudWatch** для мониторинга работоспособности системы и затрат.

**Рис. 5.2:** Бессерверная архитектура, где контроллер Lambda принимает интеллектуальные решения по обработке запросов *   Lambda – Малые задачи *   API большой модели *   API средней модели *   API малой модели *   Кэш моделей *   Lambda – Сложные задачи *   Lambda – Средние задачи *   Очередь SQS *   Контроллер Lambda *   CloudWatch *   API Gateway

### Сбои планирования

Эффективное планирование имеет решающее значение для выполнения агентами сложных задач. Планирование позволяет

## Эффективное использование AI-агентов

**Провайдер**: McKinsey & Company

Агентам необходимо предвидеть будущие состояния, принимать обоснованные решения и выполнять задачи структурированным образом. Без эффективного планирования агенты могут испытывать трудности с достижением желаемых результатов. Однако большие языковые модели (БЯМ) часто сталкиваются с проблемами в планировании, поскольку это требует сильных способностей к рассуждению и умения предвидеть будущие состояния.

*   **Декомпозиция задач**. Разделение задач на более мелкие, управляемые подзадачи.
*   **Выбор нескольких планов**. Создание нескольких планов и выбор наиболее подходящего на основе контекста.
*   **Рефлексия и уточнение**. Постоянное уточнение планов на основе новой информации и обратной связи.

...и эффективное масштабирование вычислительных ресурсов. Разработайте бессерверную систему для экономии ресурсов (см. рис. 5.2).

На рисунке 5.3 представлена простая иллюстрация того, как агент планирует и выполняет сложные задачи с использованием декомпозиции, выбора нескольких планов и постоянного уточнения. Процесс включает:
*   Входные данные сложной задачи *   Анализ задачи *   Декомпозиция задачи *   Генерация плана *   Подзадача 1 План A *   Подзадача 1 План B *   Подзадача 1 План C *   Оценка плана *   Выбранный план *   Выполнение *   Рефлексия *   Петля обратной связи успеха *   Задача выполнена

## Ошибки в рассуждениях

Рассуждение — это фундаментальная способность, которая позволяет агентам принимать решения, решать проблемы и понимать сложные среды. Сильные навыки рассуждения необходимы агентам для эффективного взаимодействия со сложными средами и достижения желаемых результатов. БЯМ, не обладающие сильными навыками рассуждения, могут испытывать трудности с задачами, требующими многошаговой логики или тонкой оценки (см. рис. 5.4).

*   **Повышение способностей к рассуждению**. Используйте методы промптинга, такие как Reflexion, для повышения способностей к рассуждению. Включайте внешние модули рассуждения, которые могут помочь агенту в сложных процессах принятия решений. Эти модули могут включать специализированные алгоритмы для логического рассуждения, вероятностного вывода или символьных вычислений.
*   **Дообучение БЯМ**. Настройте обучение с использованием данных, генерируемых человеком в процессе. Петли обратной связи позволяют агенту учиться на своих ошибках и со временем уточнять свои рассуждения. Вы можете использовать данные со следами рассуждений, которые обучают модель рассуждать или планировать в различных сценариях.
*   **Использование специализированных агентов**. Разрабатывайте специализированных агентов, которые сосредоточены на конкретных задачах рассуждения, чтобы улучшить общую производительность.

На рисунке 5.4 представлена простая иллюстрация того, как можно повысить способности БЯМ. Процесс включает:
*   Вопрос пользователя *   Первоначальный ответ *   Специализированный модуль *   Помощник по логике для четкого логического пути *   Помощник по вероятности для различных вероятных исходов *   Улучшенный ответ *   Самопроверка *   Проверка рассуждений *   Человеческая обратная связь *   Выглядит хорошо *   Нуждается в улучшении *   Обучение *   Окончательный ответ

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

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

*   **Определите четкие параметры**. Убедитесь, что инструменты имеют четко определенные параметры и рекомендации по использованию.
*   **Проверяйте выходные данные инструмента**. Внедрите проверки валидации, чтобы гарантировать точность и релевантность выходных данных инструмента.
*   **Проверка выбора инструмента**. Используйте уровень верификации, чтобы проверить, правильно ли выбран инструмент для работы.

## Защитные механизмы при производственных проблемах

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

*   **Внедряйте фильтры на основе правил и механизмы валидации** для мониторинга и контроля действий и выходных данных AI-агентов.
*   **Контент-фильтры**. Используйте предопределенные правила для фильтрации неприемлемого, оскорбительного или вредоносного контента. Например, контент-фильтры могут сканировать выходные данные агента на наличие запрещенных слов или фраз и блокировать или изменять ответы, содержащие такой контент.
*   **Проверка входных данных**. Перед обработкой входные данные, полученные агентом, должны быть проверены, чтобы убедиться, что они соответствуют определенным критериям. Это может предотвратить нежелательное поведение, вызванное вредоносными или некорректными входными данными.
*   **Ограничения действий**. Определите ограничения на действия, которые могут выполнять агенты. Например, агент, управляющий финансовыми транзакциями, должен иметь правила, которые запрещают ему инициировать транзакции выше определенного порога без дополнительной авторизации.

*   **Включайте механизмы «человек в контуре»** для обеспечения надзора и возможности вмешательства.
*   **Рабочие процессы утверждения**. Внедряйте рабочие процессы, при которых определенные действия или выходные данные требуют человеческого одобрения перед выполнением. Например, агент, генерирующий юридические документы, может передавать свои черновики на проверку эксперту-человеку перед окончательной доработкой.
*   **Петли обратной связи**. Позволяйте людям предоставлять обратную связь о производительности и выходных данных агента. Эту обратную связь можно использовать для уточнения поведения агента и улучшения будущих взаимодействий.
*   **Протоколы эскалации**. Установите протоколы для эскалации сложных или чувствительных задач операторам-людям. Например, если агент сталкивается с ситуацией, которую он не может обработать, он может эскалировать проблему человеческому супервайзеру для разрешения.

*   **Разрабатывайте и внедряйте этические и нормативные рамки** для руководства поведением AI-агентов.
*   **Этические принципы**. Установите этические принципы, которые определяют нормы и ценности, которым агент должен придерживаться. Эти принципы могут охватывать такие области, как справедливость, прозрачность и подотчетность.
*   **Проверки соответствия**. Внедрите проверки соответствия, чтобы гарантировать, что действия и выходные данные агента соответствуют нормативным требованиям и организационным политикам. Например, агент, обрабатывающий персональные данные, должен соблюдать правила защиты данных, такие как GDPR.
*   **Журналы аудита**. Ведите журналы аудита, которые записывают действия и решения агента. Это позволяет проводить ретроспективный анализ и обеспечивать подотчетность, гарантируя, что любые отклонения от этических или нормативных стандартов могут быть выявлены и устранены.

## Масштабирование агентов

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

*   **Масштабируемые архитектуры**. Проектируйте архитектуры, которые могут эффективно управлять возросшими рабочими нагрузками и сложностью. Внедряйте микросервисную архитектуру, где каждый агент или группа агентов функционирует как независимый сервис. Это позволяет легче масштабировать и управлять отдельными компонентами, не затрагивая всю систему.
*   **Управление ресурсами**. Интегрируйте балансировщики нагрузки для равномерного распределения входящих запросов между несколькими агентами. Это предотвращает перегрузку любого отдельного сервиса агента и обеспечивает более эффективное использование ресурсов.
*   **Мониторинг производительности**. Внедряйте инструменты мониторинга в реальном времени для отслеживания производительности каждого агента. Такие показатели, как время отклика, использование ресурсов и частота ошибок, должны постоянно отслеживаться для выявления потенциальных проблем (см. рис. 5.5).

На рисунке 5.5 показана иллюстрация того, как можно добавить мониторинг и балансировщики нагрузки для легкого масштабирования вверх и вниз. Процесс включает:
*   Запросы пользователя *   Балансировщик нагрузки *   Пул AI-агентов *   AI-агент 1 *   AI-агент 2 *   AI-агент 3 *   Мониторинг *   Отслеживание производительности *   Автоматическое масштабирование *   Масштабирование вверх/вниз

## Отказоустойчивость

AI-агенты должны быть отказоустойчивыми, чтобы гарантировать, что они могут восстанавливаться после ошибок и продолжать эффективно работать. Без надежных механизмов отказоустойчивости агенты могут не справляться с непредвиденными ситуациями, что приводит к сбоям системы или снижению производительности (см. рис. 5.6).

*   **Избыточность**. Развертывайте несколько экземпляров AI-агентов, работающих параллельно. Если один экземпляр выходит из строя, другие экземпляры могут продолжать обрабатывать запросы без перерыва. Такой подход обеспечивает высокую доступность и минимизирует время простоя.
*   **Автоматическое восстановление**. Внедряйте интеллектуальные механизмы повторных попыток, которые автоматически пытаются восстановиться после временных ошибок. Это включает стратегии экспоненциальной задержки, при которых интервал повторной попытки постепенно увеличивается после каждой неудачной попытки, снижая риск перегрузки системы. Разрабатывайте механизмы самовосстановления, которые автоматически перезапускают или заменяют вышедшие из строя экземпляры агентов.
*   **Восстановление состояния**. Убедитесь, что AI-агенты могут восстанавливать свое состояние после сбоя. Это включает использование постоянного хранилища для сохранения состояния и контекста агента, что позволяет ему возобновить операции из последнего известного хорошего состояния после перезапуска.

На рисунке 5.6 представлен отказоустойчивый механизм для AI-агентов, позволяющий быстро восстанавливаться после ошибок и продолжать эффективно работать. Процесс включает:
*   Ваша задача *   Процесс задачи *   Проверка работоспособности (периодическая) *   Ошибка произошла?
*   Нет → Успех *   Да → Неудача *   Избыточные агенты *   Основной агент *   Резервный агент 1 *   Резервный агент 2 *   Переключение на резервный *   Логика повторной попытки *   Таймер задержки *   Сохранение состояния *   Постоянное хранилище *   Задача выполнена

## Бесконечные циклы

Механизмы зацикливания необходимы агентам для выполнения итеративных задач и уточнения своих действий на основе обратной связи. Агенты иногда могут застревать в циклах, многократно выполняя одни и те же действия, не продвигаясь к своим целям (см. рис. 5.7).

*   **Четкие условия завершения**. Внедряйте четкие критерии успеха и механизмы для выхода из циклов.
*   **Улучшение рассуждений и планирования**. Повышайте способности агента к рассуждению и планированию, чтобы предотвратить бесконечные циклы.
*   **Мониторинг поведения агента**. Отслеживайте поведение агента и вносите коррективы для предотвращения проблем с зацикливанием.

На рисунке 5.7 представлена простая стратегия предотвращения бесконечных циклов. Процесс включает:
*   Получить задачу *   Определить цель и шаги *   Анализ задачи *   Планирование *   Рассуждение *   Цикл рассуждений *   Проверить прогресс *   Под максимальными шагами → Новый подход *   Превышает максимальные шаги → Нет прогресса *   Генерировать решение *   Достигнута цель?
*   Да → Вернуть результат *   Нет → Вернуть лучшее решение *   Настройка *   Успех *   Завершить

Через приведенные выше примеры и диаграммы рабочих процессов (рис. 5.1–5.6) вы заметите, что, хотя создание AI-агентов представляет многочисленные проблемы, понимание и устранение этих распространенных точек отказа необходимо для успеха. Внедряя надлежащие защитные механизмы, обеспечивая надежную обработку ошибок и проектируя масштабируемые архитектуры, вы можете создавать агентов, которые надежно работают и обеспечивают реальную ценность в производственных средах. При этом помните, что создание эффективных агентов — это итеративный процесс. Всегда начинайте с малого, тщательно тестируйте и постепенно расширяйте возможности вашего агента, извлекая уроки из реального использования. Уделяйте особое внимание основам, которые мы рассмотрели, — от четкого определения задач и оценки до надлежащего планирования и способностей к рассуждению. Это поможет вам заложить прочный фундамент, когда вы начнете экспериментировать с вашими AI-агентами.

## Глоссарий

| Термин                                  | Описание                                                                                                                                                                                                                                                                                                    |
|:----------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Большая языковая модель (БЯМ)           | Усовершенствованная модель искусственного интеллекта, которая может понимать и генерировать человекоподобный текст, предсказывая следующее слово в последовательности.                                                                                                                                     |
| AI-агент                                | Программное приложение на базе больших языковых моделей, которое автономно выполняет конкретные задачи и принимает сложные решения.                                                                                                                                                                          |
| Агентно-ориентированная система         | Подход, при котором программные агенты работают независимо для решения проблем посредством принятия решений и взаимодействий.                                                                                                                                                                                |
| Автоматизация задач                     | Процесс использования ИИ для выполнения повторяющихся или сложных задач без участия человека.                                                                                                                                                                                                            |
| Задержка системы                        | Задержка времени между моментом получения входных данных AI-агентом и моментом предоставления ответа.                                                                                                                                                                                                      |
| Память сущностей                        | Специализированная форма памяти ИИ, которая сохраняет подробную информацию о конкретных сущностях (людях, организациях, концепциях) в ходе нескольких взаимодействий.                                                                                                                                       |
| Человек в контуре (HITL)                | Подход к проектированию систем, который интегрирует человеческий надзор и точки вмешательства в автоматизированные процессы ИИ.                                                                                                                                                                            |
| Мультиагентный паттерн                  | Структурированный подход к организации взаимодействий нескольких AI-агентов, включая иерархические, последовательные и динамические паттерны.                                                                                                                                                                 |
| Ролевой дизайн агентов                  | Архитектурный подход, при котором AI-агентам назначаются определенные роли с заданными обязанностями, инструментами и паттернами взаимодействия в рамках более крупной системы.                                                                                                                            |
| Управление состоянием                   | Систематическое отслеживание и контроль внутренних условий, памяти и контекста AI-агента на протяжении всего цикла его работы.                                                                                                                                                                             |
| Использование контекстного окна         | Метрика, измеряющая, насколько эффективно AI-агент использует свою доступную вычислительную мощность для анализа и сохранения информации.                                                                                                                                                                 |
| Частота ошибок вызовов БЯМ              | Критическая метрика надежности, отслеживающая частоту неудачных запросов API и ошибок обработки, когда AI-агент взаимодействует с его базовой языковой моделью.                                                                                                                                              |
| Задержка на один вызов инструмента      | Показатель производительности, измеряющий задержку времени между запросом AI-агента на использование конкретного инструмента и получением ответа от инструмента.                                                                                                                                            |
| Показатель успешности формата вывода    | Метрика качества, оценивающая, насколько точно AI-агент придерживается указанных требований к форматированию и стандартам представления для различных ролей пользователей и контекстов.                                                                                                                  |
| Шаги на задачу                          | Метрика эффективности, отслеживающая количество дискретных операций, которые требуются AI-агенту для выполнения данной задачи.                                                                                                                                                                            |
| Показатель завершения задач             | Комплексный показатель производительности, измеряющий процент заданий, которые AI-агент успешно завершает без вмешательства человека.                                                                                                                                                                       |
| Точность выбора инструмента             | Метрика, оценивающая, насколько правильно AI-агент выбирает конкретные инструменты или методы из своего доступного набора инструментов на основе требований задачи и сложности.                                                                                                                               |
| Использование токенов на взаимодействие | Метрика эффективности ресурсов, отслеживающая, сколько вычислительных единиц (токенов) потребляет AI-агент во время обработки задачи.                                                                                                                                                                    |
| Иерархический дизайн                    | Системная архитектура, где специализированные AI-агенты обрабатывают конкретные задачи, снижая сложность управления одним агентом.                                                                                                                                                                       |
| Методы промптинга                       | Методы, основанные на исследованиях, для управления поведением БЯМ и снижения галлюцинаций в AI-агентах.                                                                                                                                                                                                     |
| Reflexion                               | Специализированный метод промптинга, который повышает способности AI-агента к рассуждению посредством саморефлексии и улучшения.                                                                                                                                                                          |
| Бессерверная архитектура                | Облачная системная архитектура, где вычислительные ресурсы динамически выделяются на основе требований к рабочей нагрузке AI-агента.                                                                                                                                                                     |
| Декомпозиция задач                      | Процесс разбиения сложных заданий на более мелкие, управляемые подзадачи для эффективной обработки AI-агентами.                                                                                                                                                                                      |
| Вызов инструмента                       | Механизм, с помощью которого AI-агенты взаимодействуют с внешними системами и источниками данных для решения сложных проблем посредством множественных взаимодействий с инструментами.                                                                                                                     |