Об этом проекте
Falsify решает узкую, но конкретную проблему в оценке МЛ: заявление, такое как «94% точности», часто сообщается постфактум, без записи того, какая метрика, набор данных, порог или сид были задуманы заранее. Ответ инструмента — предварительная регистрация: зафиксировать заявку как канонизированный манифест, хэшировать его с помощью SHA-256, а затем проверить наблюдаемый результат против этого заблокированного хэша.
Основной поток — две команды. `falsify lock claim.prml.yaml` канонизирует манифест и записывает побочный дайджест; `falsify verify claim.prml.yaml --observed 0.934` сравнивает наблюдаемое значение с заблокированным порогом. Коды выхода рассматриваются как API: 0 для PASS, 10 для FAIL ниже порога и 3 для TAMPERED, когда спецификация была отредактирована после блокировки и хэш больше не совпадает. CI может полагаться на эти коды.
Формат манифеста — PRML (Pre-Registered ML Manifest), с v0.1 стабильной и v0.2 замороженной. Репозиторий содержит спецификацию, набор соответствия и четыре эталонные реализации — Python (PyPI `falsify`), JavaScript (npm `falsify-js`), а также Go и Rust реализации, хранящиеся только в репозитории. README утверждает, что все четыре байт-эквивалентны по 21 вектору соответствия (13 для v0.1 плюс 8 для v0.2), с дополнительным набором из 92 векторов, полученных из формальной грамматики. Многоязычная CI-задача запускает векторы при каждом пуше и ежедневно.
Помимо основного CLI, встроенная команда `falsify-engine` предоставляет рабочий процесс заявок (`init`, `run`, `verdict`, `guard`, `trend`) для спецификаций `.falsify/<name>/`, включая защиту сообщений коммитов и пять стартовых шаблонов для точности, задержки, оценки Брайера и согласия LLM-судьи. README явно указывает, что это отдельный инструмент от CLI манифестов PRML, несмотря на общую установку.
Интеграционная поверхность, описанная в README, включает JSON Schema в каталоге SchemaStore для автодополнения в редакторах, браузерный реестр для хэширования манифестов без установки, составное GitHub Action для CI, плагин MLflow, который помечает запуски хэшами манифестов, и исполняемые примеры мостов для десяти оценочных сред (deepeval, lm-eval-harness, promptfoo, opik, langfuse, laminar, mastra, hud, braintrust, lighteval). README отмечает, какие из этих примеров работают полностью офлайн, а какие останавливаются на границе бэкенда. Также есть пример аттестации CycloneDX 1.6 и мост in-toto/ITE-6.
Проект честен о своих границах: PRML не доказывает, что результат МЛ истинен, только то, что конкретная заявка была зафиксирована до того, как её можно было молча переписать. README также документирует неудачное публичное предсказание (Lock #2 разрешился при 0/3 участниках) и ссылается на пост-мортем. Лицензии: MIT для кода и Community Specification License 1.0 для спецификации, с отмеченными оговорками о товарных знаках. Требуется Python 3.11+.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.