Мультиагентное рабочее место

Работа идёт, пока вас нет за столом

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

Сервер и данные — у вас. Агент делает за вас; человек — на деньгах, письмах наружу и в споре.

Что ждёт меня 4 сегодня
?
Подтвердите объём по позиции «Паста универсальная» Агент нашёл закупку на 4 200 кг к 12 августа. На складе 2 850 кг.
Ждёт 40 мин · подача заканчивается через 2 дня
!
Отправить запрос разъяснений заказчику Действие необратимо — письмо уйдёт в ЕИС от имени компании.
Ждёт 12 мин · срок запроса истекает завтра
✎
Согласуйте исходящее письмо в УФАС Маршрут: юрист → вы → директор. Перед вами согласовано.
Ждёт 3 ч · осталось два согласующих
✓
Готов пакет документов по закупке 0373100056825000412 7 файлов, реквизиты сверены с извещением. Нужна приёмка.
Готово 18 мин назад
В чём дело

Работа стоит не потому, что её много.
Она стоит, потому что ждёт человека.

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

⏱
1 ч 43 мин
медианное время чтения документации одной закупки — 92 590 знаков. Замер по выгрузке из ЕИС.
≈
48
закупок в рабочий день по одному профилю продукции. Прочитать все — невозможно физически.
↯
9 из 10
результатов по прямому текстовому поиску не относятся к делу. Отбор вручную съедает день.
Как устроено

Команда на виду. Одна лента событий. Одна очередь вопросов.

Слева — исполнители: у каждого видно, что он делает сейчас, что умеет и чего ждёт от вас. Всё, что происходит, — это задача. Внутри задачи идёт лента: что сделал агент, что спросил, что проверил, что ответил человек. Всё, что ждёт вас, собирается в одну очередь из всех задач сразу — и стоит счётчиком у того агента, который ждёт.

✎

Написали исполнителю как коллеге

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

≡

Видите работу, а не переписку

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

◑

Отвечаете из одного места

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

Люди и агенты — одинаковые исполнители

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

Экраны

Одно приложение — разные рабочие места

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

Сотрудник
Асента — Волгоградбытхим

Поручить

Опишите словами — уточнения агент запросит сам

Что ждёт меня

Мои задачи

ЗадачаИсполнительСостояниеСрок

Что умеет

Агенты — можно поручить задачу напрямую
Инструменты — по системам

Обо мне

Расход за июль
осталось 4 дня·прогноз: уложитесь
Роль и права
Расход по видам работы
ЧтоОбращенийТокеновДоля

Цифры расхода условные: реальную стоимость разбора мы ещё меряем. Показан принцип — видно, что и сколько стоит.

Уведомления
Срочные вопросыприложение и письмо со ссылкой на очередь, сразу
Обычныесводка в 9:00 и 17:00
Готовые результатытолько в приложении

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

Для того, кто отвечает за оборот задач

Видно, где стоит работа.
Не «кто не работает».

Разница не в вежливости, а в величине. Система знает, что вопрос задан такому-то и ответа нет столько-то часов. Это не «человек не работает»: он может быть заблокирован сам, перегружен или не на месте. Вывод о человеке делает человек — система даёт ему факт вместо ощущения.

?

Ждёт человека

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

⏳

Помощник думает

Агент работает над ответом. Поторопить это не может никто, и часы без движения здесь — норма.

✕

Упало

Агент не справился или не взял. Этого не ждёт никто — потому без панели оно и не видно вовсе.

◻

Никто не оценил

Результат есть, оценки под ним нет. У отменённой задачи оценки не просят: тот, кто отменил, уже сказал, что о ней думает.

Группы не пересекаются, поэтому числа можно складывать

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

Чего на панели нет и не появится

  • Счётчика по людям
  • Среднего времени ответа
  • Сортировки коллег по чему бы то ни было

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

«В работе» — числом, расход — суммой и одним именем

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

Когда вас нет за столом

Режим «Авто»: ассистент отвечает за вас, но не вместо вас

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

⏸

Пауза — уважение к тому, кто на месте

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

✓

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

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

…

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

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

Почему это важно

Приложение не знает вашей предметной области — и это его сила

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

⟳

Новый агент — без обновления программы

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

⌸

Учить сотрудника надо один раз

