Модели и платформы ИИ

Автономные агенты с AgentOps: наблюдаемость, отслеживаемость и больше для вашего приложения ИИ

mm
Добавьте Unite.AI в избранные источники в Google

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

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

Это где вступает в действие AgentOps; концепция, разработанная по аналогии с DevOps и MLOps, но адаптированная для управления жизненным циклом агентов на основе ФМ.

Чтобы дать основное понимание AgentOps и его критической роли в обеспечении наблюдаемости и отслеживаемости для автономных агентов на основе ФМ, я использовал информацию из недавней статьи Таксономия AgentOps для обеспечения наблюдаемости агентов на основе фундаментальных моделей Лиминга Дона, Цинхуа Лу и Лиминга Чжу. Статья предлагает всестороннее исследование AgentOps, подчеркивая его необходимость в управлении жизненным циклом автономных агентов – от создания и выполнения до оценки и мониторинга. Авторы категоризируют отслеживаемые артефакты, предлагают ключевые функции для платформ наблюдаемости и решают проблемы, такие как сложность принятия решений и соблюдение нормативных требований.

Хотя AgentOps (инструмент) получил значительное внимание как один из ведущих инструментов для мониторинга, отладки и оптимизации ИИ-агентов (например, autogen, crew ai), эта статья фокусируется на более широкой концепции операций ИИ (Ops).

Тем не менее, AgentOps (инструмент) предлагает разработчикам информацию о рабочих процессах агентов с функциями, такими как повторное воспроизведение сессий, отслеживание стоимости БЯМ и мониторинг соблюдения требований. Как один из самых популярных инструментов Ops в ИИ, позже в статье мы пройдем через его функциональность с помощью учебника.

Что такое AgentOps?

AgentOps относится к процессам, инструментам и фреймворкам, необходимым для проектирования, развертывания, мониторинга и оптимизации автономных агентов на основе ФМ в производстве. Его цели:

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

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

Ключевые проблемы, решаемые AgentOps

1. Сложность агентных систем

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

2. Требования к наблюдаемости

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

3. Отладка и оптимизация

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

4. Масштабируемость и управление затратами

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

Основные функции платформ AgentOps

1. Создание и настройка агентов

Разработчики могут настроить агентов, используя реестр компонентов:

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

Агенты создаются для взаимодействия с конкретными наборами данных, инструментами и подсказками, сохраняя при этом соблюдение предопределенных правил.

2. Наблюдаемость и отслеживание

AgentOps захватывает подробные журналы выполнения:

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

Инструменты наблюдаемости, такие как Langfuse или Arize, предоставляют панели управления, которые визуализируют эти следы, помогая выявить узкие места или ошибки.

3. Управление подсказками

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

  • Версионирование: Отслеживают итерации подсказок для сравнения производительности.
  • Обнаружение внедрения: Выявляют вредоносный код или ошибки ввода внутри подсказок.
  • Оптимизация: Техники, такие как Chain-of-Thought (CoT) или Tree-of-Thought, улучшают возможности рассуждения.

4. Интеграция обратной связи

Обратная связь человека остается важной для итеративных улучшений:

  • Явная обратная связь: Пользователи оценивают выходные данные или предоставляют комментарии.
  • Неявная обратная связь: Метрики, такие как время на задаче или коэффициент кликов, анализируются для оценки эффективности.

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

5. Оценка и тестирование

Платформы AgentOps облегчают строгое тестирование по:

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

6. Интеграция памяти и знаний

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

7. Мониторинг и метрики

Комплексный мониторинг отслеживает:

  • Задержку: Измеряют время ответа для оптимизации.
  • Использование токенов: Мониторят потребление ресурсов для контроля затрат.
  • Метрики качества: Оценивают актуальность, точность и токсичность.

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

Таксономия отслеживаемых артефактов

Статья вводит систематическую таксономию артефактов, лежащих в основе наблюдаемости AgentOps:

  • Артефакты создания агента: Метаданные о ролях, целях и ограничениях.
  • Артефакты выполнения: Журналы вызовов инструментов, очередей подзадач и шагов рассуждения.
  • Артефакты оценки: Эталоны, циклы обратной связи и метрики оценки.
  • Артефакты отслеживания: Идентификаторы сессий, идентификаторы следов и отрезки для детального мониторинга.

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

AgentOps (инструмент) – обзор

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

Шаг 1: Установите SDK AgentOps

