Помните я писал про первые шаги при реализации умного поиска по документам?
Мы начали со сбора документов и примерных вопросов, а закончили - сбором feedback о сделанном прототипе. А что там дальше?
А дальше там - агенты-специалисты. История развивается так.
Клиенты дают все больше вопросов, и роутер промптов в AI ассистенте становится слишком запутанным. Там и про цены и про маркетинг, про рабочие часы и про планирование отпусков.
Причем не совсем понятно, как разделять и классифицировать запросы по категориям. Они начинают бодаться и приводить к галлюцинациям. И вообще путаница.
Если ничего не понятно - смотрим на то, как оно работает на практике у клиента. Берем блокнотик, находим специалиста и задаем вопросы.
- А как мне планировать отпуск на лето?
Хм, я не знаю, сейчас спрошу у Нины. Сек
или
- А можно мне выжимку последнего маркетингового отчета?
- Сейчас. Лаура должна знать, где он лежит
Вот оно! Один человек не знает все детали в компании, но знает тех, кто может про это знать. Мы можем взять эту концепцию людей, ролей и моделировать в виде данных и кода. Все, как завещал Эрик Эванс из DDD.
Вместо классификатора по категориям вопросов у нас будет оператор первой линии. Он берет входной запрос и смотрит на список доступных AI агентов. Каждый - представлен как на ярмарке вакансий. Один знает все про маркетинговые матриалы, другой - специалист по отпускам и отдыху. Еще есть последний, он просто умеет искать хорошо. И один - "секретный", про него - в конце.
Выбранный оператором агент - это обычно простенький скрипт, специалист в своей области. Он знает, как правильно сузить поиск среди 10000 документов до десятка документов. При необходимости может дернуть внешнюю API-шку, задать наводящий вопрос или перекинуть сессию обратно на оператора. Это и есть его Knowledge Map.
В комментариях к посту выложу скрипт одного такого специалиста. Там все сильно проще, чем звучит.
Чем отличается такой подход cо “специалистом” от простого LLM pipeline из нескольких шагов? Технически - ничем. Но “pipeline” клиентам без IT-бэкграунда объяснить сложно - они не будут понимать, как их готовить и организовывать. А вот “виртуального специалиста” они поймут хорошо - так выстроена работа в любой организации. И сразу представят, как это можно развить и применить.
Особенно, если им показать "секретного" специалиста, который на основе инструкции (и примеров всех существующих агентов) может набросать и задеплоить нового агента. Или подправить существующего.
Ну и само собой подразумевается, что все промпты, инструкции, разделения ролей, организация документов - они читаемы и понятны экспертам. Они могут проинспектировать и подправить.
При этом взаимодействие с системой будет последовательно придерживаться этой же парадигмы - с переключением между ролями, поиском по документам, дерганьем API-шек, синтезом ответов итп
(терминальный отладочный экран подобной сессии - в комментах)
Ну а то, что все это очень похоже на ChatGPTs, но только работает со своими документами и почти полностью локально - это только комплимент в стороную OpenAI.
Ваш, @llm_under_hood 🤗
PS: Субъективно, ChatGPT работает лучше с ролями специалистов, чем с абстрактными категориями вопросов.