Мультиагентная система для работы

Наймите отдел,
который читает всё
и не устаёт никогда

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

Показываем на самой неблагодарной рутине — госзакупках. Но ядро системы не знает слова «тендер»: новый агент — это страница текста, а не проект внедрения. Какую рутину вы отдадите первой — решаете вы.

Посмотреть, как работает Как расширяется Где границы
Экран «Спросить»: ассистент разбирает требование обеспечения заявки 5 % при НМЦК 2,4 млн, ссылается на ч. 2 ст. 44 44-ФЗ и даёт готовый текст запроса заказчику
Экран «Спросить». Заказчик потребовал обеспечение заявки 5 % при НМЦК 2,4 млн; ассистент назвал норму (ч. 2 ст. 44 44-ФЗ — не больше 1 %), пересчитал предел в рубли и положил рядом готовый текст запроса. Внизу строка расхода: сколько стоил разговор, сколько занято окна, сколько осталось в пакете.

Сколько стоит читать руками

Мы измерили поток документов, с которым живёт один тендерный специалист. Не оценили — измерили, на настоящих данных ЕИС.

1 ч 43 мин

чтения — документация одной закупки (медиана 92 590 знаков). Каждая десятая — больше трёх часов.

Замер: 200 закупок ЕИС, июль 2026
48 закупок/день

приходит по одному товарному профилю (бытовая химия, все регионы). Прочитать всё — 82 часа чтения в день. Это десять полных рабочих дней. Каждый день.

Замер потока по ОКПД2 20.41; 82 ч = 48 × 103 мин
51 586 жалоб

поступило в ФАС по закупкам за 2025 год. Медианное решение — 16,5 тыс. знаков, 18 минут чтения, и в нём три основания сразу. Практику по своей нише руками не отследить.

Релиз ФАС от 20.02.2026; 318 решений с полным текстом, замер 26.07.2026

Люди и не читают. Решения принимаются по заголовку и цене — а требование, которое отсеет вашу заявку, живёт на 43-й странице.

Одна организация — люди и агенты вместе

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

Люди ставят задачи, отвечают на вопросы, принимают результаты Ядро Асенты задачи и лента событий учёт расхода и лимиты права и устройства доступ к моделям ИИ Агенты Помощник Проверка заказчика ваш следующий агент… ЕГРЮЛ карточки, связи, отчётность ФАС и РНП дела, решения, недобросовестные ваши системы 1С, CRM, склад — по открытому MCP задачи и вопросы поручения и отчёты вызовы инструментов

Схема шире экрана — потяните её вбок.

Поручить — как человеку

Пишете исполнителю как коллеге: «Проверь заказчика по ИНН…». Вопрос — ответит на месте; поручение — предложит сам: кому, сколько займёт, что будет считаться готовым, и одно нажатие ставит задачу. Не хватает данных — задаст вопрос тому, кто отвечает за тему, и подождёт ответа.

Каждый шаг записан

Пока агент работает, видно, что он делает сейчас, — шагами и словами. Потом: что вызвал, с какими аргументами, что вернулось, сколько это стоило — раскрывается в ленте задачи. Программа предсказуема, а не «как-то решила».

Расход под контролем

Бюджет на задачу, личные лимиты на час, день, неделю и месяц. Отказ всегда называет, какой предел исчерпан и когда отпустит.

Не чёрный ящик: смотрите сами

Кадры ниже — не макеты: это работающая программа, снятая с работающего контура. Организация в кадре демонстрационная — мы показываем устройство, а не чужие закупки, — и потому ни одно число из кадра на этой странице не выдаётся за замер. Замеры стоят отдельно и названы замерами.

Карточка задачи «Проверить заказчика перед подачей заявки»: разбор времени сверху, затем размышления агента, вывод, строка «Со слов ассистента» и три кнопки оценки
Карточка задачи, обойма «Все события». Сверху — разбор времени, ниже — что агент думал и что ответил, под ответом — оценка человеком: «Принято», «Переделать», «Мимо».

