Перейти к содержимому

Все гайды

Настройка capture: каналы, источники и что подключать первым

Как выбрать каналы capture, задать права для каждого, добавлять материал вручную и использовать универсальный путь импорта, когда ваши инструменты не подключены.

Кому
Продакт-менеджеры и администраторы команд, которые настраивают capture для компании и решают, какие источники подключать и с какими правами.
Что получится
Настроенный capture: определённый список каналов, явные права по каждому каналу, рабочий путь импорта, журнал согласий, который можно показать команде, и проверка, доказывающая, что настройка читает именно то, что вы считаете.

По шагам

  1. 1. Начните с того, что capture на самом деле производит

    Capture читает канал и превращает его материал в кандидатов. Кандидат — не факт: у него есть один из четырёх видов (задача, решение, инсайт или факт), значение уверенности, статус и ссылка на фрагмент источника. Именно статус делает слой безопасным: новое извлечение не проверено, подтверждённым оно становится только когда человек его подтвердит, а отклонённое в контекст не попадает вовсе. Ссылка на фрагмент делает слой проверяемым: таймкод в записи, страница в документе, абзац в заметке, URL и цитата, на которую опирается извлечение. Типов каналов шесть — встреча, документ, обратная связь от клиентов, календарь, чат и почта. Первая волна покрывает календарь, документы и встречи, остальные приходят позже. Выстраивайте ожидания от этой формы: capture даёт предложения со ссылками на источник, а фильтр — вы.

  2. 2. Определите порядок: календарь, документы, встречи

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

  3. 3. Задайте права для каждого канала и запишите их

    Права задаются на каждый канал, а не глобально, и задаются явно. «Чтение» — ассистент может брать материал из канала и извлекать кандидаты. «Отправка модели» — извлечённый текст покидает вашу инфраструктуру и обрабатывается у провайдера модели. «Локальная обработка» — индексация и редактирование идут на вашей стороне, исходный материал не загружается. У каждого канала также перечислены запрашиваемые области доступа и те, что вы запретили. Запрещайте лишнее: запрет фиксируется так же, как выдача, и именно он не даёт каналу позже расшириться незаметно. Решения о доступе принимает код до вызова модели — модель предлагает, решает код. Запишите получившуюся таблицу там, где её увидит команда. Когда кто-то спросит, зачем ассистент читает ту или иную папку, ответом должна быть строка в таблице, а не воспоминание.

  4. 4. Добавляйте материал вручную, пока заканчивается автосбор

    Подключение и материал — это разные вещи: подключение канала выдаёт права, само по себе оно ничего не загружает. Пока автоматический опрос подключённых источников в работе, каналы наполняются вручную или демо-данными. Ручное наполнение идёт через операцию добавления материала: вы передаёте подключение, вид, заголовок, содержимое и, по желанию, внешний идентификатор, признак чувствительности и привязку к фрагменту источника. Демо-каналы идут по тому же пути с синтетическими встречами, документами и записями календаря — это быстрый способ проверить, что всё соединено правильно, до того как потечёт настоящий материал. Ожидайте, что это временное состояние, и используйте ручной путь как инструмент настройки: через него удобно засеять материал первой недели, а потом передать работу автоматике, когда она появится.

  5. 5. Используйте универсальный путь, когда ваш стек не подключён

    Универсальный путь импортирует и экспортирует в Markdown, JSON и CSV, и существует по конкретной причине: компания с необычным стеком не остаётся ждать коннектор. Исходный формат не переписывается — ваши файлы сохраняют вид, а данные копируются с сохранением авторства и дат там, где формат источника их содержит. Импорт идемпотентен: запись с уже известным идентификатором пропускается, поэтому один и тот же импорт можно запустить дважды, не получив дублей. Экспорт работает в обратную сторону: контекст и полный дамп выходят в Markdown, JSON или CSV — то есть контекст не заперт внутри продукта. Если коннектора к вашим инструментам нет, правильный ответ — не ждать, а выбрать формат, на котором ваш стек уже говорит, и использовать его как интерфейс.

  6. 6. Импортируйте контекст, который у компании уже есть

    Новый ассистент с пустым контекстом просит вас повторить то, что компания уже решила. Импорт существующего контекста снимает эту задачу: прежние решения, требования, заметки исследований и обратная связь от клиентов загружаются как записи с авторством и датами, и ассистент начинает с того, о чём команда договорилась, а не с чистого листа. Держите импорт близким к исходному материалу. Не переформатируйте файлы команды, не сливайте две системы в один вычищенный экспорт и не импортируйте всё, что нашли: начните с материала, который команда захотела бы показать новому коллеге в первую очередь, — с текущей стратегии, открытых гипотез и решений, которые всё ещё в силе. Импорт — та же идемпотентная операция, что и любая другая, поэтому его можно позже расширить, не начиная заново.

  7. 7. Считайте каждый материал недоверенным вводом

    Всё, что читает capture — транскрипты, документы, обратная связь, письма, — приходит извне и приходит данными, а не инструкциями. В документе может встретиться фраза, похожая на распоряжение ассистенту. Конвейер построен так, что такая фраза оборачивается в явные маркеры недоверенного содержимого, сами маркеры внутри контента экранируются, чтобы он не мог выдать себя за другой блок, а модель извлекает из содержимого факты, а не выполняет его. Решения о доступе принимает код до вызова модели, и модель не решает, что ей показывать. Отсюда два практических следствия. Первое: редактирование и индексацию можно оставить у себя — при локальной обработке исходный материал не загружается. Второе: для записи нужно согласие, которое отзывается и попадает в журнал согласий. Настраивая канал для клиента или коллеги, скажите вслух, какой из двух режимов используется.

  8. 8. Проверьте настройку, а не полагайтесь на неё

    Три проверки показывают, делает ли настройка то, что вы думаете. Первая — список подключённых каналов: в каждой записи видны провайдер, статус и выданные права; сверьте их с таблицей, которую вы составили. Вторая — журнал согласий: каждое выдавание и каждый отзыв согласия с датой; это тот же документ, который показывают всем, чьи данные попадают в систему. Третья — очередь подтверждения: пропустите через канал один настоящий документ и разберите получившихся кандидатов. Это единственный сквозной тест настройки: за один проход он проверяет права, извлечение, ссылки на источник и ваш собственный фильтр. Пустая очередь после настоящего документа — это проблема настройки, которую стоит решить в первый день, а не тихий сбой на третьей неделе. Путь экспорта служит страховкой: что бы продукт ни хранил, это можно вынести в Markdown, JSON или CSV.