Установите AgentOps, используя ваш менеджер пакетов Python:

pip install agentops

Шаг 2: Инициализируйте AgentOps

Сначала импортируйте AgentOps и инициализируйте его, используя ваш ключ API. Храните ключ API в файле .env для безопасности:

# Инициализируйте AgentOps с ключом API
import agentops
import os
from dotenv import load_dotenv

<p># Загрузите переменные окружения
load_dotenv()
AGENTOPS_API_KEY = os.getenv(&quot;AGENTOPS_API_KEY&quot;)</p>

<p># Инициализируйте клиент AgentOps
agentops.init(api_key=AGENTOPS_API_KEY, default_tags=[&quot;my-first-agent&quot;])</p>

Этот шаг настраивает наблюдаемость для всех взаимодействий БЯМ в вашем приложении.

Шаг 3: Запишите действия с помощью декораторов

Вы можете инструментировать конкретные функции, используя декоратор @record_action, который отслеживает их параметры, время выполнения и выходные данные. Вот пример:

from agentops import record_action

<p>@record_action(&quot;custom-action-tracker&quot;)
def is_prime(number):
&quot;&quot;&quot;Проверьте, является ли число простым.&quot;&quot;&quot;
if number &amp;lt; 2:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True</p>

Функция теперь будет записана в панели управления AgentOps, предоставляя метрики для времени выполнения и отслеживания входных и выходных данных.

Шаг 4: Отслеживайте именованные агенты

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

from agentops import track_agent

<p>@track_agent(name=&quot;math-agent&quot;)
class MathAgent:
def __init__(self, name):
self.name = name</p>

<p>def factorial(self, n):
&quot;&quot;&quot;Рассчитайте факториал рекурсивно.&quot;&quot;&quot;
return 1 if n == 0 else n * self.factorial(n - 1)</p>

Любые действия или вызовы БЯМ внутри этого агента теперь ассоциируются с тегом “math-agent”.

Шаг 5: Поддержка нескольких агентов

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

@track_agent(name=&quot;qa-agent&quot;)
class QAAgent:
def generate_response(self, prompt):
return f&quot;Отвечаю на: {prompt}&quot;

<p>@track_agent(name=&quot;developer-agent&quot;)
class DeveloperAgent:
def generate_code(self, task_description):
return f&quot;# Код для выполнения: {task_description}&quot;</p>

<p>qa_agent = QAAgent()
developer_agent = DeveloperAgent()</p>

<p>response = qa_agent.generate_response(&quot;Объясните наблюдаемость в ИИ.&quot;)
code = developer_agent.generate_code(&quot;вычислить последовательность Фибоначчи&quot;)</p>

Каждый вызов будет отображаться в панели управления AgentOps под соответствующим именем агента.

Шаг 6: Завершите сессию

Чтобы сигнализировать о конце сессии, используйте метод end_session. Необязательно, включите состояние сессии (Успех или Неудача) и причину.

# Конец сессии
agentops.end_session(state=&quot;Success&quot;, reason=&quot;Завершен рабочий процесс&quot;)

Это обеспечивает запись всех данных и их доступность в панели управления AgentOps.

Шаг 7: Визуализируйте в панели управления AgentOps

Посетите панель управления AgentOps, чтобы изучить:

  • Повторное воспроизведение сессий: Шаг за шагом следы выполнения.
  • Аналитика: Метрики стоимости БЯМ, использования токенов и задержки.
  • Обнаружение ошибок: Выявите и отладьте неудачи или рекурсивные циклы.

Улучшенный пример: обнаружение рекурсивных мыслей

AgentOps также поддерживает обнаружение рекурсивных циклов в рабочих процессах агентов. Давайте расширим предыдущий пример с обнаружением рекурсии:

@track_agent(name=&quot;recursive-agent&quot;)
class RecursiveAgent:
def solve(self, task, depth=0, max_depth=5):
&quot;&quot;&quot;Симулирует решение задачи рекурсивно с контролем глубины.&quot;&quot;&quot;
if depth &amp;gt;= max_depth:
return f&quot;Максимальная глубина рекурсии достигнута для задачи: {task}&quot;
return self.solve(task, depth + 1)

<p>recursive_agent = RecursiveAgent()
output = recursive_agent.solve(&quot;Оптимизируйте запросы базы данных&quot;)
print(output)</p>

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

Заключение

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

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