Видео → визуальный конспект

Куда агент тратит время и деньги

Наблюдаемость восстанавливает ход работы. Eval проверяет, подходит ли результат для выпуска. Два запуска показывают, как связать эти задачи.

Sean‘s AI Stories20:48 · YouTube6 октября 20268 367 просмотров при загрузке
Смотреть на YouTube ↗
Постер исходного видео об observability и eval AI-агентов▶ Открыть видео · 20:48
01 / Коротко

Сначала измерить, затем оценить

03:21 ↗

Observability: что произошло

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

Eval: подходит ли результат

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

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

70 с

Первое исследование: пять циклов, десять вызовов инструментов, около $0,29.

129 с

Второе исследование: шесть циклов, семь вызовов Treg, около $0,54.

$0,53

Расходы на модель во втором запуске. Все семь вызовов Treg стоили около $0,01.

Это измерения демонстраций из видео, а не тарифы или прогноз стоимости других задач.

02 / Устройство

Каждый шаг оставляет запись

04:30 ↗

Harness — среда, которая управляет циклом агента: отправляет запрос модели, вызывает инструменты и возвращает их ответы в следующий шаг. В демонстрации эту роль выполняет Waku Agent.

Перед вызовами модели и внешних инструментов автор ставит gateway / metering proxy: шлюз проверяет бюджет и записывает расходы. У модели учитываются токены, у инструмента — API-вызовы. Обращения к памяти тоже должны оставлять записи, хотя хранилище часто подключается отдельно.

Trace, или трасса, связывает шаги одного запуска. Детали отдельного шага можно раскрыть до исходных данных; сводное представление показывает, где потеряно время и на что ушли деньги.

В схеме автора после анализа и eval стоит release gate: решение о выпуске. Если проверка не пройдена, нужно исправить причину, повторить запуск и снова оценить результат.

Harness: запрос и цикл агентаWaku / Claude Code / Codex / …Шлюз и учёт расходовПроверка бюджета → запись стоимостиМодель · инструменты · памятьТокены / API и MCP / контекстПамять может подключаться отдельноТрасса: запись каждого шагаВход, выход, время, стоимость, ошибкиObservability + evalЧто произошло? Подходит ли результат?Выпустить или исправитьПосле исправления повторить проверку
Вызовы модели и инструментов проходят через шлюз с учётом расходов; память подключается отдельно. Каждый шаг оставляет запись для трассы. 06:57 ↗

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

Пересказ объяснения автора · 06:59 ↗
03 / Контекст

Память переносится между средами

05:58 ↗

Автор использует Treg как единый доступ к инструментам через один API-ключ, а Waku Memory — как переносимое хранилище контекста. В начале видео он называет более 3 800 endpoints и 108 провайдеров; эти числа относятся к моменту записи.

Первое исследование сохраняет отчёт о средствах наблюдаемости и eval. Затем автор открывает Claude Code, подключённый к Waku через MCP, и спрашивает, что тот помнит об исследовании и использованных инструментах. Ответ восстанавливает endpoint tinyfish.web.search и найденные платформы.

Здесь показаны две разные записи: память сохраняет содержание исследования для повторного использования, а трасса хранит ход его выполнения. Перенос памяти не заменяет учёт вызовов и расходов.

Claude Code получает из Waku Memory сведения о предыдущем исследовании и использованном endpoint tinyfish.web.search. Таблица — ответ агента, а не проверенные здесь сведения о рынке. 06:31 ↗
Рыночные сравнения в ответе агента служат материалом демонстрации. Видео не проверяет их полноту и достоверность; конспект не использует их как рекомендации по выбору платформы.
04 / Первый запуск

Трасса показывает медленный шаг

11:28 ↗

Первый запрос — исследовать инструменты observability и eval, их возможности и пробелы. Агент ищет инструменты в каталоге Treg, выполняет веб-поиск, составляет отчёт и сохраняет его в память.

Дашборд показывает пять циклов, десять вызовов инструментов, 70 секунд и около $0,29. Четыре вызова tinyfish.web.search в этой демонстрации бесплатны. Счётчик всех инструментов включает также служебные действия и обращения к памяти; это не десять внешних поисковых запросов.

1,2 с

Второй цикл ищет подходящий инструмент в каталоге Treg.

0,2 с

Третий цикл запрашивает сведения каталога и готовит поиск.

34,8 с / $0,14

Пятый цикл пишет ответ. Это самый долгий цикл первого запуска.

Трасса первого исследования: входной gate, обращения к памяти, пять циклов агента, сохранение отчёта и консолидация памяти. 11:45 ↗

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

05 / Критерии

Шесть проверок с разными статусами

14:07 ↗

Проверки запуска сопоставляют ответ с трассой и выходами инструментов. Пять строк содержат конкретные условия, шестая запускает модель-судью по запросу.

  1. spend claim — расходы совпадают

    Заявленная пользователю стоимость должна совпадать с учётом расходов в трассе. В первом запуске проверка прошла. Во втором на экране стоит N/A.

  2. one report — сохранён один отчёт

    Один исследовательский запрос должен создать ровно один отчёт, даже если работа длинная. Проверка прошла в обоих запусках.

  3. grounded numbers — у чисел есть основание

    Числа из ответа должны встречаться в выходе инструмента, памяти или сообщении. В первом запуске N/A, во втором PASS. Такая проверка подтверждает наличие источника числа, но сама по себе не доказывает его истинность.

  4. errors handled — сбой не скрыт

    Каждый неудачный вызов должен быть повторён либо упомянут в ответе. В первом запуске ошибок не было; во втором это условие прошло после сбоя поиска в X.

  5. under budget — бюджет соблюдён

    Стоимость запуска должна быть ниже заданного лимита на ход агента. Проверка прошла в обоих примерах.

  6. judge — модель оценивает ответ

    Модель читает ответ и результаты инструментов по запросу. Автор не запускает её в показанном разборе; зелёные статусы других проверок не заменяют эту оценку.

