В большинстве продуктов ИИ память рассматривается как личная функция — запоминание фактов об одном пользователе или одном обсуждении. Но ИИ, который взаимодействует с разными командами, нуждается в принципиально ином виде памяти. Системы ИИ становятся более полезными, когда они могут опираться на то, что узнали раньше. Но в корпоративном программном обеспечении память — это не просто вопрос хранения большего объёма контекста. Более сложная проблема заключается в том, чтобы сделать эту память полезной для совместной работы, сохраняя при этом возможность её проверки, управления и учёта разрешений.
Именно эту задачу мы поставили перед собой, создавая ИИ-ассистентов.
ИИ-ассистенты работают в другой среде. Они сотрудничают в рамках общих задач, проектов и документов. Они получают обратную связь от нескольких людей. Они работают в разных системах. И им нужно со временем совершенствоваться, не превращаясь в чёрный ящик, полный скрытого контекста, который никто не может проверить.
Это создаёт другую проблему проектирования. ИИ-ассистенту нужен способ учиться на выполнении задач, позже извлекать соответствующие знания и объяснять, как эти знания повлияли на его действия. В то же время он не может рассматривать всю предшествующую информацию как пригодную для повторного использования в глобальном масштабе. То, что он помнит и что может использовать, должно соответствовать тем же границам, которые регулируют основную работу.
На практике это означает, что память становится частью нашей архитектуры совместной работы корпоративного уровня. Она объединяет обучение, поиск, контроль доступа и прозрачность в единую систему.
Самая простая версия ассистента на основе ИИ каждый раз начинает работу с чистого листа. Вы даёте ему подсказку, возможно, прикрепляете несколько файлов, и он пытается помочь в рамках этого одного взаимодействия. Это может работать для отдельных запросов, но быстро даёт сбой в длительных рабочих процессах команды.
Сотрудник-человек не просто отвечает на текущее сообщение. Он помнит предпочтительный процесс команды, примеры, определяющие хороший результат, важные документы, обратную связь, полученную на прошлой неделе, и контекст проекта, определяющий, как должна выполняться работа. Чтобы ИИ-ассистенты чувствовали себя настоящими сотрудниками, им нужен способ накапливать такие же рабочие знания.
Для нас это означало создание единого слоя памяти, охватывающего весь жизненный цикл знаний:
Как создаются воспоминания
Как они извлекаются во время будущих выполнений
Как они связаны с Work Graph — структурированной моделью данных Asana, которая объединяет задачи, проекты, людей и цели в рамках всей организации
Как пользователи проверяют и управляют тем, что узнал участник команды
Этот последний пункт имеет большее значение, чем кажется на первый взгляд. Мощная система памяти, которую никто не может проверить или исправить, не вызывает доверия. Она создаёт новый вид сбоя.
Одним из первых решений, которые мы приняли при разработке, было определение подходящих моментов для создания воспоминаний участником команды.
Один класс памяти выводится во время или после выполнения. Когда участник команды выполняет задание, он сталкивается с инструкциями, читает ресурсы, предпринимает действия и получает обратную связь. Часть этой информации является временной. Часть информации долговечна и её стоит использовать повторно. Например, пользователь может дать обратную связь: «Всегда ставьте в копию проверяющего модель данных в этих задачах». Другой пример: когда участник команды просматривает проект, он может узнать что-то о цели проекта (например, Проект X содержит ресурсы о лучших практиках организации в области маркетинговых кампаний). Это отличные кандидаты для долговременной памяти.
Другой класс памяти — явная. Пользователи могут давать указания напрямую, а не ждать, пока система сделает выводы. Это особенно важно, когда цель состоит не в том, чтобы извлечь урок из прошлой работы, а в том, чтобы научить участника команды, как вести себя в более широком рабочем контексте или как использовать конкретный ресурс.
Этот явный путь становится особенно эффективным для памяти, связанной с ресурсами. Пользователь может предоставить участнику команды доступ к документу, а затем объяснить, какую роль должен играть этот ресурс. Это документация по процессу, которая объясняет, как команда обменивается информацией? Справочный документ, содержащий знания в предметной области? Шаблон, который должен определять будущую работу? Это различие имеет значение, потому что один и тот же исходный материал может использоваться по-разному в зависимости от намерения пользователя.
Всякий раз, когда создаётся воспоминание, мы создаём «ассоциации воспоминаний», по сути, ссылки на объекты Work Graph, к которым относится воспоминание или которые имеют к нему отношение. Например, это может быть проект, который описывает воспоминание, или ресурс Google Документов, загруженный пользователем. Как будет описано далее в этой статье, эти ассоциации являются ключевыми для извлечения воспоминаний и обеспечения надлежащего контроля доступа.
Система памяти хороша ровно настолько, насколько хороша её модель извлечения. Хранения полезных знаний недостаточно, если нужная информация не появляется в нужное время.
Для ИИ-ассистентов извлечение работает как двухполосная система.
Первый канал — это извлечение в начале выполнения. Когда участник команды начинает работу над задачей, он получает набор релевантных воспоминаний, прежде чем приступить к принятию решений. Это могут быть закрепленные инструкции, которые должны применяться всегда, предыдущие знания, соответствующие нынешней работе, или знания более высокого уровня, которые кажутся релевантными на основе поиска или семантического сходства.
Второй поток — это контекстный поиск во время выполнения. Когда участник команды считывает конкретное задание, проект или другой объект, он также получает воспоминания, связанные с этим объектом. Это важно, потому что некоторые знания, как правило, не актуальны в абстрактном смысле. Они становятся актуальными, потому что участник команды теперь смотрит на конкретную часть Work Graph.
Эта комбинация обеспечивает системе полезный баланс. Участник команды может начать с широкого рабочего набора вероятных релевантных знаний, а затем получить более точный контекст по мере углубления в работу.
Одним из самых важных решений при разработке было представление памяти как чего-то функционального, а не мистического. В нашей модели данных память — это конкретный объект с контентом, метаданными и ассоциациями.
Ассоциация памяти фиксирует объект Work Graph, к которому относится память или который имеет к ней отношение. Это позволяет нам чётко контекстуализировать воспоминание в более широком Work Graph, вместо того чтобы оставлять воспоминания без привязки к контексту, который они фиксируют.
Корпоративные системы памяти становятся намного сложнее, когда в них задействовано несколько человек, проектов и разрешений.
ИИ в роли личного помощника часто может рассматривать память как простое расширение истории одного пользователя. Однако участник команды, который работает над общей работой и может быть задействован несколькими людьми, не может делать это безопасно. Любая память, создаваемая системой, основана на реальной лежащей в её основе работе: задачах, комментариях, документах, проектах и предыдущих выполнениях. Если бы память могла свободно отделяться от этих источников, она могла бы стать каналом для утечки информации за пределы разрешений.
Вот почему память в ИИ-ассистентах должна наследовать ту же логику контроля доступа, что и работа, из которой она была получена.
Каждое извлечение памяти ограничено тем, кто инициировал выполнение. Участник команды может получить доступ к памяти только в том случае, если этот человек может просматривать работу, на основе которой она была создана, — соответствующие задачи, комментарии, документы или проекты. То же правило действует и для ассоциаций: если память ссылается на объект Asana, например задачу или проект, она отображается только в том случае, если инициирующий пользователь также может видеть этот объект. Другими словами, ИИ-ассистент никогда не видит ничего, чего не мог бы видеть человек, инициировавший его работу.
Последний элемент — это прозрачность. Если участник команды использует память для управления действием, пользователям нужен способ понять это влияние.
Это начинается с самой проверяемой памяти. У пользователей должна быть возможность просматривать воспоминания, хранящиеся у участника команды, и удалять воспоминания, которые могут быть неточными или устаревшими. Кроме того, когда участник команды выполняет действие, система может показать, какие воспоминания были переданы в контекст выполнения и какие были созданы в ходе выполнения.
Вместо того, чтобы спрашивать «почему ИИ сделал это?» в абстрактном смысле, пользователь может проследить поведение до конкретной выученной инструкции, памяти ресурса или связанного объекта контекста. Исправление становится конкретным: изменить память, удалить её, обновить источник или добавить более качественные указания.
Например, если участник команды форматирует отчёт не так, как ожидалось, пользователь может проверить его воспоминания и увидеть, что на прошлой неделе он узнал о предпочтениях в отношении форматирования из обратной связи другого участника команды, и обновить или удалить это воспоминание, чтобы изменить поведение.
Именно поэтому память и прозрачность необходимо разрабатывать вместе. Участник команды, который учится со временем, более эффективен. Участнику команды, который обучается незаметно, сложнее доверять.
В нашей предыдущей публикации мы рассмотрели, как ИИ-ассистенты прозрачно работают в общих пространствах команды. Память — это слой, который делает такое сотрудничество комплексным: система учится на основе совместной работы, извлекает эти знания, когда это необходимо, и делает это в тех же границах доверия, которые регулируют саму работу.
Более глубокий урок заключается в том, что ИИ, ориентированному на коллектив, требуется нечто большее, чем просто более широкий контекст. Ему нужна модель, позволяющая превращать совместную работу в долговечные, пригодные для повторного использования и управляемые знания.
В следующей статье мы рассмотрим, как мы оцениваем и выбираем языковые модели, лежащие в основе этого рассуждения.
Эта статья написана Анантом Тибревалом, инженером из команды ИИ-ассистентов, где он работает над созданием и масштабированием продукта Asana на основе агентного ИИ для совместной работы.