Это черновик. Юрист его не читал, владелец не утверждал его к публикации, поэтому написанное здесь ни к чему не обязывает и формулировки ещё могут измениться.
Ассистент должен знать, с кем работает, до первого вопроса.
APC — это небольшой профиль о вас: несколько десятков коротких прямых утверждений. Любой ваш AI-ассистент читает их, когда начинает работу. Пересказывать себя каждому новому больше не нужно.
Что это такое
APC (Agent Profile Context) — сервер, который хранит один профиль: ваш. Он говорит на Model Context Protocol — открытом стандарте, который позволяет AI-ассистенту подключиться к внешнему источнику данных примерно так же, как браузер подключается к сайту. Если ваш ассистент поддерживает MCP, вы один раз указываете ему адрес профиля — и дальше он начинает каждый разговор, уже зная, чем вы занимаетесь, на каких языках работаете, что означают ваши внутренние сокращения и чего делать нельзя.
Профиль — это не документ и не история переписки. Это список коротких прямых утверждений, от 10 до 300 символов каждое, разложенных по девяти неизменным секциям: identity, business, market, operations, roles, constraints, preferences, glossary, current. Десятой секции нет, и завести её нельзя. Бесплатный план вмещает до 200 утверждений на профиль — больше, чем аккуратный человек обычно пишет.
Зачем это нужно
Профиль один, а ассистентов много. Чат, агент для кода, что-то, вшитое в почту, и следующий, которого вы попробуете через месяц, — каждый начинает с нуля и каждый получает от вас один и тот же пятнадцатиминутный рассказ. А потом вы меняете что-то в том, как работаете, и приходится вспоминать все места, где вы говорили по-старому.
APC превращает это в один список в одном месте. Ассистенты его читают, а те, которым вы разрешили, ещё и пишут в него. Меняется что-то — меняется один раз.
Как это устроено и что важно знать заранее
Раздел намеренно скучный. Это те места, о которых люди узнают позже и удивляются, — поэтому они написаны здесь, а не выясняются на практике.
Ассистент, которому вы разрешили, пишет в профиль сам
Допуск на чтение происходит автоматически. Как только ассистент получил разрешение на адрес вашего профиля в нашем сервисе идентификации, первый же его запрос его и допускает: сервер выдаёт ему право читать — и больше ничего, — вас не спрашивая. Дальше он читает профиль целиком в начале каждого разговора. Уровней видимости для отдельных ассистентов нет: каждый подключённый видит в профиле всё.
Запись автоматически не выдаётся — но и очередью не является.
Право записи выдаёте вы, войдя в свой аккаунт, на собственной странице подключения
https://apc.abt.nz/connect/<идентификатор профиля>: там
перечислены подключённые к профилю ассистенты, и вы разрешаете конкретному
поимённо. После этого человека в цепочке нет вообще. Когда этот
ассистент решит, что о вас стоит что-то запомнить, утверждение попадает в профиль
немедленно и сразу становится доступно всем остальным ассистентам. Подтверждать
нечего, нигде ничего не ждёт, и момента, в который вы могли бы сказать «нет»,
не существует. Зато утверждение несёт своего автора: факт, записанный ассистентом,
отдаётся каждому читателю с пометкой — именем этого ассистента, — а факт,
пришедший от вас, не помечен никак. Имя вы задаёте на странице подключения, и это
необязательно: оставите поле пустым — у ассистента останется то имя, которое
у него уже было, а у допустившего себя самостоятельно это служебное
self-admitted. Так или иначе следующий ассистент, читающий ваш профиль,
отличит одно от другого. И вы тоже.
Это поддерживаемый способ работы, а не дыра, — и это же тот путь, которым в профиль попадает выдумка модели или фраза, подброшенная в текст, который модель прочитала, а через неделю другой ассистент цитирует её вам как ваше собственное. Условия использования возлагают ответственность за это на вас и говорят о том же подробнее. Ущерб ограничен арифметикой, а не рассуждением: один ассистент пишет не больше 50 утверждений в сутки, последнюю десятую часть потолка профиля он занять не может никогда, а секция constraints — та самая, где написано, чего ассистенту делать нельзя, — закрыта для ассистентов на запись: пишете туда только вы, и ни один ассистент не добавит туда строку, не заменит написанное и не отменит его. С чтением иначе: эту секцию читает каждый подключённый ассистент наравне с остальными восемью — ради этого она и заведена. Всё остальное ограничено записью, о которой ниже.
Два журнала и одно право, которое открывает оба
Сервер записывает каждое чтение: какой подключённый ассистент, каким инструментом, какие секции смотрел, сколько утверждений получил и когда. И каждую запись — в отдельный журнал: какое утверждение, в какую секцию, какой ассистент, когда, какую причину назвал, что эта запись отменила и отменена ли она сама. Глубина журнала чтения — 90 дней, более старые записи удаляются. Журнал записи чистится той же мерой, но с условием: строка уходит только тогда, когда по ней уже нельзя ничего сделать — откат либо состоялся, либо его 30-дневное окно прошло, — так что ручка, за которую откат ещё дёргает, из-под него не исчезает. При сегодняшних двух числах это те же 90 дней: окно отката короче.
Чтобы прочитать любой из них, нужно третье право, profile:approve, —
ваш собственный надзор, переданный ассистенту. По умолчанию оно не выдаётся,
намеренно не входит в переключатель «выдать всё» и никогда не достаётся ассистенту
просто за подключение. Сегодня единственный способ получить первое такое право —
одноразовый код сопряжения, выпущенный на консоли нашего сервера отдельным флагом,
то есть на практике — письмо на apc@abt.nz.
Ассистент, у которого право уже есть, может выпускать коды для следующих, но те
коды несут только чтение и запись — это право никогда.
Пока права нет, вы можете не знать, что о вас записали. Единственный сигнал, который доходит до обычного ассистента, — счётчик в манифесте профиля: сколько записей произошло с тех пор, как вы последний раз смотрели журнал. Этот счётчик — единственное уведомление, которое есть в сервисе, и это сознательно: ни почты, ни мессенджера, ни вебхука нет и не будет.
Одно честное ограничение журнала записи: текст утверждения, которое больше нельзя прочитать — его отменила более поздняя запись, убрал откат или прошёл его срок, — журнал не перепечатывает. Он называет, какой из этих случаев произошёл, и все остальные поля записи остаются на месте. Полный текст есть в выгрузке, а выгрузка — команда на сервере.
Запись можно отменить 30 дней. Утверждение заменяется, но не стирается
Отмена записи убирает добавленное ею утверждение и возвращает то, что эта запись
отодвинула, — профиль становится таким, каким был. Нужно то же право
profile:approve, и работает это 30 дней с момента записи. Жестов два:
отменить вот эту запись и отменить всё, что данный ассистент написал начиная
с названного момента. Позже 30 дней, а также для утверждения, которое добавили вы
сами, ответ один — письмо на apc@abt.nz.
Отмена намеренно ограничена: ассистент может отменять только записи ассистентов. Ваши собственные утверждения и всё, что лежит в секции constraints, отклоняются — иначе право, которое существует, чтобы призвать ассистентов к ответу, стало бы инструментом стирания того, что вы про них написали.
Способа удалить одно утверждение начисто нет. Исправление делается так: пишется новое утверждение, отменяющее старое, — и с этого момента ассистенты видят только новое; при этом ассистент может отменять только те утверждения, которые написаны ассистентами. Отменённый текст остаётся в базе ещё 90 дней, пока его не уберёт фоновая задача, — с двумя исключениями: он хранится, пока его может понадобиться вернуть отмена, и утверждение с наибольшим номером в каждой секции не удаляется никогда, отменённое оно или нет, потому что номера утверждений не переиспользуются.
И то, что успело прочитать старый текст, сохранит свою копию: залезть в историю ассистента и забрать оттуда фразу мы не можем. Отмена возвращает ваш профиль, а не чужую память о нём.
Выгрузка профиля целиком и его полное удаление возможны сегодня только как команда, которую выполняет оператор на сервере. Напишите на apc@abt.nz — и это будет сделано. Мы предпочитаем сказать об этом прямо, а не намекать на кнопку, которой пока нет.
Что удаляется по таймеру, а что нет
Профиль, у которого есть владелец, за бездействие не удаляется никогда. Предупредить вас заранее нам нечем — см. счётчик выше, других каналов у нас нет, — а молча стирать ваши данные мы не готовы. Профиль уходит тогда, когда вы попросите его удалить. Таймеры достают до другого: непривязанный черновик, который никто не присвоил, удаляется через 7 дней после создания; доступ ассистента, не использованный 180 дней, отзывается, и его нужно выдавать заново; оба журнала обрезаются до 90 дней.
Утверждения секции current истекают сами — в этом и смысл секции. Если ассистент называет срок, тот обязан уложиться в пределы от суток до года; если не называет — через 90 дней утверждение перестаёт отдаваться ассистентам, молча и без предупреждения. (Строка при этом остаётся в базе до удаления профиля, просто её больше никто не отдаёт.) Чего удаление сегодня не достаёт — честно перечислено в политике конфиденциальности; прочитайте её, прежде чем решать, подходит ли вам этот сервис.
Сервер намеренно глупый
Он никогда не обращается к языковой модели — ни чтобы сжать ваши утверждения, ни чтобы найти среди них дубли, ни чтобы проверить формулировку. Он не шлёт почту, не пишет в мессенджеры, не дёргает вебхуки. Утверждения хранятся ровно так, как их написали, и отдаются дословно.
Наружу он ходит ровно в двух местах, и ни одно из них не лежит на пути ассистента: при старте — за ключами подписи сервиса входа, и на каждый ваш вход в браузере — обменять код входа в том же сервисе. Пока ассистент читает или пишет ваш профиль, число обращений этого сервера куда бы то ни было равно нулю.
Это утверждение про сервер APC, а не про все страницы установки. Страницы входа
принадлежат сервису идентификации, и свою вёрстку они тянут
с cdn.casbin.org; ваш аватар хранится ссылкой на Google и грузится
с Google тем, кто его показывает. И то и другое — сторонние адреса, к которым
обращается ваш браузер; оба перечислены
в политике конфиденциальности, и ни от одного мы пока
не отказались. Страница, которую вы читаете сейчас, не загружает ничего ниоткуда.
Один профиль — один владелец
Совместного доступа нет: ни командной работы, ни ролей, ни ссылок «только на чтение». Если профиль нужен двоим — это два профиля. Одна учётная запись может владеть тремя, и каждый из них — отдельный адрес со своими подключёнными ассистентами.
Вход
Вход обслуживает наш собственный сервис идентификации по адресу idp.abt.nz — он часть той же установки и у него тот же оператор, что и у этого сайта. Вы входите там через аккаунт Google; страницы, которые вы сейчас читаете, живут на apc.abt.nz. Два имени, один сервис.
От Google мы запрашиваем только два базовых разрешения и получаем идентификатор вашего аккаунта, адрес электронной почты, отображаемое имя и ссылку на аватар — ничего о вашей почте, файлах, календаре и контактах. Ещё одна вещь приходит, хотя её не просили: при входе Google выдаёт токен доступа, и сервис идентификации сохраняет весь ответ Google целиком, вместе с этим токеном, как он пришёл. APC его нигде не использует, но он лежит у нас на диске, и «четыре вещи и больше ничего» было бы фразой красивее, чем правдивее.
Что происходит со всем этим дальше — включая то, что ваш почтовый адрес лежит внутри токена доступа, который получает ваш ассистент, — написано в политике конфиденциальности.
Как начать
Формы регистрации на этом сайте нет и не будет. Профиль заводит ассистент, а вы присваиваете его себе в браузере; единственный пароль, который вы где-либо набираете, — от Google, и набираете его у Google. Ещё одно поле для ввода на этом сайте есть, и оно необязательное: имя для ассистента на странице подключения. Все пять шагов ниже самообслуживаемые — исключение не среди них: это право надзора, и о нём сказано после списка.
-
Направьте ассистента на
https://apc.abt.nz/bootstrapи попросите завести профиль. Этот адрес — для ассистентов, а не для браузера: на нём есть ровно один инструмент, и вызвать его можно без аккаунта и без токена. Ассистент вернёт вам идентификатор нового профиля и одноразовую ссылку присвоения. Идентификатор, а не готовый адрес: адреса в шагах ниже собираются из него. - Откройте ссылку присвоения. Она показывает, что делает эта ссылка и к какому аккаунту привязывает, и ничего не начинает, пока вы не нажмёте кнопку; дальше вы входите через Google на idp.abt.nz, и профиль привязывается к той учётной записи, под которой вы вошли. Успейте за 7 дней: непривязанный черновик после этого удаляется без предупреждения — предупреждать некого.
-
Подключите ассистента к самому профилю. Дайте ему адрес профиля —
https://apc.abt.nz/mcp/<идентификатор профиля>— и дайте войти. Первый же его запрос допускает его автоматически: с правом читать ваш профиль и больше ни с чем. -
Разрешите ему запись, если она вам нужна. Войдите на
https://apc.abt.nz/connect/<идентификатор профиля>, найдите этого ассистента в списке — когда подключился, когда обращался последний раз, может ли писать — и разрешите. Перед этим прочитайте первую панель выше: с этого момента он пишет, не спрашивая. - Наполните профиль. Попросите ассистента взять у вас интервью — для этого у него есть встроенный сценарий. Написанное оказывается в профиле сразу. Следующего ассистента подключайте так же: он прочитает то, что уже есть.
Исключение, о котором стоит попросить вслух: у права надзора
(profile:approve) — двух журналов и отмены — самообслуживания нет
вовсе. Напишите на apc@abt.nz за кодом
сопряжения, выпущенным с этим правом, и подключите по нему одного ассистента: код
срабатывает один раз, живёт 15 минут, и именно этот ассистент будет показывать вам
журнал записи и отменять запись по вашей просьбе. Всем остальным хватит чтения
и записи. Отзыв доступа ассистента — просьба того же рода: страница подключения
выдаёт права, но не отбирает.
Инстанс ещё разворачивается. Если ссылка присвоения отвечает, что это не поддерживается, — значит, половина со входом на нём пока не настроена; напишите на apc@abt.nz, и до тех пор это сделают руками. Мы предпочитаем напечатать запасной путь, а не инструкцию, которая обрывается на середине.
Чем этот сервис не является
Репозиторий закрыт, поэтому ссылки нет — и печатать адрес, по которому ничего не отвечает, мы не станем. Лицензия APC — Apache 2.0, открыть исходники входит в намерения, и в тот день ссылка появится в этой строке.
Политика конфиденциальности и условия использования по этим ссылкам — перевод. Основной текст английский: /privacy и /terms. При расхождении смысла имеет силу английская версия.