Улучшение ИИ-агента означает понимание того, какое поведение нужно изменить и где эти изменения окажут наибольшее влияние. Инсайты в Datadog Agent Observability улучшают ИИ-агентов, анализируя трассировки агентов для выявления повторяющихся проблем с затратами и надежностью. Затем они объясняют причины этих проблем, оценивают их влияние и рекомендуют исправления, подкрепленные фактами.
В Datadog мы используем Инсайты для улучшения агента, который лежит в основе Инсайтов. То есть Инсайты показывают нам, почему агент тратит больше токенов, чем необходимо, или не может завершить задачу. Затем мы используем эти данные, чтобы решить, что изменить. В этой статье мы приведем примеры того, как мы используем Инсайты в Agent Observability для:
- Выявления возможностей сокращения расходов на агента
Выявления возможностей сокращения расходов на агента
- Исследования сбоев в вызовах инструментов агента
Исследования сбоев в вызовах инструментов агента
- Подготовки изменения кода
Подготовки изменения кода
Выявления возможностей сокращения расходов на агента
Недавно Agent Observability помог нам выявить два паттерна в трассировках нашего агента, которые указывали на возможности снижения затрат.
Инструменты могут возвращать больше контента, чем нужно агенту
Наш агент использует search_llmobs_spans для поиска улик в записанных трассировках. Когда поиск оказывается слишком широким, инструмент может вернуть больше контента, чем требуется модели. Если эти результаты попадают в разговор в неизменном виде, агент отправляет этот лишний контент модели снова в последующих запросах.
Один из инсайтов показал, что пять поисковых запросов в рамках двух сеансов работы агента вернули примерно 80 000 токенов контента, который затем был включен в запросы к модели. Один из результатов добавил 19 000 токенов к последующему запросу с 97 000 входных токенов. (Эти цифры описывают исследованные нами запросы, а не достигнутую экономию.)
Здесь Datadog рекомендует сужать фильтры, запрашивать страницы меньшего размера и извлекать больше контента только при необходимости. В этом примере, когда поведение повторилось после устранения первоначальной проблемы, более поздний инсайт порекомендовал использовать компактные превью. После этого агент мог получать полный контент спана, когда ему требовалось больше деталей.
Превью должны сохранять идентификаторы, необходимые для получения релевантных данных. Чтобы проверить исправление, мы воспроизводим затронутые расследования и сравниваем, сколько контента возвращают инструменты, сколько токенов использует модель и насколько хорошо агент отвечает. Использование меньшего количества токенов помогает только в том случае, если агент по-прежнему проводит расследование правильно и в полном объеме.
Изменение контекста может помешать агенту повторно использовать кэшированный ввод
Кэширование промптов позволяет провайдеру повторно использовать результаты обработки инструкций и определений инструментов, отправленных в предыдущих запросах. Это может снизить затраты на повторную обработку того же контента. Чтобы получить выгоду, запросы должны начинаться с совпадающего контента, называемого общим префиксом. (Подробнее читайте в нашем блоге о мониторинге кэширования промптов.)
Один из производственных инсайтов показал, что информация, специфичная для каждой задачи, появлялась перед определениями инструментов. Если эта информация менялась, провайдер не мог повторно использовать результаты при обработке следующего за ней контента, который в остальном не изменился. Вместо этого аналогичные запросы неоднократно записывали в кэш практически весь промпт целиком.
На графике показано, как часто запросы повторно использовали кэшированный ввод менее чем для 20% своих входных токенов. На график попадают запросы с количеством входных токенов более 1024 для выбранной модели и провайдера, что помогает нам определять периоды для исследования.
В этом примере Datadog подсчитал, что обеспечение возможности повторного использования повторяющихся инструкций и определений инструментов может сэкономить около $2,734 в месяц. Этот прогноз рассчитывается путем применения $91.14 предполагаемой ежедневной экономии за 30 дней к проанализированным запросам. (Обратите внимание, что мы не измеряли эту экономию на практике. Фактическая сумма экономии зависит от того, как часто запросы используют кэшированный ввод повторно, имеют ли они право на кэширование и сколько взимает провайдер.)
Datadog порекомендовал нам изменить способ формирования запросов нашим агентом, разместив стабильные системные инструкции и определения инструментов перед деталями конкретной задачи и содержимым беседы. Сохранение начала запросов неизменным могло бы позволить провайдеру повторно использовать уже проделанную работу.
Исследования сбоев в вызовах инструментов агента
Инсайты в Agent Observability также определяют, почему вызовы инструментов нашего агента завершаются с ошибкой. В одном случае агент неоднократно отправлял запрос с пропущенной информацией. В другом — запрашивал ресурсы, используя имена, которые его инструменты не могли распознать.
Агент может повторять вызовы с пропущенными аргументами
Один инсайт показал, что агент сделал пять одинаковых недействительных вызовов update_insight примерно за 18 минут. Агент передал идентификатор, приложение и статус, но пропустил полный объект инсайта, необходимый для замены существующего.
Инструмент отклонил каждый вызов из-за отсутствия обязательной информации. Ни один из них не дошел до бэкенда, и выполнение завершилось с ошибкой после четырех попыток повтора. Повторение того же запроса не могло решить проблему. Агенту нужно было предоставить недостающую информацию перед повторной попыткой.
Агент может запрашивать ресурсы, которые недоступны
Инструкции нашего агента требуют использования точных имен ресурсов, возвращаемых его загрузчиком навыков. Инсайт показал, что агент угадывал или изменял эти имена в 193 сеансах из выборки. Инструмент не смог найти запрошенные ресурсы, поэтому вызовы завершились с ошибкой и задержали расследование агента.
Datadog порекомендовал сверять каждое имя запрошенного ресурса со списком загрузчика навыков перед попыткой его получения. Если имя не совпадает, инструмент должен возвращать допустимые варианты, чтобы агент мог исправить свой запрос. Это изменение заставит инструмент соблюдать правило, уже присутствующее в инструкциях агента. Чтобы проверить, работает ли это, мы бы воспроизвели затронутые шаги и убедились, что агент запрашивает перечисленные ресурсы, не повторяя неудачные вызовы.
Подготовки изменения кода
Как только мы понимаем проблему, мы можем использовать данные и рекомендации из инсайта, чтобы помочь агенту-кодеру ее устранить. Опция «Fix with Bits» позволяет передать эту информацию агенту-кодеру, который может изменить код и протестировать исправление. Инструкции по настройке см. в рабочем процессе агента-кодера для Инсайтов.
Мы использовали опцию «Fix with Bits» для решения повторяющейся проблемы, когда поиск возвращал слишком много контента. Она передала результат анализа, рекомендуемое изменение и ссылку на трассировку в сеанс кодирования. Затем агент-кодер подготовил пул-реквест (PR) для того, чтобы поиск возвращал компактные превью.
Предложенное изменение сохранило идентификаторы, необходимые для получения полного содержимого спана, и позволило агенту запрашивать дополнительные страницы результатов. PR также включал тесты для проверки того, что превью работали как для недавно полученных, так и для кэшированных результатов.
Вы можете следовать тому же рабочему процессу со своим собственным агентом-кодером. Подключите его через Datadog MCP Server или Pup CLI, а затем попросите его изучить Инсайты для вашего приложения. Используя данные и рекомендации, агент сможет исследовать ваш код, внедрить и протестировать исправление, а также подготовить PR для вашего рассмотрения.
Улучшайте своих агентов быстрее с помощью Datadog Agent Observability
Функция Insights в Datadog Agent Observability помогает нашей команде определить, что именно нужно изменить в коде и инструкциях агента. Она показывает, как стратегическая переработка запросов агента помогает повторно использовать кэшированные входные данные и подготовить PR для создания более компактных превью поиска. Измерив фактические показатели и оценив степень влияния, мы определяем приоритетность этих потенциальных изменений и способы их тестирования.
С помощью Datadog Agent Observability вы можете выяснить, почему ваш агент обходится дороже, чем ожидалось, или не справляется с задачами. Она позволяет проанализировать данные и рекомендации в разделе Insights, а затем внедрить и протестировать исправление. Вы можете оценить последующие запуски, чтобы проверить, сработало ли исправление, и убедиться, что проблема не возвращается.
Функция Insights в Datadog Agent Observability теперь общедоступна и предлагает бесплатный тарифный уровень, включающий до 40 000 спанов LLM в месяц. Ознакомьтесь с документацией по Insights, чтобы применить этот рабочий процесс к вашим собственным агентам.
Если вы впервые в Datadog, зарегистрируйте 14-дневную бесплатную пробную версию. А для стартапов: подходящие команды могут получить годовой запас бесплатных кредитов Datadog. Подайте заявку на участие в программе Datadog for Startups здесь.












