APC Agent Profile Context
Черновик — в силу не вступил

Это черновик. Юрист его не читал, владелец не утверждал его к публикации, поэтому написанное здесь ни к чему не обязывает и формулировки ещё могут измениться.

Ассистент должен знать, с кем работает, до первого вопроса.

APC — это небольшой профиль о вас: несколько десятков коротких прямых утверждений. Любой ваш AI-ассистент читает их, когда начинает работу. Пересказывать себя каждому новому больше не нужно.

Что это такое

APC (Agent Profile Context) — сервер, который хранит один профиль: ваш. Он говорит на Model Context Protocol — открытом стандарте, который позволяет AI-ассистенту подключиться к внешнему источнику данных примерно так же, как браузер подключается к сайту. Если ваш ассистент поддерживает MCP, вы один раз указываете ему адрес профиля — и дальше он начинает каждый разговор, уже зная, чем вы занимаетесь, на каких языках работаете, что означают ваши внутренние сокращения и чего делать нельзя.

Профиль — это не документ и не история переписки. Это список коротких прямых утверждений, от 10 до 300 символов каждое, разложенных по девяти неизменным секциям: identity, business, market, operations, roles, constraints, preferences, glossary, current. Десятой секции нет, и завести её нельзя. Бесплатный план вмещает до 200 утверждений на профиль — больше, чем аккуратный человек обычно пишет.

Зачем это нужно

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

APC превращает это в один список в одном месте. Ассистенты его читают, а те, которым вы разрешили, ещё и пишут в него. Меняется что-то — меняется один раз.

Один профиль, много ассистентов, запись без проверки Вы заводите профиль APC и присваиваете его себе в браузере, там же и разрешаете отдельным ассистентам в него писать. Каждый подключённый ассистент читает профиль целиком. Ассистент, которому вы разрешили, пишет утверждения прямо в профиль: они действуют с момента записи, очереди нет и ничто не ждёт вашего подтверждения. Взамен вы получаете запись — журнал записи и возможность отменить запись в течение тридцати дней; чтобы читать эту запись, нужно отдельное право надзора, которое выдаёт оператор. Вы в браузере присвоение профиля доступ на запись журнал · отмена Ваш профиль 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. Ещё одно поле для ввода на этом сайте есть, и оно необязательное: имя для ассистента на странице подключения. Все пять шагов ниже самообслуживаемые — исключение не среди них: это право надзора, и о нём сказано после списка.

  1. Направьте ассистента на https://apc.abt.nz/bootstrap и попросите завести профиль. Этот адрес — для ассистентов, а не для браузера: на нём есть ровно один инструмент, и вызвать его можно без аккаунта и без токена. Ассистент вернёт вам идентификатор нового профиля и одноразовую ссылку присвоения. Идентификатор, а не готовый адрес: адреса в шагах ниже собираются из него.
  2. Откройте ссылку присвоения. Она показывает, что делает эта ссылка и к какому аккаунту привязывает, и ничего не начинает, пока вы не нажмёте кнопку; дальше вы входите через Google на idp.abt.nz, и профиль привязывается к той учётной записи, под которой вы вошли. Успейте за 7 дней: непривязанный черновик после этого удаляется без предупреждения — предупреждать некого.
  3. Подключите ассистента к самому профилю. Дайте ему адрес профиля — https://apc.abt.nz/mcp/<идентификатор профиля> — и дайте войти. Первый же его запрос допускает его автоматически: с правом читать ваш профиль и больше ни с чем.
  4. Разрешите ему запись, если она вам нужна. Войдите на https://apc.abt.nz/connect/<идентификатор профиля>, найдите этого ассистента в списке — когда подключился, когда обращался последний раз, может ли писать — и разрешите. Перед этим прочитайте первую панель выше: с этого момента он пишет, не спрашивая.
  5. Наполните профиль. Попросите ассистента взять у вас интервью — для этого у него есть встроенный сценарий. Написанное оказывается в профиле сразу. Следующего ассистента подключайте так же: он прочитает то, что уже есть.

Исключение, о котором стоит попросить вслух: у права надзора (profile:approve) — двух журналов и отмены — самообслуживания нет вовсе. Напишите на apc@abt.nz за кодом сопряжения, выпущенным с этим правом, и подключите по нему одного ассистента: код срабатывает один раз, живёт 15 минут, и именно этот ассистент будет показывать вам журнал записи и отменять запись по вашей просьбе. Всем остальным хватит чтения и записи. Отзыв доступа ассистента — просьба того же рода: страница подключения выдаёт права, но не отбирает.

Инстанс ещё разворачивается. Если ссылка присвоения отвечает, что это не поддерживается, — значит, половина со входом на нём пока не настроена; напишите на apc@abt.nz, и до тех пор это сделают руками. Мы предпочитаем напечатать запасной путь, а не инструкцию, которая обрывается на середине.

Чем этот сервис не является

Не бизнес
APC — проект под названием ABT, его некоммерчески ведёт один человек: Andrei Shvechkov. Компании за ним нет, платы нет, платного тарифа не предлагается, и здесь ничего не продаётся — ни вам, ни о вас.
Без гарантий
Ни обязательств по доступности, ни обязательств по поддержке, ни обещания, что ваши данные переживут чужую ошибку. Предоставляется «как есть». Держите свою копию того, что жалко потерять. См. условия использования.
Не память ассистента
Сервис не следит за вашими разговорами и ничему у них не учится. Само собой здесь не появляется ничего: каждое утверждение написал ассистент, которому вы разрешили запись, в тот момент, когда он так решил, — и каждая такая запись лежит в журнале вместе с названной причиной.
Не место для секретов
Всё в профиле написано для того, чтобы его читали ассистенты, а значит получали их поставщики. Пароли, ключи, чужие личные данные — сюда не класть.
Не готовый продукт
Это ранний сервис в активной разработке. Названные выше шероховатости реальны, и список будет меняться.

Репозиторий закрыт, поэтому ссылки нет — и печатать адрес, по которому ничего не отвечает, мы не станем. Лицензия APC — Apache 2.0, открыть исходники входит в намерения, и в тот день ссылка появится в этой строке.

Политика конфиденциальности и условия использования по этим ссылкам — перевод. Основной текст английский: /privacy и /terms. При расхождении смысла имеет силу английская версия.