AI Vibe Craft
← Назад к AI Vibe News

Редакция 26 мая 2026 г.

Разборы

Vestige: когнитивный трекер на Gemma 4, который «наблюдает и не оценивает»

Vestige: когнитивный трекер на Gemma 4, который «наблюдает и не оценивает».

«Vestige» — Android-приложение, в англоязычном анонсе представленное как трекер для ADHD на базе Gemma 4 с связкой E4B и EmbeddingGemma 300M; там же подчёркнуты native audio, multi-lens extraction и режим on-device after one model download, плюс формулировка, что система observes and never grades. https://dev.to/anchildress1/vestige-a-gemma-4-brain-tracker-that-wont-blow-smoke-up-your-ass-5caf

Пост с таким заголовком вышел 24 мая 2026 года (UTC). На карточке материала на Dev.to на момент сверки отображались 8 комментариев, 22 реакции и оценка времени чтения 15 минут; публичного счётчика просмотров в открытых полях API для этой карточки нет.


Gemma 4 на устройстве: LiteRT-LM, одна среда инференса и выбор E4B

В открытом материале выбор E4B (в сравнении с E2B) связывают с нативным аудиовходом, локальной структурированной экстракцией и качеством, достаточным для «трёхлинзового» контура: в таблице сопоставления фигурируют критерии вроде нативного аудио без SpeechRecognizer, приемлемой скорости ответа в foreground и устойчивости «поля качества» под нагрузкой трёх линз, плюс мотивация не отправлять голос в облако.

Рантайм привязан к LiteRT-LM и артефакту Gradle litertlm-android:0.11.0; указано, что используется одна inference-среда без параллельного пути через llama.cpp, MediaPipe или AICore. Модель для загрузки задана идентификатором на Hugging Face: litert-community/gemma-4-E4B-it-litert-lm.

Для аудио описан принудительный выбор CPU (AudioBackendChoice.Cpu): сообщение уровня SDK трактуется так, что E4B в этой конфигурации не принимает GPU для аудио, при этом декод текста остаётся на GPU — это описание ограничения платформы из первоисточника, а не независимый бенчмарк.

Foreground: один ожидаемый пользователем вызов — потоковый ответ вида {transcription, follow_up} из LiteRtLmEngine.streamMessageContents. Фон: три последовательных вызова «линз» на запись, периодический анализ паттернов каждые три завершённые записи и отдельные best-effort вызовы в оговорённых там условиях.


Multi-lens: три чтения транскрипта и «чистая» функция сходимости

В первоисточнике три независимых прохода по транскрипту названы Literal, Inferential и Skeptical; каждый проходит по пяти surface-спекам: Behavior, State, Vocabulary, Commitment, Recurrence.

ConvergenceResolver задан как чистая функция на Kotlin: в сопроводительной таблице перечислены вердикты вроде CONSENSUS, CANDIDATE, AMBIGUOUS, CONSENSUS_WITH_CONFLICT и правило «не менее двух из трёх» согласованных сигналов.

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

Для он-девайс-метрик приведена собственная серия замеров расхождения линз (STT-D): 73% записей с «meaningful field-level divergence» при пороге ≥50%, 97.8% «parse stability» и ноль таймаутов; отдельно — серия STT-H от 2026-05-24 (12 из 12 записей, три из трёх линз с первого раза, ноль ретраев, сдвиг по AUDIT и числу архетипов). Эти цифры — не редакционный эталон, а фиксация того, что приведено в первоисточнике как измерения на устройстве.

Ориентиры латентности — порядка 38 с на запись в одном режиме с «теплым» контекстом GPU и 21,2 с в «холодном» сценарии на 2026-05-23 — тоже сняты из того же текста, без независимой редакционной верификации.


EmbeddingGemma 300M: векторы записей и кластеры «Vocab Drift»

В первоисточнике EmbeddingGemma 300M в версии v1 используется для кластеризации Vocab Drift по tone word (vocabularyWord): вектор на запись, группировка по косинусному сходству, порог 0,30; там же сказано, что менялась ось калибровки, а не сам порог.

В статусе стека приведены оценки «размера и стоимости»: около 200 MB резидентно, около 880 ms на эмбед на CPU; Gemma 4 E4B в связке указан как около 3,66 GB (нативный аудио + текст) — всё в блоке Status / Stack того же материала.

Условия показа: кластеризация запускается при не менее шести пригодных векторов, а карточка Vocab Drift — при кластере не менее четырёх членов (VOCAB_THRESHOLD в том же описании).


Не журнал настроения: сеть, телеметрия и рамки лицензии

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

По сети изложены NetworkGate (закрыт по умолчанию; открывается только для загрузки модели и resealed в finally) и Gradle-задача verifyNoTelemetry с четырьмя независимыми сканами; «receipts» уходят в CI при каждой сборке. После загрузки модели там же утверждается отсутствие исходящих путей из процесса приложения в обычной работе — это заявление из первоисточника, а не результат стороннего аудита.

Платформа и железо: Android 14+, в требованиях к установке — 12 GB RAM, 6 GB свободного места, в качестве референса указан Galaxy S24 Ultra; стек — Kotlin, Jetpack Compose, Material 3, ObjectBox, экспорт в markdown. Лицензия: Polyform Shield 1.0.0 с дополнительными условиями из того же описания.

Текст восьми комментариев в обзор не включён: полный тред — на странице поста по ссылке выше. Упомянутые в материале «доказательные» ссылки на GitHub, APK и SHA-256 сюда не переносились: конкретные URL нужно взять с живой страницы Dev.to после ручной проверки.


Источники

  • Первоисточник (Dev.to, профиль anchildress1): Dev.to — дата доступа 2026-05-25T22:05:00Z (UTC).
  • Метрики карточки и время публикации: 8 комментариев, 22 реакции, 15 минут чтения; метка публикации 2026-05-24T23:38:28Z (UTC). Счётчик просмотров в открытых полях API для этой карточки не заполнен — сверено по данным Dev.to на 2026-05-25T22:05:00Z (UTC).