Если не работает

Инструмент, которым я пользуюсь, отсутствует в списке поддерживаемых систем.
Используйте универсальный путь. Markdown, JSON и CSV поддерживаются и для импорта, и для экспорта, поэтому стек, который говорит на одном из них, уже подключён к продукту без отдельного коннектора. Исходный формат не переписывается, авторство и даты сохраняются там, где их содержит формат источника. Отсутствие коннектора — повод воспользоваться универсальным путём, а не повод ждать.
Импорт создал дубликаты.
Импорт по замыслу идемпотентен: запись с уже известным идентификатором пропускается, поэтому один и тот же импорт можно запускать повторно без роста набора данных. Дубликаты появляются там, где в исходных файлах нет устойчивых идентификаторов и сопоставлять импорт не по чему. Дайте записям идентификаторы, которые не меняются от запуска к запуску, — естественное место для них поле внешнего идентификатора, — и удалите дубликаты, которые уже пришли.
Подключённый канал не показывает материала.
Сейчас каналы наполняются вручную или демо-данными; автоматический опрос подключённых источников — в работе. Проверьте статус подключения и выданные области доступа: запрет на область блокирует ровно эту часть источника. Чтобы увидеть, что всё соединено, до появления автоматики, добавьте первый материал через операцию добавления материала или включите демо-каналы и посмотрите, как кандидаты появятся в очереди подтверждения.
Канал читает больше, чем я рассчитывал.
Ужесточайте права, а не отключайте всё подряд. Сузьте запрашиваемые области доступа и запретите остальные явно: запрет фиксируется так же, как выдача. Отключите для канала отправку модели или переведите его в локальную обработку, чтобы индексация и редактирование остались у вас, а исходный материал не загружался. Если канал пишет записи, отзовите согласие в журнале согласий: отзыв согласия действует с этого момента, а журнал хранит и выдачу, и отзыв вместе с датами.
В документе было что-то, похожее на инструкцию, и ассистент на это отреагировал.
Захваченный материал — недоверенный ввод: он оборачивается в явные маркеры недоверенного содержимого, маркеры внутри экранируются, а модель извлекает из содержимого факты, а не выполняет его. Решения о доступе принимает код до вызова модели, и модель не решает, что ей показывать. Если вы всё же видите, что с содержимым поступили по его указаниям, считайте это дефектом: отклоните извлечение, отключите для канала отправку модели, чтобы исходный материал остался у вас, и сообщите о случае с указанием канала и фрагмента. Правило зафиксировано отдельным решением, поэтому по такому сообщению можно действовать, а не спорить.