Видно не только вывод, но и путь к нему

Поручение — «ИНН такой-то: действующий ли, чем платит, нет ли историй с ФАС и РНП». Агент берёт карточку ЕГРЮЛ и отчётность, затем дела ФАС и реестр недобросовестных поставщиков, и отвечает по существу: руководитель не менялся два года, отчётность сдана, в РНП не значится, в делах ФАС одна жалоба на положения документации, признана необоснованной.

Под ответом — строчка, ради которой всё это и затевалось: «Со слов ассистента: это его слова об источнике, а не выписка из него», а рядом — где сверить (РНП, ЕИС). Пересказ не выдаётся за выписку.

Чего это стоит, известно числом: 8–9 тысяч единиц на оборот модели и 18–28 тысяч на задачу — замер на четырёх заказчиках. Дальше расход виден у каждой задачи в углу, а не в конце месяца в счёте.

Куда ушло время — видно построчно

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

Разведены они не для красоты. «Задача шла девять минут» и «модель работала минуту» — разные величины, и первую обычно предъявляют вместо второй. Здесь предъявить нечего: обе стоят рядом.

Тут же видно, что к задаче приложен файл и что он никуда не делся: вложение лежит в шапке и сохраняется одним нажатием.

Обойма «Как шла работа» в задаче «Разобрать закупку»: строки с длительностью — ожидание исполнителя, размышления; ниже лента событий с приложенным техническим заданием и вопросом к человеку
«Как шла работа» поверх ленты той же задачи: ожидание исполнителя и размышления — отдельными строками, приложенное техническое задание — в шапке, а внизу вопрос к человеку с готовыми вариантами ответа.

У ответа есть строчка «где проверить»

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

Ответ агента в ленте задачи: под выводом стоит оговорка «Со слов ассистента», ниже — процитированная строка и адрес «Где проверить: извещение 0173100000126000123»
Под ответом — оговорка «со слов ассистента», цитата отдельным блоком и адрес, по которому её сверяют.

Оговорка стоит там не из скромности. Ответ модели и выписка из документа выглядят на экране одинаково, и различить их читающий не может — значит различие должна проводить программа, каждый раз и одними и теми же словами.

Цена известна: один лишний оборот модели на каждый цитируемый ответ. Поэтому роли сказано цитировать там, где вывод держится на конкретном документе, а не под каждой фразой.

Цитата берётся из слов модели

Не вырезается из ответа источника по его схеме — источник меняет её когда захочет, и вырезка молча съезжает на соседнее поле.

Цитата без адреса не принимается

Непроверяемая цитата обещает доказательство и не даёт его. Нет адреса — нет цитаты, и агент договаривает это словами.

Новый поход за данными её сбрасывает

Названная до последнего вызова, она не обосновывает то, что пришло после. Ответ без цитаты — обычное дело; ответ с чужой цитатой — ложь с подписью.

Иначе говоря: пересказ не выдаётся за выписку. Где агент оценивал, а не проверял, — так и написано.

Видно, где стоит работа, — а не кто не работает

Витрина для того, кто отвечает за оборот задач: что стоит, чего оно ждёт и сколько уже стоит. Подлежащее каждой строки — работа. «Три вопроса ждут ответа дольше трёх дней» — сюда; «Мария не ответила три дня» — нет, и не из вежливости: человек бывает заблокирован сам, перегружен или не на работе, и вывод о нём делает человек, а не панель.

Сегмент «Что мешает» на экране «Задачи»: сводка — сколько задач стоит, сколько идёт и сколько потрачено, ниже группы «Упало» и «Никто не оценил»
«Задачи», третий сегмент — «Что мешает». Сверху — сколько задач стоит, сколько идёт и сколько потрачено. Ниже — группы «Упало» и «Никто не оценил»: в каждой наверху то, что стоит дольше всех. Задачи, которые ждут ответа человека, — на «Решениях».

Четыре группы по одной оси

