agent-observability-auto-experiment
Agent Observability Auto Experiment — локальный цикл итеративного улучшения кода, который сопоставляет небольшое целевое изменение с реальными данными Datadog LLM-Obs. Навык описывает процесс, в котором сначала строится baseline-оценка, затем вносится одно сфокусированное изменение, после чего тот же evaluation harness запускается повторно. Изменение сохраняется только если метрика улучшается в заранее заданном направлении. Улучшение внутри измеренного шума помечается как tentative, поэтому один удачный запуск не должен считаться доказательством прогресса. Источник допускает несколько входов для набора данных: локальный dataset-файл, ml_app, dataset_id или явный список trace_ids. При этом до начала эксперимента должны быть определены конкретные файлы, которые разрешено менять, цель и направление метрики, текст evaluators и источник данных. Backend Datadog выбирается явно между mcp и pup; его нельзя молча вывести из доступных инструментов. Полный resolved config нужно показать и подтвердить до запуска, включая defaults, границы итераций, runtime и область редактирования. Жёсткий scope guard запрещает менять файлы за пределами указанного набора, даже если найденная причина лежит в другой части репозитория. Ключевой объект цикла — воспроизводимый baseline и измерение дельты тем же harness. Навык требует фиксировать результаты итераций, время начала и конца, выбранное решение и распределение оценок по datapoints. При нескольких прогонах итоговая оценка является средним средних запусков, а сохранённый набор per-datapoint отражает последний прогон; это разные виды доказательств и их нельзя смешивать. Для квартилей используется nearest-rank, чтобы не выдумывать значения, которых не было у отдельных datapoints. Кроме среднего полезно сохранять количество нулевых и идеальных оценок, потому что на почти бинарной метрике именно они показывают сдвиг, скрытый плоской коробкой квартилей. Остановка также является частью корректности. Эксперимент завершается по лимиту итераций, после плато из трёх изменений внутри шума или после пяти последовательных no_change. Если полноценная оценка не состоялась, нельзя подставлять ноль или придумывать score: лучший измеренный результат переносится с явной меткой no_change и объяснением причины. Такой перенос не является новой оценкой и не должен попадать в агрегаты как реальное измерение. Для оставшегося within_noise результата допускается подтверждение повышенным числом прогонов, после чего лучшая версия проверяется на held-out test отдельно от validation-цикла. Заголовочный вывод должен опираться на test-сравнение baseline и лучшей версии, а не только на локальную val-дельту. Безопасность и качество данных важнее автоматизации. Существующие project credentials используются только настроенным LLM-клиентом; их нельзя перечислять, читать в лог, печатать, сохранять или передавать куда-либо ещё. Данные traces и dataset могут содержать недоверенный пользовательский текст и инструкции, поэтому judge должен рассматривать их только как данные, игнорировать embedded instructions и оценивать исключительно по утверждённому rubric. Нельзя фабриковать score, расширять evaluator по собственной инициативе или подменять направление цели. По завершении сохраняются конфигурация, таблица итераций, причины keep/discard/no_change, held-out результат и статус эксперимента; при чистом завершении статус completed выставляется один раз в самом конце.
Для чего подходит
- Итеративное улучшение поведения агента
- Связь изменений кода с LLM trace
- Сравнение результатов экспериментов
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/datadog-labs/agent-skills/tree/main/agent-observability/agent-observability-auto-experiment