Таблица eval: три проверки прошли, две получили N/A, а модель-судья ещё не запускалась. Наличие шести строк не означает шесть успешных оценок. 14:35 ↗
Отдельно оценивается код продукта. В разделе release автор показывает 3 218 детерминированных проверок. Они относятся к версии Waku Agent, а не к качеству каждого исследовательского ответа.
06 / Второй запуск

Ошибка инструмента видна в трассе

16:01 ↗

Следующий запрос просит найти публикации в X и Reddit о конкуренции с Langfuse и дать разбор архитектур. Агент делает пять вызовов scrapecreators.reddit.search.posts и два вызова anyapi.x.search.posts; один из вызовов X завершается ошибкой.

Запуск занимает около 129 секунд и стоит около $0,54: $0,53 на модель и $0,01 на семь вызовов Treg. Самым медленным оказывается шестой цикл, который формирует финальный ответ.

Что установлено

В трассе есть status 400 у поиска в X. Проверка errors handled прошла; автор показывает, что ответ упоминает отсутствие найденных публикаций в X.

Что остаётся неизвестным

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

Во втором запуске anyapi.x.search.posts вернул status 400. Ошибка видна внутри третьего цикла; шестой цикл с финальным ответом отмечен как самый медленный. 17:41 ↗
PASS здесь означает выполнение условия «повторить вызов или упомянуть сбой». Он не означает, что поиск в X был успешным или исследование охватило все нужные источники.
07 / Навигация

Таймлайн с кадрами

00:00 ↗
00:00 ↗

Зачем нужны observability и eval

Введение в учёт работы и оценку результата.

00:55 ↗

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

Один API-ключ Treg и сохранение отчёта в Waku Memory.

03:21 ↗

Камера и судья

Наблюдаемость фиксирует события; eval проверяет результат.

04:30 ↗

Шлюз, модель, инструменты, память

Как учитывать вызовы и собирать трассу.

06:31 ↗

Claude Code вспоминает исследование

Проверка переноса контекста через MCP.

Claude Code получает из Waku Memory сведения о предыдущем исследовании и использованном endpoint tinyfish.web.search. Таблица — ответ агента, а не проверенные здесь сведения о рынке. 06:31 ↗
06:57 ↗

Схема вызовов

Связь среды агента, учёта расходов и отдельных хранилищ.

Вызовы модели и инструментов проходят через шлюз с учётом расходов; память подключается отдельно. Каждый шаг оставляет запись для трассы. 06:57 ↗
11:45 ↗

Пять циклов первого запуска

Трасса с вызовами модели, инструментов и памяти.

Трасса первого исследования: входной gate, обращения к памяти, пять циклов агента, сохранение отчёта и консолидация памяти. 11:45 ↗
12:40 ↗

Итог: 70 секунд и $0,29

Самый медленный цикл пишет ответ за 34,8 секунды.

14:35 ↗

Таблица проверок

PASS, N/A и ещё не запущенный judge.

Таблица eval: три проверки прошли, две получили N/A, а модель-судья ещё не запускалась. Наличие шести строк не означает шесть успешных оценок. 14:35 ↗
15:23 ↗

Проверки версии продукта

3 218 детерминированных оценок кода перед выпуском.

16:01 ↗

Второе исследование

Поиск публикаций в Reddit и X о конкуренции с Langfuse.

17:41 ↗

Сбой поиска в X

Status 400 в третьем цикле; финальный ответ — самый медленный шаг.

Во втором запуске anyapi.x.search.posts вернул status 400. Ошибка видна внутри третьего цикла; шестой цикл с финальным ответом отмечен как самый медленный. 17:41 ↗
18:50 ↗

Проверка обработки ошибки

Неудачный вызов должен быть повторён или отражён в ответе.

20:19 ↗

Практика на своём агенте

Автор предлагает изучить исходную трассу и простой код.

08 / Применение

Разберите один запуск своего агента

19:37 ↗

Автор завершает видео советом изучать трассы и простой исходный код руками. По его демонстрациям можно составить такую практику:

  1. Выберите одну задачу и сохраните полную трассу: вызовы, входы и выходы, время, стоимость, ошибки.
  2. Соберите понятную сводку и найдите самый медленный и самый дорогой шаг. Сверьте расходы в ответе с данными учёта.
  3. Определите проверяемые условия: бюджет, число сохранённых отчётов, основания для чисел, реакция на сбой.
  4. Прочитайте исходные результаты инструментов. При необходимости добавьте оценку моделью или человеком, затем решите, подходит ли результат для выпуска.
  5. После изменения повторите задачу и сравните трассы и оценки.

Практика составлена по содержанию видео. Для неё не обязательно использовать Waku или Treg: автор прямо допускает другие инструменты.