Ось одна — что должно случиться, чтобы работа сдвинулась. Задача попадает ровно в одну группу, поэтому числа можно складывать.

  • ждёт человека — вопрос задан и не отвечен
  • помощник думает — работает над ответом, поторопить нельзя
  • упало — не справился или не взял; этого не ждёт никто
  • никто не оценил — результат есть, оценки под ним нет

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

Счётчика по людям нет

Ни среднего времени ответа, ни сортировки коллег. Спросить панель про человека нечем: у среза нет такого свойства. Имя стоит в строке один раз и только как ответ на вопрос «куда с этим идти».

Расход — сумма и одно имя

«Потрачено столько-то» и «больше всего на такую-то». Рейтинг задач по стоимости отвечает на другой вопрос, и место ему в отчёте о деньгах. Ноль не показывается вовсе.

Пустая группа говорит «ничего»

«Ничего не упало» — это ответ, и именно за ним приходят. И до прихода списка ноль не утверждается: нуль, которого никто не считал, — выдумка, и ей верят.

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

Тот же факт, названный «видно, где стоит работа», покупают обе стороны: исполнителю он показывает, что он ждёт не по своей вине.

Те же два-три человека — производительность отдела

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

Руками

  • Разбор документации одной закупки — 1 ч 43 мин, медиана 92 590 знаков
  • Каждая десятая закупка — больше трёх часов чтения
  • Дневной поток из 48 закупок — 82 часа чтения: физически невозможно
  • Практика ФАС по нише — не отслеживается: свыше двухсот жалоб в рабочий день
  • Четверть файлов закупки не читается машинно — старый .doc, скан, вложенный архив

С агентами

  • Поток фильтруется целиком: человеку доходят единицы стоящих
  • Черновой разбор — агентом, человек читает выжимку и спорное
  • ЕГРЮЛ, отчётность, дела ФАС и РНП — инструменты агента, спрашиваются в разговоре
  • Проверки, которые «когда-нибудь потом», делаются каждый раз
  • Под каждым выводом — чем он подтверждён и где это сверить

Правая колонка — про то, что снято с человека, а не про то, во сколько раз он стал быстрее. Сравнения «во столько-то раз» мы не приводим: ручную проверку контрагента мы не хронометрировали, и число, которого никто не мерил, здесь было бы украшением.

Что сколько стоит машине

Себестоимость модели за одну операцию. Расчёт по замеренному объёму текста и ценам каталога моделей; разбор и проверка идут на средней модели, просмотр карточки — на дешёвой.

Просмотр карточки закупки $0,0002 Проверка контрагента $0,038 Полный разбор закупки $0,206 Три четверти месячной себестоимости — один вид работы, глубокий разбор. Значит следить надо за числом разборов, всё остальное шум.

График шире экрана — потяните его вбок.

Выводы агентов — рабочая аналитика, а не юридическая консультация. Перед использованием в реальном споре документы проверяет юрист.

Растёт дописыванием, а не переделкой

Тендеры — первый пример. Ядро системы не знает слова «закупка»: агент — это текст роли и список инструментов. Новая рутина — новый агент, а не новый проект внедрения.

Вкладка «Люди» раздела «Команда»: карточки коллег с полем «За что отвечает» и правами, ниже — исполнители организации
«Команда» → «Люди»: у каждого человека — поле «За что отвечает», по нему исполнитель выбирает, кого спросить. Ниже — исполнители: их инструменты и роль, которую правит человек с правом на это, а не программист.

Три способа расширить систему

Дописать агента

Роль — это страница текста: кто он, что делает, когда спрашивает человека. Плюс список инструментов. «Проверка поставщиков», «мониторинг цен», «первичный отсев» — по одному шаблону.

Подключить инструмент

Инструменты живут по открытому протоколу MCP. Наши — ЕГРЮЛ, отчётность, дела ФАС, РНП, закупки. Ваши — 1С, CRM, склад: ключ вводится кнопкой и хранится в связке ключей устройства, в переписку не попадает.

