Большинство ИИ-агентов обладают отличной памятью, но ужасным чутьем на то, что действительно стоит запоминать. Они могут поглощать тысячи страниц, но при этом тонуть в собственном контексте, потому что их никто не научил забывать ненужные части. Knowledge and Memory Management версии 0.0.2 был создан именно для решения этой проблемы. Это не просто минорный патч. Это переосмысление того, как агент хранит, перемещает и приоритизирует свои знания.

Проблема памяти

Агенты привыкли относиться к любому фрагменту текста как к священному. Сырая веб-страница сваливается в хранилище вместе с навигационными меню, баннерами cookie и ссылками в футере. Транскрипт видео поступает со всеми «э-э», временными метками и рекламными вставками в первозданном виде. Статья может содержать больше рекламного кода, чем полезной информации. Когда происходит поиск (retrieval), системе приходится просеивать весь этот шум, чтобы найти сигнал. Такая трата ресурсов проявляется в двух местах: ваше контекстное окно забивается мусором, а счета за инфраструктуру растут, потому что вы платите за обработку и создание эмбеддингов для бессмысленного текста.

Проблема масштабирования вызывает не меньшее разочарование. Большинство агентов на ранних стадиях разработки привязаны к одной машине через жестко прописанные пути. Перенесите проект с ноутбука на сервер или с одного VPS на другой — и вы проведете целый день, прочесывая конфигурационные файлы через grep, чтобы исправить сломанные ссылки. Агент перестает быть программным обеспечением и превращается в хрупкую арт-инсталляцию, которая может существовать только в одной комнате.

Что изменилось в V0.0.2

Этот релиз решает обе проблемы разом. Он внедряет схему переносимых путей и единый конвейер суммаризации, который очищает знания еще до того, как они попадут в память. В результате агент становится проще в переносе и дешевле в эксплуатации.

Вы перестаете бороться со своей инфраструктурой. Вы перестаете запихивать раздутые документы в ограниченное контекстное окно. Агент просто начинает лучше помнить.

Переносимость по дизайну с помощью $AGENT_HOME

Самым практичным изменением стало введение переменной окружения $AGENT_HOME. Каждый путь, с которым взаимодействует система — базы знаний, рабочая память, кэшированные суммаризации, логи сессий — разрешается относительно этого корня. Это означает, что вы можете переместить всю директорию агента куда угодно, не меняя ни единой строки кода.

Рассмотрим типичную миграцию. Вчера ваш агент жил на дроплете DigitalOcean по пути /srv/ai-agent. Сегодня вы хотите запустить его локально или передать коллеге. Раньше вам пришлось бы обнаруживать жестко прописанные абсолютные пути, разбросанные по JSON-конфигам, Python-скриптам и shell-оберткам. Вам пришлось бы использовать sed в десятках файлов, скрестив пальцы и надеясь, что вы не упустили ни одной ссылки. С версией 0.0.2 вы полностью пропускаете этот этап. Вы просто копируете папку, устанавливаете export AGENT_HOME=/ваш/путь и запускаете. Скрипты загрузки, индекс памяти и слой поиска — всё настраивается автоматически, потому что они спрашивают операционную систему, где находится «дом», вместо того чтобы полагаться на свои предположения.

Эта переносимость важна не только из соображений удобства. Она делает вашу среду воспроизводимой. Вы можете отслеживать директорию со знаниями в системе контроля версий, не засоряя репозиторий путями, которые имеют смысл только на вашей машине. Коллега клонирует репозиторий, указывает $AGENT_HOME на свою файловую систему и загружает свои данные. Ваш CI-конвейер может развернуть свежего агента, установить одну переменную и проверить его работу, не переписывая конфиги для каждой среды.

Если вы запускаете агента как сервис systemd, добавьте переменную в юнит сервиса. Если вы контейнеризируете его, передайте её в Dockerfile или compose файле. Если вы работаете в нескольких оболочках, добавьте её в .bashrc или .zshrc, чтобы она сохранялась. Настройка намеренно сделана скучной, потому что инфраструктура должна быть скучной.

