Введение в агентов
Переведено специально для подписчиков телеграм канала Ai_Money_Maker
Добро пожаловать в первый модуль, где вы заложите прочную основу в фундаментальных принципах ИИ-агентов, включая:
• Что такое агент и как он работает?
• Как агенты принимают решения, используя рассуждения и планирование?
• Роль больших языковых моделей (LLM) в агентах
• Как LLM служат “мозгом” агента.
• Как LLM структурируют разговоры через систему сообщений.
• Как агенты используют внешние инструменты для взаимодействия с окружающей средой.
• Как создавать и интегрировать инструменты для вашего агента.
• Думать → Действовать → Наблюдать.
После изучения этих тем вы создадите своего первого агента, используя smolagents!
Ваш агент, по имени Альфред, выполнит простую задачу и продемонстрирует, как применять эти концепции на практике.
Вы даже узнаете, как опубликовать своего агента на Hugging Face Spaces, чтобы поделиться им с друзьями и коллегами.
Наконец, в конце этого модуля вы пройдете тест. Сдав его, вы получите свой первый сертификат курса:
Этот модуль является вашим основным стартом, закладывая основу для понимания агентов перед переходом к более продвинутым темам.
Это большой модуль, поэтому не торопитесь и не стесняйтесь возвращаться к этим разделам время от времени.
Что такое агент?
В этом разделе вы познакомитесь с понятием агентов и их различными применениями в области искусственного интеллекта.
Чтобы объяснить, что такое агент, начнем с аналогии.
Представьте, что Альфред получает команду: «Альфред, я бы хотел кофе, пожалуйста».
Поскольку Альфред понимает естественный язык, он быстро улавливает нашу просьбу.
Прежде чем выполнить заказ, Альфред занимается рассуждением и планированием, определяя шаги и инструменты, которые ему нужны:
После того как у него есть план, он должен действовать. Чтобы выполнить свой план, он может использовать инструменты из списка известных ему.
В данном случае, чтобы приготовить кофе, он использует кофемашину. Он активирует кофемашину, чтобы сварить кофе.
Наконец, Альфред приносит нам свежесваренный кофе.
И это то, что представляет собой агент: модель искусственного интеллекта, способная рассуждать, планировать и взаимодействовать со своей средой.
Мы называем его агентом, потому что он обладает агентностью, то есть способностью взаимодействовать со средой.
Теперь, когда у вас есть общее представление, вот более точное определение:
Агент — это система, которая использует модель искусственного интеллекта для взаимодействия со своей средой с целью достижения заданной пользователем цели. Она сочетает в себе рассуждение, планирование и выполнение действий (часто с помощью внешних инструментов) для выполнения задач.
Представьте агента, состоящего из двух основных частей:
Здесь происходит все мышление. Модель ИИ отвечает за рассуждение и планирование. Она решает, какие действия предпринять в зависимости от ситуации.
2. Тело (возможности и инструменты)
Эта часть представляет собой все, чем оснащен агент.
Объем возможных действий зависит от того, чем оснащен агент. Например, поскольку у людей нет крыльев, они не могут выполнять действие «летать», но могут выполнять действия, такие как «ходить», «бегать», «прыгать», «хватать» и так далее.
Какие типы моделей ИИ используются для агентов?
Наиболее распространенной моделью ИИ, используемой в агентах, является большая языковая модель (LLM), которая принимает текст в качестве входных данных и также выдает текст.
Хорошо известные примеры — GPT-4 от OpenAI, LLama от Meta, Gemini от Google и другие. Эти модели были обучены на огромном количестве текста и способны хорошо обобщать. Мы узнаем больше о LLM в следующем разделе.
Также можно использовать модели, которые принимают другие входные данные в качестве основной модели агента. Например, модель Vision Language Model (VLM), которая похожа на LLM, но также понимает изображения в качестве входных данных. Пока мы сосредоточимся на LLM и обсудим другие варианты позже.
Как ИИ выполняет действия в своей среде?
LLM — удивительные модели, но они могут только генерировать текст.
Однако, если вы попросите известное чат-приложение, такое как HuggingChat или ChatGPT, сгенерировать изображение, они могут! Как это возможно?
Ответ заключается в том, что разработчики HuggingChat, ChatGPT и подобных приложений реализовали дополнительную функциональность (называемую инструментами), которую LLM может использовать для создания изображений.
Мы узнаем больше об инструментах в разделе «Инструменты».
Какие типы задач может выполнять агент?
Агент может выполнять любую задачу, которую мы реализуем с помощью инструментов для выполнения действий.
Например, если я создаю агента, чтобы он действовал как мой личный помощник (например, Siri) на моем компьютере, и я прошу его «отправить электронное письмо моему менеджеру с просьбой отложить сегодняшнюю встречу», я могу предоставить ему некоторый код для отправки электронных писем. Это будет новый инструмент, который агент может использовать всякий раз, когда ему нужно отправить электронное письмо. Мы можем написать его на Python:
def send_message_to(recipient, message):
"""Useful to send an e-mail message to a recipient"""
...LLM, как мы увидим, сгенерирует код для запуска инструмента, когда это необходимо, и таким образом выполнит желаемую задачу.
send_message_to("Менеджер", "Можем ли мы отложить сегодняшнюю встречу?")Дизайн инструментов очень важен и оказывает большое влияние на качество вашего агента. Некоторые задачи потребуют создания очень специфических инструментов, в то время как другие могут быть решены с помощью универсальных инструментов, таких как «web_search
Обратите внимание, что действия не являются синонимами инструментов. Действие может включать использование нескольких инструментов для его выполнения.
Предоставление агенту возможности взаимодействовать со своей средой открывает реальные возможности использования как для компаний, так и для частных лиц.
Пример 1: Виртуальные персональные помощники
Виртуальные помощники, такие как Siri, Alexa или Google Assistant, работают как агенты, когда они взаимодействуют от имени пользователей в их цифровых средах.
Они принимают запросы пользователей, анализируют контекст, извлекают информацию из баз данных и предоставляют ответы или инициируют действия (например, устанавливают напоминания, отправляют сообщения или управляют умными устройствами).
Пример 2: Чат-боты для клиентской поддержки
Многие компании используют чат-ботов в качестве агентов, которые взаимодействуют с клиентами на естественном языке.
Эти агенты могут отвечать на вопросы, направлять пользователей по этапам устранения неполадок, создавать заявки в внутренних базах данных или даже выполнять транзакции.
Их основные задачи могут включать повышение удовлетворенности пользователей, сокращение времени ожидания или увеличение конверсии продаж.
Взаимодействуя напрямую с клиентами, обучаясь на диалогах и адаптируя свои ответы со временем, такие агенты демонстрируют ключевые принципы работы ИИ-агента.
Пример 3: ИИ-управляемые персонажи в видеоиграх
ИИ-агенты, работающие на основе больших языковых моделей (LLM), могут сделать неигровых персонажей (NPC) более динамичными и непредсказуемыми.
Вместо того чтобы следовать жестко заданным сценариям поведения, такие NPC могут реагировать на контекст, адаптироваться к взаимодействию с игроком и генерировать более естественные диалоги.
Эта гибкость помогает создавать более реалистичных и увлекательных персонажей, которые эволюционируют в зависимости от действий игрока.
Итог
Агент — это система, которая использует модель ИИ (обычно LLM) в качестве основного механизма рассуждения, чтобы:
• Понимать естественный язык: интерпретировать и осмысленно реагировать на человеческие инструкции.
• Рассуждать и планировать: анализировать информацию, принимать решения и разрабатывать стратегии для решения задач.
• Взаимодействовать со своей средой: собирать данные, предпринимать действия и оценивать результаты этих действий.
Теперь, когда у вас есть четкое представление о том, что такое агенты, давайте закрепим ваши знания с помощью короткого необязательного теста. После этого мы погрузимся в “мозг агента” — большие языковые модели (LLM).