Мастерская агента

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

Язык выбирает установка, а не природа текста

В исходниках русского нет нигде — ни в надписях, ни в роли, которую читает модель; всё живёт в каталогах перевода, и держит это не память, а проверка, падающая на русской строке с указанием файла. Что это даёт: два клиента из одного двоичного файла — русский и английский, — проверено запуском. Русская установка сегодня переведена целиком, вместе со счётом («1 задача», «2 задачи», «5 задач») и падежами дат.

Мы предоставляем ядро и понятные механизмы расширения — и дорабатываем систему под ваш процесс, когда нужны руки.

Мастерская: агент собирает себе инструменты

Раньше одна и та же работа объяснялась каждый раз заново: человек рассказывал, какой командой это делается, агент делал — и через неделю оба не помнили, как. Теперь удачно найденная команда становится именованным инструментом с описанием, и в следующий раз агент зовёт её сам.

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

Про код человека не спрашивают

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

Границу держат песочница и лента

Клетка отвечает за то, до чего команда дотянется. Лента задачи — за то, что по ней потом разберутся: тело команды и её вывод видны целиком, а не пересказом. И то и другое проверяемо, в отличие от нажатия не глядя.

Вкладка «Инструменты» под именем человека: раздел «Инструменты, собранные ассистентом», предупреждение над списком, карточка инструмента с его текстом и строкой о том, где он исполняется
Вкладка «Инструменты» под вашим именем: что ассистент собрал на этом компьютере. Над списком — предупреждение. У каждого инструмента — его текст и строка о том, где он исполнится и до чего дотянется.

Инструмент живёт на вашей машине

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

Исполнение заперто

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

Пределы полки — в полке, а не в подсказке

30 инструментов на человека, 8 файлов в инструменте, 20 000 знаков на файл, 8 мест подстановки. Предел, о котором написано только на экране, обходится опечаткой. Переполнение отвечает отказом с причиной, а не вытесняет старое: что забыть, решает человек.

Дешевле, чем один час работы специалиста. В месяц

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

260–520 ₽/мес

себестоимость машинного чтения всего дневного потока закупок одного профиля — против 82 часов человеческого чтения в день. Это токены; глубокий разбор стоящих считается отдельно и там же виден.

2,2–2,7 млн токенов в месяц при 120 ₽/млн; плотность текста измерена, поток — оценка
3 поставщика моделей

OpenAI, Anthropic, DeepSeek — одна и та же роль и то же объявление инструментов отработали на всех, без правки кода. Модель выбираем и меняем мы; запросы к ней идут через наш шлюз — это условие договора.

Заменяемость подтверждена между поставщиками, а не только между моделями одного
Экран «Задачи», сегмент «Мои»: ваши поручения и поручения вам, по группам «Ждёт ответа», «В работе», «Никто не оценил», «Упало», «Закрыто»
«Задачи», сегмент «Мои»: ваши поручения и поручения вам одним списком, по группам — от «Ждёт ответа» до «Закрыто». У каждой задачи видно, кто её делает и что с ней сейчас. «Никто не оценил» — результат есть, а оценки под ним нет.

Что это значит для производительности

Те же два-три человека со связкой агентов покрывают поток, на который раньше нужен был отдел, — без роста штата: фильтрация и черновая работа — машиной, деньги, письма наружу и спор — человеком. Проверки, которые «когда-нибудь потом», выполняются всегда, потому что стоят секунды: контрагент — перед каждой заявкой, практика ФАС — перед каждым спорным требованием.

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

Что уже обжилось, и что идёт следом

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

Задачи по расписанию

Рутина не исполняет ничего сама — в назначенный час она ставит обычное поручение, и дальше работает всё то же: очередь, лимиты, лента, оценка. Задача помнит, что её поставила рутина, и говорит об этом на карточке: иначе первая мысль читающего — «я этого не поручал».

Пропущенное догоняется, если опоздание меньше половины периода рутины

Память организации