Тендерный специалист, снабженец и юрист работают одинаково: написал исполнителю, посмотрел, как идёт, ответил на вопрос. Отличается содержание, а не порядок действий.

⊞

Растёт вместе с компанией

Начали с тендеров, добавили канцелярию, потом снабжение и качество. Каждое расширение — это новые агенты, а не новая система.

Что делает интерфейс глубоким, если он универсальный

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

Что накапливается само

Система обживается у вас: инструменты и память

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

🛠

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

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

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

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

🧠

Память: именованные факты, а не дневник

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

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

Свою карточку человек правит всегда; право подтверждать общие сведения передаётся человеком человеку — супер-администратора, который может всё, в системе нет.

Рутины: то же самое, только по часам

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

  • Задача помнит, что её поставила рутина, и говорит об этом на карточке. Иначе появившееся само в девять утра выглядит написанным человеком, и первая мысль читающего — «я этого не поручал»
  • Час, а не минута, и не cron. Строку 0 9 * * 1-5 не читает никто, кроме администратора, а задача всё равно ложится в очередь и ждёт исполнителя
  • Побочные вызовы рутины проходят стража действий, как у любой задачи; деньги, письма наружу и физику закрывает человек
  • Условие написано на экране, а не в примечании: у рутины два дома — эта машина или сервер. Серверная живёт без открытой программы: расписание считает сервер, пропущенное схлопывается в один догон с пометкой, а опоздание прощается на половину периода рутины

Почему это не «настройки», а накопление

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

Честно

Правила, которые мы не нарушаем

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

Что агент делает сам

  • Читает, ищет, сопоставляет, считает
  • Готовит проекты документов и писем
  • Проверяет данные по источникам
  • Напоминает и эскалирует по срокам
  • Ставит задачи другим агентам в рамках своих прав
  • Пишет файлы и запускает инструменты — под стражем действий, с записью в ленте

Что только через человека

  • Подписать документ или приказ
  • Отправить письмо наружу
  • Подать заявку или разместить заказ
  • Провести платёж
  • Двинуть оборудование
  • Спор с блоком стража: одобрить вопреки — только человек, с причиной

Необратимое — дословно

Перед отправкой вы видите точный текст и адресата, а не пересказ «отправить письмо». Согласие даётся на то, что видно.

Права уже, а не шире

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

В ленте видно всё

Что проверено и по какому источнику, что осталось оценкой, чего агент не смог. Ничего не прячется в «магию ИИ».

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

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

Для тех, кто будет это внедрять

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

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

⚖

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

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

⇉

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

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

◎

Страж на потоке, человеку исключения

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

▣

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

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

⛔

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

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

🔑

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

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

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

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

Ставится в ваш контур — и это тот же сервер

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

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

Развёртывание

Работает там, где ваши данные

☁

Облачно

Быстрый старт. Внешние источники — ЕИС, реестры, справочники — у нас; вы подключаетесь приложением и работаете.

🏢

В вашем контуре

Сервер и данные — у вас: лента, файлы, 1С, склад и почта живут внутри сети. Запросы к модели идут через наш шлюз — это условие договора.

⇄

Смешанно

Публичные источники из облака, внутренние системы — локально. Чаще всего выбирают этот вариант.

Настольное приложение для Windows и macOS; Linux и телефон — в работе. С телефона решения принимаются в браузере.

Тарифы

Ориентировочные цены

Мы на стадии проверки спроса, поэтому цены пока индикативные — и мы честно говорим об этом, вместо того чтобы прятать их за формой.

Автопилот

1 200 ₽
в месяц
  • Отбор закупок по продукции
  • Уведомления о подходящих и о сроках
  • Очередь вопросов и задачи
  • Включённый объём единиц — уточняется
Попробовать

Разбор

2 900 ₽
в месяц
  • Всё из «Автопилота»
  • Разбор документации целиком
  • Проверка контрагентов и рисков
  • Подготовка документов
  • Включённый объём единиц — уточняется
Смотреть демонстрацию

Команда

4 900 ₽
в месяц, до пяти пользователей
  • Всё из «Разбора»
  • Агенты для снабжения, юристов, канцелярии
  • Маршруты, роли, права
  • Развёртывание в контуре
  • Включённый объём единиц на всю команду — уточняется
Обсудить

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

Посмотрите на своих закупках

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

Ответим в течение рабочего дня.