Что такое душа агента?
Постоянное описание того, кто такой агент — его характер, тон и незыблемые правила, — хранимое отдельно от задачи, которую он сейчас выполняет.
Спросите большинство команд, где живёт характер их агента, — услышите «где-то в промпте», то есть никто толком не знает. Здесь агент описывается тремя частями, и именно то, что они не свалены в одну, делает всё это пригодным для сопровождения.
Душа, задача и то, что вы редактировать не можете
Душа — кто он. Характер, тон, постоянные правила поведения. То, что остаётся верным и когда он квалифицирует обращение, и когда напоминает про документ. Правило «никогда не обещать результат» живёт здесь.
Задача — для чего он. Работа именно этого агента. Один тенант может держать несколько агентов с общей душой и разными задачами: один и тот же голос фирмы на первичном приёме и на последующих касаниях.
Модерация — то, что не выключается ни у кого. Общие для платформы правила безопасности, подмешиваемые в каждого агента, включая вашего. Этот слой намеренно недоступен тенантам для редактирования. Характер своему агенту вы можете задать любой; разрешить ему игнорировать правила безопасности под ним — нет.
Все три склеиваются именно в этом порядке в неизменяемый префикс системного промпта.
Почему порядок важнее, чем кажется
Промпт слоёный: фиксированный префикс (душа + задача + модерация), затем список доступных Skills, затем динамический контекст — найденные фрагменты, профиль клиента, история разговора — и в самом конце текущий вопрос.
Префикс одинаков на каждом ходу каждого разговора, а значит, кэшируется. Переменная часть идёт после него. То есть написанная вами идентичность — дешёвая в хранении, а платите вы каждый раз за слой, который меняется от сообщения к сообщению. Душа на пять страниц — не находчивость, а постоянный налог на каждый ответ.
Где здесь клиент
Сразу за душой в промпт попадает блок про человека, с которым идёт разговор: что о нём удалось узнать за предыдущие разговоры, в его собственном пространстве. Душа говорит, как себя вести; этот блок — с кем именно.
Именно разделение позволяет одной душе обслуживать всех клиентов, а агенту при этом начинать иначе с тем, с кем он разговаривает уже четвёртый раз.
Как это обновляется
Действующее описание лежит в базе данных, и это единственный источник истины. Отредактируйте его в консоли — следующий ход соберётся уже из нового текста. Без сборки, без деплоя, без перезапуска.
Два следствия, о которых стоит знать:
Оно вступает в силу посреди отношений. Уже идущие разговоры подхватят новую душу на следующем сообщении. Исправив правило, вы исправляете его сразу везде — обычно этого и хотят, но иногда это застаёт врасплох.
Шаблон — стартовая точка, а не связь. Создавая агента из шаблона, вы копируете душу шаблона к себе. Последующие правки шаблона до уже созданных агентов не дотягиваются: ваш агент — ваш.
Хорошая душа короткая и про поведение, а не про знания. Факты — в базе знаний, процедуры — в Skills. Если вы ловите себя на том, что вставляете в душу прайс-лист, — он лежит не там, и его будут перечитывать на каждом сообщении.