Что Digit умеет
Digit разбирает запрос на русском, выбирает, что с ним делать, и отвечает из проверяемого источника: результатом утилиты, дословной цитатой из материалов курсов или сертификатом над спецификацией. Если подходящего источника нет, он говорит об этом прямо и с числами — вместо того чтобы придумать правдоподобный ответ.
Модель работает на вашем процессоре: файл весов — 424 МиБ, полный цикл «запрос → ответ» — 2,0 с на обычном CPU. Облачного аккаунта не нужно.
Что он делает
Считает: 95 утилит по запросу на русском
Хеши и HMAC, JWT, cron-выражения, IP-подсети, конвертеры форматов, генераторы, кодировки, работа с текстом, QR-коды — 95 утилит в 14 категориях. Просить их надо словами, а не именем инструмента: Digit сам выбирает утилиту и вытаскивает из фразы аргументы.
Записанный прогон, задача tool_routing_018:
Вы: мне нужно понять, что зашифровано в этой строке:
0J/RgNC40LLQtdGCLCDQvNC40YAh
Digit: Утилита: base64-string-converter (исполнено tools-core как «base64_decode»).
Аргументы: {'base64': '0J/RgNC40LLQtdGCLCDQvNC40YAh'}
Результат: {'text': 'Привет, мир!'}
Ответ здесь производит не модель, а функция: модель только выбрала утилиту и вынула из фразы строку. Поэтому в выводе видно и то, какая утилита сработала, и с какими аргументами — результат можно перепроверить, не спрашивая Digit второй раз.
Утилиты — чистые функции в одном скомпилированном бинаре: ни браузера, ни DOM, ни обращения к внешнему API. Каждая несёт рабочий пример, и все 114 примеров исполняются тестовым набором (220 тестов).
Отвечает по курсам — дословной цитатой со ссылкой на абзац
Не пересказ и не «по мотивам»: Digit возвращает фрагмент текста как он есть, с путём к файлу, заголовком раздела и ссылкой на конкретный якорь. Перед выдачей цитата проверяется на дословность против текущего файла корпуса — если текст в материалах изменился, ответ не выдаётся.
Записанный прогон, задача rag_citation_004:
Вы: Что происходит с уже выданными и ещё не использованными ссылками
на скачивание Workbench после полного возврата денег?
Digit: Цитата (content/legal/refund.md — Digitable Workbench,
релевантность 0.94):
«До первого получения ссылки на архив Workbench можно запросить
полный возврат. <…> Полный подтверждённый возврат отзывает
entitlement: новые и ранее подготовленные, но ещё не использованные
ссылки перестают работать.»
Источник: /legal/refund/#digitable-workbench
Ссылка ведёт на тот самый раздел, а не на страницу целиком, — прочитать абзац вокруг цитаты и убедиться самому занимает один клик.
Отказывается, когда ответа в источниках нет
Это главное отличие от чат-бота, и оно устроено так: решение об отказе принимает код, а не модель. Гейты сравнивают релевантность с порогом, проверяют дословность цитаты и расхождение кандидатов. Модель не может «передумать» и ответить.
Отказ формулируется закрыто и с числами — записанный прогон, задача
out_of_corpus_063:
Вы: Когда выйдет следующая редакция оферты?
Digit: В материалах курсов Digitable этого нет. Проверено 28 778 фрагментов,
максимальная релевантность 0,38 при пороге 0,56.
Числа внутри реплики относятся к тому индексу и тому порогу, на которых шёл этот прогон; на текущем индексе их значения другие (29 775 фрагментов, порог 0,745). Важна здесь не конкретная цифра, а форма: «ответа нет» без указания области поиска и без чисел — само по себе непроверяемое утверждение, то есть та же выдумка, только с обратным знаком.
Проверяет исполняемые спецификации FTS
Бизнес-правило, записанное на FTS, Digit не «оценивает» — он его выполняет: разбирает, проверяет типы, прогоняет приложенные примеры и либо выдаёт сертификат вывода, либо отказывает с кодом причины. Кодов отказа восемь, и каждый называет ровно то, что не удалось: непроверенный морфизм, нарушение свойства на примерах, ошибка типов, несобравшийся сертификат.
Отдельно работает детектор структурных логических ошибок (восемь кодов): круг в основаниях, неполный разбор случаев, подмена смысла у одного идентификатора, морфизм, применённый против объявленного направления, пример вместо доказательства.
Граница этого механизма названа прямо: FTS гарантирует «если посылки верны — вывод верен». Истинность самих доменных аксиом не доказывается, а объявляется, поэтому морфизмы делятся по уровню доверия, и опора на непроверенный даёт структурный отказ, а не зелёный сертификат.
Работает локально
| Файл модели | 424 МиБ, сборка Q5_K_M |
| Полный цикл на CPU | 2,0 с (медиана, 8 потоков, без кэша промпта) |
| То же с кэшем промпта | 500 мс |
| Память | 1,3 ГБ |
| Утилиты | один скомпилированный бинарь, 107 МиБ |
Модель класса 0.6B хватает потому, что она не источник фактов: её работа — выбрать категорию, выбрать утилиту и вынуть аргументы. Каталог из 95 схем в контекст такой модели не помещается, поэтому маршрутизация двухшаговая — сначала индекс категорий (≈536 токенов), потом схемы одной категории.
Как поставить и как обновлять
Обновление идёт из репозитория проекта, а не из чужого канала обновлений:
digit update
Команда тянет новую версию, сохраняет ваши настройки, память и ключи — они лежат отдельно от самой программы и переустановкой не затрагиваются.
Если вы ставили Digit до 4 августа 2026 года, обновление первый раз нужно запустить вручную. В тот день агент был переименован из прежнего имени, вместе с ним переименовались команды и каталог настроек. Прежняя команда обновления больше не существует, поэтому автоматически подтянуть новую версию нечем:
curl -fsSL https://raw.githubusercontent.com/digitable-lol/digit/main/scripts/install.sh | bash
Дальше digit update работает как обычно. Если после переустановки агент
запускается, но не видит прежних разговоров и навыков, он скажет об этом сам
и напечатает команду переноса — данные не потеряны, они лежат в каталоге со
старым именем, и переносить их автоматически он не станет: там же ключи и
доступы, а копировать их без спроса — не дело установщика.
Чего ждать не стоит
Страница выше — про то, что работает. Ровно столько же внимания стоит уделить тому, где проходит граница, и она измерена:
- Digit не источник фактов вне корпуса: на вопрос без ответа в материалах он откажет, а не поищет в интернете.
- Остаточная ошибка есть, и она одна: верная цитата не на тот вопрос. На наборе задач, который писал автор, не имевший доступа к коду, это 28 из 32 всех пробоев, а доля ложных ответов там — 13,9 %.
- Гарантия оплачена отказами: на том же наборе доля отказов — 75,6 %, и часть из них лишние.
Формулировки «наш агент не галлюцинирует» на этих страницах нет и не будет. Точная формулировка длиннее: содержание ответа берётся только из проверяемых источников; остаточные ошибки — это верная цитата не на тот вопрос, их доля измерена и равна 13,9 % на наборе, который разработчик не видел.
Границы гарантии — что система ловит, чего не ловит и сколько стоит гарантия в отказах. Эту страницу стоит прочитать до того, как решать, подходит ли Digit под вашу задачу.
Как это устроено и что проверено
- Как устроена проверяемость — три источника содержания, два режима работы, запрет тихой деградации и почему отказ принимает код, а не модель.
- Что проверено и какими числами — методика: контроли до оптимизации, независимый held-out набор, red-team, доверительные границы. И числа, полученные этой методикой.
- Границы гарантии — что система ловит, чего не ловит и сколько стоит гарантия в отказах.
- Digit в Digitable Workbench — как тулчейн и гейт спецификаций подключаются к рабочему окружению.
Откуда числа
Все числа этого раздела лежат в одном машиночитаемом файле
(data/digit-research.toml) вместе с единицей измерения, путём к отчёту, из
которого число взято, и датой. Сборка страниц падает, если в тексте встретился
показатель без источника или с незакрытым значением. Числа, полученные на
разных конфигурациях поиска, помечены отдельно: сравнивать их между собой
нельзя.
Примеры диалогов выше — записанные прогоны из наборов оценки, а не реконструкции: у каждого есть идентификатор задачи и файл с сырым ответом.
Материалы про FTS изложены по открытой документации языка и по описанию гейта.