В поисках контекстной жизни
Есть класс ИИ-решений, который приходил в голову каждому технарю. Я называю его «Волшебная коробка». Идея простая — а давайте мы создадим свой ChatGPT (то есть изолированный интерфейс где-то в админке или в TG-канале), научим его работать с нашими данными, дадим пользователям — и они начнут получать супер-инсайты.
Классно, но я пока не видел ни одного работающего. С запросами типа «Топ-10 городов по продажам за 2025 год» они справляются. С более реалистичными — нет.
В чем проблема? It’s not alive. Результат работы нейронки напрямую зависит от качества и полноты контекста. Причем самого разного (информация о данных, бизнес-контекст, обратная связь и т. д.). Всем этим зоопарком надо как-то управлять, но для начала я бы ввел шкалу «живости» контекста, где на одном конце будет «мертвый» контекст, а на другом — «живой».
Мертвый контекст — это слепок информации, фотография, физическая таблица. То, у чего есть дата создания или свежести. Живой контекст, в противоположность, — это то, что приближено к реальному физическому состоянию вещей в мире, то есть сама жизнь в наших глазах, ушах и всем прочем. Это не запись разговора, а участие в разговоре в реальном времени.
Ну хорошо, что с этой шкалой делать? Для начала научиться определять состояние контекста — насколько он живой. И понимать, что контекст ≠ информация. Это информация + состояние.
Пример: есть таблица с данными. Хочу подгрузить в нейронку ее описание. В виде какого контекста я могу это сделать (по шкале от мертвого до живого):
Информация → Состояние → Живость
— Плохое описание → документ, подгруженный вручную → 💀 мертвым-мертво
— Хорошее описание → документ, подгруженный вручную → 🧟♂️ устаревает в момент загрузки
— Хорошее описание → документ, который регулярно ревьюится и обновляется вручную → 🤢 уже лучше, но сколько мы видели неактуальных док
— Хорошее описание → автодока генерируется в момент обновления таблицы и подгружается вручную → 🙂 намного лучше
— Хорошее описание → автодока, нейронка в live читает репозиторий → 😃 всегда актуально и проапдейчено
И это не конец, можно находить и более живые варианты. Имея такую систему координат, уже можно оценить состояние своего контекста и начать работать над его оживлением.
Фактически в примере я описал путь от чат-бота к агенту, но в случае разработки. Ведь репозиторий, в котором работает агент, — это фактически и есть живое воплощение кода в мире. Загвоздка в том, что в BI посложнее. Нет у бизнес-решений никакого репозитория и никакой автодоки. Мы видим только эффект от решения, но не как оно принималось. Косвенных артефактов можно собрать довольно много — переписки, записи встреч, документацию. Но оно всегда будет чуть неживым.
И поэтому второй вывод — если контекст неявный, то живость определяется близостью и вовлеченностью контекст-оунера. То есть владеть и управлять частью, ответственной за решения, должен бизнес, а не технарь-разработчик. Более того, бизнес должен стать частью команды разработки, только его зона ответственности и инструментарий — это контекст-инжиниринг.
Делайте живые ИИ-решения, вовлекайте в них бизнес и… пора бежать, концовку не придумал👋