Контекст между сессиями — не главная проблема ИИ-агентов

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

Расскажу, как я на это смотрю.

Мне кажется, тут надо определиться именно с постановкой вопроса, где контекст – это лишь часть.

Главное, что надо понять про ИИ: это недетерминированная система (вот где боль!). Он может сделать очень многое - но каждый раз по-разному. Один и тот же запрос сейчас и он же, но уже через 2 минуты даст два разных результата, что уж говорить о всём периоде создания проекта. И главное что результаты могут быть хорошие. Но в недетерминированной системе просто хорошими запросами задачу не решить.

Поэтому передача контекста – безусловно, важна, но не цель. Цель – это повторяемость.

Можем ли мы организовать работу так, чтобы прогон номер два дал такой же результат, как прогон номер один (2, 3, …N)? Или даже так: можем ли мы организовать работу так, чтобы любой прогон давал идентичный результат?

Один из читателей рассказал, что держал контекстное окно около двух месяцев, работал в нём и в итоге сделал то, что нужно. Это может работать. Но если завтра нужно будет повторить - и получить на выходе тот же результат, с минимальными отклонениями? Получится? А если даже получится, будет ли это быстрее, чем в первый раз? Даст ли ИИ ту самую скорость и оптимизацию в разработке? Я бы гарантии не дал.

Поэтому я бы ставил вопросы иначе. Не «как передавать контекст между сессиями», а «как передавать его в таком виде, чтобы каждый последующий шаг не ломал прошлую логику и вектор движения к нужному результату? Как это повторить?».

А вот это уже вопросы архитектуры.

Именно поэтому frontend и принял первый удар (мой статус в Сетке показательный), а у бэкенда всё еще есть шансы быстро встроиться в работу с ИИ. Бэкенд гораздо чаще сталкивается с архитектурой верхнего уровня. А именно архитектура лежит в основе любого рабочего процесса с ИИ-агентом. Если вы не знаете, как устроены SDLC и Spec-Driven Development, - моя настоятельная рекомендация: начните копать отсюда. Говорю это как frontend, который сам через это прошёл.

И это только начало. Дальше появляются вопросы, на которые нет готовых универсальных ответов: - как тестировать недетерминированную систему? - как измерить качество её работы? - как отслеживать сбои на протяжении всего процесса? - как убедиться, что контекст, переданный в новую сессию, правильный? - и безопасность. Это вообще отдельная тема! (Недавно в Сетке был показательный пост о том, как ИИ-агент снёс базу данных на продакшене. И это лишь один пример из множества).

Ваша система работы с ИИ-агентом должна все эти вопросы решать. Если нет - значит надо дорабатывать.

Вывод. Прежде чем искать инструменты и лайфхаки, стоит ответить себе на четыре вопроса: - что именно мы делаем? - какой результат нам нужен? - по каким критериям поймём, что получили именно то, что надо? - сколько раз сможем повторить?

P.S. Без правильно выстроенной архитектуры дальше не поедет.