Три источника, один конвейер очистки

Система поглощает знания из трех конкретных каналов:

  • Веб-страницы. Они приходят, обернутые в HTML-шаблон. Реальный контент может составлять всего триста слов, спрятанных внутри трех тысяч слов разметки, навигации и разделов комментариев.
  • Транскрипты видео. Результаты преобразования речи в текст (speech-to-text) печально известны своей многословностью. Слова-паразиты, повторы, временные метки и отступления от темы создают поток с низкой плотностью информации, который потребляет токены, не принося пользы.
  • Статьи. Форматы сильно различаются. Одни публикуют чистый текст. Другие разрушают процесс чтения рекламой, формами подписки на рассылку и встроенными соцсетями.

Версия 0.0.2 не рассматривает их как отдельные изолированные хранилища, за которыми нужно постоянно присматривать. Вместо этого она пропускает все три через один и тот же слой суммаризации, прежде чем они попадут в рабочую память. Слой извлекает утверждения, процедуры, точки данных и взаимосвязи. Он отсеивает шум, который человек интуитивно бы пропустил.

Почему суммаризация — это стратегия масштабирования

Существует тенденция воспринимать суммаризацию как роскошную функцию — нечто приятное, но не обязательное. Это ошибка. Для агента на базе языковой модели суммаризация является необходимым условием масштабирования.

Контекстные окна имеют пределы. Бюджеты на извлечение данных имеют свою стоимость. Каждый токен, потраченный на баннер с файлами cookie или рекламную вставку в видео, — это токен, который вы не сможете потратить на рассуждения. Когда ваш агент готовит ответ, он не становится умнее от того, что вокруг него больше текста. Он становится умнее, когда вокруг него оказывается нужный текст.

Устраняя шум на этапе загрузки, система сжимает полезный сигнал. Ваш агент может обращаться к более широкому набору источников в рамках того же контекстного бюджета. Десять очищенных документов умещаются там, где раньше с трудом размещались два необработанных. Именно такая плотность позволяет агенту масштабироваться от игрушечного прототипа, управляющего пятью источниками, до промышленной системы, управляющей сотнями. Объем занимаемой памяти остается управляемым. Качество извлечения данных улучшается, так как исчезает нерелевантное дублирование. Стоимость токенов снижается, потому что вы перестаете платить за эмбеддинг и запросы к шаблонному тексту.

Речь идет не об агрессивном сжатии с потерями, которое отбрасывает нюансы. Речь идет о редакционном подходе, встроенном в конвейер обработки. Резюме сохраняет технические детали, именованные сущности, причинно-следственные связи и инструкции. Оно удаляет мусор форматирования и разговорную «воду».

С чего начать

Настройка намеренно минималистична, так как система призвана не мешать вашей работе.

Откройте терминал и установите корневой путь:

export AGENT_HOME=/your/path

Сделайте это изменение постоянным, добавив строку в профиль вашей оболочки, или передайте её в слой оркестрации, который запускает вашего агента. Поддерживайте согласованную структуру каталогов. Агент ожидает, что его папки — называете ли вы их knowledge/, memory/, summaries/ или как-то иначе — будут находиться относительно этого корня. Как только переменная будет активна, укажите агенту путь к вашим веб-страницам, транскриптам и статьям. Конвейер загрузки и суммаризации сделает все остальное.

Если вы переходите с более ранней версии, процесс будет столь же прост. Перенесите существующие данные в новую иерархию $AGENT_HOME, обновите переменную и убедитесь, что агент правильно разрешает пути. Никаких скриптов миграции. Никаких обновлений схем баз данных. Только единый источник истины для определения того, где агент находится на диске.

Главный вывод

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

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


Источник: https://dev.to/mage0535/thinking-1-analyze-the-request-12go

Сообщество: https://t.me/GyaanSetuAi