Чтобы помочь разработчикам понять и использовать агентов искусственного интеллекта, Джанакирам МСВ, главный аналитик компании Janakiram & Associates, приводит на портале The New Stack схематическое описание технологии, исходящее из предпосылки, что ИИ-агенты — это цифровые двойники сотрудников.

Агенты и агентные рабочие процессы — это новые звучные термины в экосистеме генеративного ИИ (GenAI). Но, как и в любой другой новой технологии, терминология и определения агентов разнообразны и часто запутывают разработчиков. Чтобы помочь разобраться с агентами, в этой статье мы предлагаем информацию для разработчиков, которые уже знакомы с основами больших языковых моделей (LLM) и инженерии подсказок. Мы поможем вам разобрать каждый аспект анатомии агента и сопоставить его с технической реализацией.

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

Анатомия ИИ-агента

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

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

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

Основная анатомия ИИ-агента

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

Давайте рассмотрим эти атрибуты подробнее.

Персона

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

Технически, персона сопоставляется с системной подсказкой в контексте LLM. Большинство API вывода позволяют определять набор сообщений для системной роли, роли помощника и роли пользователя. Системная роль транслируется в персону агента и сохраняется в течение всей сессии

Например, приведенная ниже системная роль определяет персону, или должностную функцию агента:

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

Инструкция

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

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

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

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

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

Задача

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

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

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

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

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

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

Планирование

Компонент планирования — неотъемлемая часть стратегии подсказок, которая является продолжением общей инструкции. Он предназначен для того, чтобы направлять ИИ-агента на конкретные процессы рассуждений или корректировки поведения в ответ на более сложные или развивающиеся ситуации. В то время как инструкция и задача обеспечивают широкую основу для решения различных проблем, стратегия подсказок направлена на повышение способности агента рассуждать, адаптироваться и размышлять на основе пользовательских данных. Эти стратегии зависят от конкретной ситуации и помогают агенту выполнять пошаговые рассуждения или самокоррекцию, обеспечивая продуманное и эффективное выполнение задачи. Технически можно применять некоторые техники инжиниринга, такие как React, Chain-of-Thought и Reflection, чтобы помочь агенту рассуждать и планировать задачу.

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

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

Например, подсказка «Цепочка мыслей» может быть следующей:

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

Память

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

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

Конкретная реализация может выглядеть следующим образом: «Клиент ранее сообщал о похожей проблеме с продуктом два месяца назад в тикете № 12345. Вот краткое описание того решения, и теперь я могу использовать его для решения текущей проблемы». Такое сочетание кратковременной и долговременной памяти позволяет агенту предлагать более бесперебойную и персонализированную поддержку.

Инструменты

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

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

Например, в случае, когда ИИ-агенту поддержки поручено обновить информацию о клиентской доставке, он может использовать вызов инструментов для взаимодействия с ERP-системой компании. Запрос может выглядеть следующим образом: получить доступ к ERP-системе, чтобы обновить данные о доставке заказа {order_id} по новому адресу, указанному клиентом.

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

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

Делегирование

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

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

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

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

Заключение

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