Загружаем изображение…
Загружаем изображение…
Сегодня хочу рассказать про то, почему необходимо контексты для агента хранить отдельно вне сессии. Это часть моего доклада в Герценке, про который я писал в прошлом посте.
Память современных агентов - так называемое контекстное окно - составляет 200-400 тысяч токенов или примерно 1 том "Войны и мира". Это объём текста, который модель может держать в памяти. И кажется, что этого много. Но бывает, что сессия изобилует блоками кода, обсуждениями разных, порой не связанных друг с другом вопросов. И тогда контекстное окно может переполниться, модель что-то потеряет из виду, а что-то может ошибочно посчитать важным или, наоборот, неважным. Это может привести к неоптимальным решениям, и именно такое поведение я стал наблюдать во время сессий общения с ChatGPT.
Тогда я решил перестроить процесс и вести работу во временных чатах, а в конце дня выгружать контекст беседы в markdown-файлы, которые у меня упорядочены по дате, а в имени содержат суть диалога. И теперь, если мне нужно было продолжить общение с какой-то начальной точки, я просто отдавал модели нужные контексты, и мы продолжали работу.
Такой подход дал мне 2 преимущества:
1. контекстное окно не переполнялось и модель не начинала "сходить с ума".
2. история общения сохранялась в постоянной памяти на диске, и я мог использовать её дальше в работе, например, для создания презентаций, постанализа агентом.
Просмотры: 3