Тридцать три агента на одном образе
Тридцать три ИИ-агента. Шахматный тренер для ребёнка, помощник по учёбе, боты для металлургического холдинга и энергетической компании, внутренние агенты отдела продаж.
Все на одном образе. Одна кодовая база и ни один из тридцати трёх не потребовал править ядро.
Как это устроено. Образ неизменяем и одинаков для всех. Всё, что делает агента именно этим агентом, лежит в отдельном каталоге данных: файл личности, конфигурация с моделью и набором инструментов, папка доменных плагинов, папка инструкций, база сессий, расписания.
Новый агент - это скопировать каталог. Не форк, не ветка, не сборка.
Почему это важнее, чем кажется. Форк выглядит быстрым решением ровно один раз - когда вы его делаете. Дальше начинается: исправили ошибку в ядре, и надо разнести её по тридцати трём копиям. Каждая успела разойтись по-своему. Через год у вас не парк агентов, а тридцать три отдельных проекта с общим происхождением.
Проверку на прочность эта схема прошла случайно. Автор менял движок целиком - и агенты пережили переезд, потому что личность, история и накопленные данные никогда движку и не принадлежали. Они лежали в своих каталогах.
Для меня это прямое следствие в клиентской работе. Когда собираешь нейросотрудников на поток, специфика клиента должна жить в данных, а не в коде. Иначе каждый следующий клиент - это новая ветка, которую придётся поддерживать вечно.
Один образ, много томов и ядро не трогается.
У вас клиентская специфика живёт в данных или в отдельной ветке кода?