Агенты помнят, чем вы торгуете, каких заказчиков избегаете, как к вам обращаться. Разговор не начинается с чистого листа. Прибавка к обороту измерена: +395 единиц и +15 % к цене на холодном входе — это верхняя оценка, попадание в кеш шлюза удешевляет её вдесятеро.

Именованные факты с пределами, а не дневник

Режим «Авто»

Вы заняты — ассистент отвечает на вопросы агентов вместо вас, по тому, что о вас знает, и в ленте видно, что ответил он. Работа не останавливается из-за того, что человек вышел из-за стола. Разбор — ниже.

Включён с установки, выключить можно всегда

Ближайший план, названный планом. Команда исполнителей на виду с живым «сейчас»; страница исполнителя, где разговор и поручения идут одной лентой, а поручение выглядит как цель с ходом работы и ценой; поручение по предложению исполнителя — без формы; шаги словами прямо во время работы; ручка «сколько спрашивать»; мобильная сборка приложения.

И предметное, которое дописывается агентами, а не переделкой системы: мониторинг новых закупок по вашему профилю, черновики запросов разъяснений и жалоб в ФАС, сверка заявки с требованиями перед подачей.

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

Память, которую видно и можно стереть

Это не дневник разговоров, а короткий именованный список фактов — ближе к карточке клиента. У каждого факта ключ: новая запись под тем же ключом заменяет прежнюю, иначе «берём только химию» через месяц лежало бы в трёх экземплярах и все три уехали бы в модель, споря друг с другом.

Пределы стоят в хранилище, а не в подсказке

20 фактов о человеке и 20 о компании, 300 знаков на факт. Предел, записанный только в подсказке, модель обходит не заметив. Переполнение отвечает отказом с причиной, а не вытесняет старое молча: что забыть, решает человек.

Стирание обратимо

«Забыть» уводит запись в историю, а не в пустоту. Свою карточку человек правит всегда — права для этого не требуется.

Общее знание не становится общим по решению модели

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

Факты подаются модели как сведения, а не как указания. Факт записан со слов человека и может выглядеть распоряжением — рамка вокруг него и есть то, что отделяет память от подмены роли.

Режим «Авто»: пауза — это уважение к тому, кто на месте

Очередь вопросов ломается об один случай: агент спросил, человека нет, работа стоит до утра. В режиме «Авто» ассистент отвечает за человека тем, что о нём уже знает, — и вступает не сразу.

Пауза по умолчанию — четверть часа, на выбор 5, 15 или 60 минут. Без паузы «Авто» отбирает ответ у человека, сидящего перед экраном, и он узнаёт о вопросе из ответа на него.

Согласие — не право, и нужны оба

Право говорит, что ассистенту позволено; согласие — что человек этого хочет. Право выдаёт другой человек и не себе; согласие — ваш выключатель: «Авто» включён с установки, выключить можно всегда — даже если право уже отняли, настройка не запирается.

Молчание — законный исход

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

Одобрений действий «Авто» не касается

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

Безопасность

Границы заданы устройством, а не аккуратностью

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

Экран «Решения»: вопросы исполнителей с готовыми вариантами ответа и одобрение с меткой «Действует за пределами программы — отменить будет нельзя»
«Решения»: вопросы и одобрения, которые ждут вашего ответа, в одной очереди. У необратимого — метка «Действует за пределами программы — отменить будет нельзя». Вызов в точности, как его сделают, открывается нажатием.

Что доходит до человека — дословно

Поток одобрений закрывает страж действий; человеку достаются исключения — деньги, письма наружу, оборудование и спор с блоком стража. Перед вами тогда не «отправить заявку», а номер извещения, цена и число документов — так, как они уйдут в дело. Согласие даётся на то, что видно, а не на пересказ: пересказ пишет та же модель, которая просит разрешения.

Сколько вопросов задавать вам по ходу задачи, решаете вы: «спрашивай меня», «решай сам, спрашивай про необратимое» или «сделай за меня». Ручка двигает только вопросы — заслоны на деньгах, письмах наружу и оборудовании стоят при любом положении.

