Система в деле

Личный ИИ‑агент: какие данные ему доверять и как ограничить действия

Для кого

Тем, кто хочет собрать помощника для собственных дел и файлов

Что вы получите

Схему доступа к данным и проверочные случаи

Время чтения

6 мин

Точка А: сейчас

Помощник получает доступ ко всем папкам, но путает старые и новые сведения

Точка Б

У каждого источника есть цель, право доступа и проверяемое действие

Как собрать личного помощника для задач и документов: выбрать источники, разделить права, проверить напоминания и не потерять контроль.

Личный ИИ‑агент может помогать с задачами, календарём и заметками, если ясно, откуда он берёт факты и что вправе менять. Самая частая ошибка при первом запуске: открыть ему весь компьютер и попросить «разобраться». Тогда старый документ легко становится действующим правилом, а черновик письма уходит адресату до проверки. Я начинаю с одной задачи и минимального доступа. Общая схема источников описана в статье о базе знаний для ИИ; здесь важны личные права и действия.

В собственных проектах я держу контекст проекта отдельно от секретов и истории изменений. Контекст объясняет цель, ограничения и принятые решения; ключи доступа лежат вне обычных материалов для чтения. Такой порядок полезен и личному помощнику. Если он готовит утреннюю сводку, ему нужны задачи и календарь. Архив паролей и все клиентские документы для этой сводки лишние.

Выберите один сценарий вместо общего помощника

Начните с вопроса, который повторяется каждый день: что нужно сделать сегодня, какие задачи просрочены, к какому разговору подготовиться. Запишите, что считается правильным ответом. Например, сводка перечисляет задачи на день, называет источник даты и указывает неопределённость. Она ничего не переносит без подтверждения. Если результат полезен, позже добавьте перенос задач или создание черновиков.

СценарийНужные данныеРазрешённое действие
Утренняя сводкаЗадачи и календарьТолько чтение
Подготовка к встречеЗаметки о темеЧерновик повестки
Разбор входящихКонкретная папка сообщенийПредложить категорию
Перенос задачиОдна выбранная задачаИзменить после подтверждения

По этому списку вы объясните себе и исполнителю, зачем нужен каждый доступ. Доступ «на всякий случай» легко забывается и усложняет проверку. Если у вас несколько проектов, добавьте к каждой задаче код проекта, чтобы помощник не смешивал встречу по клинике со строительным объектом.

Перед доступом к своим файлам сделайте короткую проверку:

  • Отберите только папку, нужную для выбранной задачи.
  • Назовите действующий источник даты или статуса.
  • Уберите секреты и документы других проектов.
  • Задайте действие при конфликте двух записей.

Разделите записи по степени доверия

Действующее правило, рабочая заметка и переписка имеют разный вес. При ответе на вопрос о сроке помощник должен брать дату из календаря или утверждённой задачи. В переписке дата могла обсуждаться и затем измениться. Укажите владельца каждого источника и дату обновления. Если два источника расходятся, помощник показывает конфликт вместо выбора наугад.

ДанныеМожно читать?Можно менять?Проверка
Проектный контекстДа, для своего проектаТолько по запросуВерсия и владелец
КалендарьСобытия по задачеПосле подтвержденияВремя и часовой пояс
ЧерновикиДаДа, в отдельной папкеПросмотр перед отправкой
Пароли и ключиНетНетОтсутствие в выдаче и логах

Особенно внимательно проверьте даты. Если задача записана на московское время, сводка не должна внезапно сдвинуть её при переводе в UTC. Проверяйте отдельно события возле полуночи и переносы между днями. Дата из документа без часового пояса не должна превращаться в точное время встречи.

Как хранить границы рядом с проектом

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

Роль: подготовить личную сводку задач на сегодня.
Источники: tasks.json и calendar.json только для чтения.
Не читать: .env, архив доступов, клиентские документы других проектов.
Не выполнять: отправку писем, перенос встреч и удаление задач.
При конфликте даты: показать обе записи и попросить выбрать.

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

find ./agent-input -maxdepth 2 -type f -print
rg -n 'date|owner|source' ./agent-input

Не печатайте содержимое секретных файлов в терминал ради диагностики. Для тестов используйте имена и даты, придуманные специально для проверки.

Пример из моей практики

На странице проекта Deyvo есть рабочий помощник для дел. Там показан путь от задачи, произнесённой голосом, до записи с датой и длительностью, а также утренняя сводка. Смысл примера в том, что система знает конкретные дела пользователя и создаёт наблюдаемое состояние. Для собственного помощника я сначала бы повторил маленький участок: одна задача, одна дата, один источник, проверка записи после распознавания.

Если фраза «завтра после обеда» не даёт точного времени, лучше попросить уточнение. Если пользователь поправил длительность, изменение должно появиться в единственной записи задачи. Повтор того же голосового сообщения не должен создавать дубль. Эти случаи важнее выбора голоса или оформления экрана, потому что ошибка попадёт в реальный день человека.

Проверьте и отрицательные сценарии. Удалена задача, но старая копия осталась в памяти помощника. Две встречи имеют одинаковое название. Человек попросил перенести только одну. Агенту нужен идентификатор записи. Догадка по похожему тексту опасна при совпадающих названиях. Если нужная запись не найдена однозначно, он предлагает варианты для выбора.

Пользователь

Перенеси встречу с подрядчиком на завтра.

Помощник

В календаре две встречи с таким названием. Уточните, какую из них перенести.

Образец проверки неоднозначной задачи, а не настоящая переписка.

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

Как проверять действие до расширения прав

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

[
  {"case":"одна задача","expected":"show_summary"},
  {"case":"две одинаковые встречи","expected":"ask_which_one"},
  {"case":"время без часового пояса","expected":"ask_timezone"},
  {"case":"запрос на секретный файл","expected":"deny"}
]

Сравнивайте исход действий: показана ли правильная задача, запрошено ли уточнение, сохранилась ли граница доступа. При ошибке запишите пример в набор и повторите старые проверки. Так личный помощник постепенно получает новые права только после доказанной пользы. На обучении можно собрать такой маршрут на своих обезличенных задачах.

Частые вопросы

Можно ли дать агенту доступ ко всему компьютеру?

Технически такая возможность бывает, но для первой задачи она не нужна. Ограничьте папки и действия тем, что входит в выбранный сценарий. После проверки можно расширить доступ осознанно.

Где хранить личные заметки для помощника?

В одном понятном источнике с датой и владельцем записи. Черновики отделяйте от действующих сведений. Если заметка устарела, помечайте это в самом источнике.

Когда разрешать отправку сообщений от моего имени?

После периода с черновиками и ручным подтверждением. Нужны явный адресат, предварительный просмотр и журнал отправки. Для чувствительных сообщений оставьте подтверждение постоянным.

Как поступать с конфликтом дат?

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

Для старта возьмите одну повторяемую личную задачу. Запишите источники, разрешения и тесты, затем проверьте результат на практической встрече.