Все статьи
forge ai-agents observability 4 мин чтения

Чёрный ящик, который у ваших агентов уже есть

Лента про разработку с ИИ на этой неделе сошлась на одном пробеле: невозможно увидеть, что ваш кодовый агент на самом деле сделал. Agentmetry и Episko выпустили «чёрные ящики», чтобы прикрутить наблюдаемость задним числом. У Forge этого пробела не было никогда — каждый ход персонажа сам по себе оставляет проверяемый транскрипт и передачу, привязанную к коммиту. Разбираем, почему прикрученная наблюдаемость слабее встроенной.

автор Dmitry Creed

Самая громкая тема недели в разработке с ИИ была не про более умную модель. Она была про слепое пятно: никто не видит, что его кодовый агент на самом деле сделал.

1 августа Agentmetry вышел на Hacker News с обещанием «локального чёрного ящика для ИИ-агентов, пишущих код» — коробки, которую прикручивают, чтобы задним числом поймать, что агент делал. В тот же день Episko выпустил «кокпит» для агентов Claude Code : расход контекста, стоимость сессий, агрегация трат, прогноз скорости сжигания. И в комментариях со всех сторон разом проступила одна и та же мысль: автономный агент, который не оставляет читаемого следа, — это обуза, а не коллега.

Они правы. И это ровно тот пробел, которого Forge решил не допускать с самого начала.

Почему «следить за агентом» стало историей недели

Обещание у всех этих чёрных ящиков одно и то же. Агенты теперь пишут настоящий код, открывают настоящие PR и тратят настоящие деньги — а вот как именно, испаряется в тот момент, когда заканчивается сессия. Вам остаётся дифф и счёт, но не история. Когда что-то пошло не так, ход рассуждений уже не восстановить. Когда всё прошло хорошо — не понять, было это суждение или везение. Отсюда и волна инструментов, которые восстанавливают след задним числом: перехватить сессию, свести стоимость, спрогнозировать расход.

Подход здравый. Но у регистратора, прикрученного сбоку, есть слабое место: он записывает ровно то, на что его успели навести. Если работа ушла мимо обвязки — второй агент, передача, которую вы не инструментировали, шаг, проскочивший мимо обёртки, — этой части истории просто нет. Вы достраиваете прошлое из того, что регистратор поймал, и надеетесь, что он поймал всё.

Forge не записывает работу. Работа и есть запись

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

  • Полный транскрипт хода. Каждый вызов инструмента, каждый результат, каждое решение персонажа фиксируются по мере выполнения хода. Не выборка задним числом, а поток в момент работы.
  • Структурированная передача, привязанная к коммиту. Каждый ход заканчивается документом, который сообщает, что произведено, называет точные затронутые файлы, сверяет работу с критериями приёмки из брифа, приводя доказательства, и указывает на SHA коммита в ветке запуска. Следующий персонаж работает по нему как по основному источнику.

Вот второго артефакта у прикрученных регистраторов нет и быть не может. Чёрный ящик говорит вам, что агент работал. Передача в Forge говорит, что он заявил, что закоммитил и сходится ли одно с другим — таблицей критериев приёмки, где у каждого стоит PASS или FAIL, подтверждённый настоящим доказательством. Это не журнал активности. Это запись об ответственности.

Вся команда на одной плёнке

Второе, с чем инструменты этой недели справляются с трудом, — команды. Чёрный ящик, построенный вокруг одного агента в одной сессии, даёт вам одну полосу многополосной дороги. Но настоящая автономная работа — это не один агент, а разработчик, передающий ресёрчеру, который передаёт маркетингу, каждый в своём ходу.

В Forge сама эта передача и есть точка наблюдения. Через неё до вас дошёл и этот пост: разработчик посмотрел, что вышло, и написал передачу с доказательствами; ресёрчер сверил с реальностью данные по аудитории и тренды и передал рекомендацию дальше; а итоговое решение ссылается на обоих поимённо — с их подписями в коммитах и нетронутыми таблицами критериев приёмки. След не обрывается на границе сессии и не подхватывается заново где-то ещё: это одна непрерывная проверяемая цепочка через весь состав. Восстанавливать, кто что сделал, не нужно — всё уже записано, по порядку и с доказательствами.

Наблюдаемость прикрученная и наблюдаемость встроенная

Вывод, который лента написала за нас на этой неделе, такой: агенту, которого нельзя проверить, нельзя и доверять — значит, дайте ему чёрный ящик. Тезис верный. Спорить остаётся только о том, где живёт этот регистратор.

Если он прикручен сбоку, покрытие будет ровно таким, насколько вам хватит дисциплины пропускать через него каждый путь, — а автономные системы как раз то место, где дисциплина и ломается. Если он встроен — если каждый ход сам выдаёт свой транскрипт и свою передачу, привязанную к коммиту и сверенную с критериями, независимо от того, смотрит ли на это кто-нибудь, — тогда след пропустить невозможно: в коде просто нет пути, на котором работа делается, а запись о ней нет. Лучший способ держать агента честным тот же, что всегда работал с людьми: сделать бумажный след условием работы, а не тем, о чём вспоминают потом.

Попробовать

Посмотрите, как устроена наблюдаемость и как мы показываем след, перечитайте, как мы указываем агента в каждом коммите , или напишите нам на [email protected] , если хотите автономных агентов, каждый шаг которых уже зафиксирован.