Рядом с текстом стоит класс действия — здесь «действует за пределами программы». Это то, что нельзя отменить нажатием.

Отказ обязан иметь причину. «Нельзя» без «почему» рождает вторую попытку того же — агенту продолжать работу, и он попробует иначе, не зная, что мешало.

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

Классы риска решают, что вообще спрашивают

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

Очередь одобрений: агент не стоит

Действие с побочкой встаёт в очередь, а агент продолжает то, что от него не зависит. Синхронное одобрение люди лечат тем, что включают «одобрять всё», — то есть отключают единственный заслон. Задача при этом не закрывается, пока в очереди есть неразобранное: «Готово» не встаёт над неисполненным.

Инструменты исполняются в песочнице

Сеть закрыта, пока инструмент о ней не объявил; корень только на чтение, писать можно лишь в каталог задачи и в своё хранилище инструмента, повышения прав нет, окружение урезано — ключи от источников агенту в команду не достаются. Что именно исполнилось и что вернуло — видно в ленте задачи целиком. Там, где песочницы для платформы нет вовсе (сегодня это Windows), программа говорит об этом на экране, а не молчит.

Три идентификатора, а не один

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

Двери, где набирают секрет, под счётом

Всё остальное закрыто токеном в 256 случайных бит, который не угадывают. Значит угадывание упирается в две формы — вход и приглашение, — и счёт идёт по двум осям сразу: пять промахов за четверть часа на логин и полсотни на вызывающего. Только по логину — и офис обстреливают с одного ноутбука; только по адресу — и один невезучий сотрудник запирает весь офис за одним NAT. Замок называет момент, когда отпустит, а не «попробуйте позже».

Выпуски подписаны Ed25519

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

Ставится в ваш контур

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

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

Названо честно: вынос хранилища наружу и сборка под FreeBSD решены и не сделаны — сегодня это Linux и файл базы на самой машине. Обещание «поддерживаемых семейств два» станет утверждением, когда эталонный прогон пройдёт на обоих, а не раньше.

Страж действий: первую линию держит машина

Побочные действия агентов первым смотрит не человек, и мы знаем почему: человек — плохой фильтр, и это измерено не нами. Люди одобряют 97 % запросов и ловят 13,6 % опасных команд против 89 % у классификатора; к пятидесятому запросу внимание падает почти до нуля. И «одобрять пачкой» это не лечит: кто не читал десять запросов по одному, не прочтёт их и столбиком.

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

Обход блока есть, но не молча: «Отклонить» доступно сразу, «Одобрить вопреки стражу» — только с причиной словами. В ленте после такого лежат обе причины, стража и человека, и разбирающий происшествие читает спор, а не факт.

Включён с установки у каждой организации. Цена измерена на эталонном наборе: 671 единица и около двух с половиной секунд на одно одобрение — порядка 3 % от задачи; на наборе страж не пропустил ни одного опасного вызова и не заблокировал ни одного безобидного.

Единственная граница против враждебной модели — операционная система. Всё, что внутри процесса агента, уменьшает радиус поражения и границей не является — и потому у нас оно границей и не названо.

Ваш первый цифровой сотрудник — за одну встречу

Приходите с процессом, который съедает время отдела. На демо соберём агента под вашу задачу и прогоним на ваших данных — вы посмотрите его трассу своими глазами и сами посчитаете экономию.

Запросить демо

Числа на странице бывают трёх родов, и мы их не смешиваем. Замеры — из наших прогонов, вместе с условиями замера; методика и первичные данные предоставляются по запросу. Расчёты — из замеренного объёма и опубликованных цен, и так и подписаны. Пределы (сколько фактов помнит ассистент, сколько промахов держит дверь, сколько живёт команда) — это устройство системы, и лежат они там, где применяются, а не в подсказке модели. Числа, попавшие в кадр на снимках, — демонстрационные и не относятся ни к одному из трёх родов.