Об этом проекте
NovaFabric представляет собой self-hosted инструмент командной строки для обеспечения воспроизводимости, сопоставимости и аудита запусков AI и HPC. Основной единицей ценности является капсула: директория с именем ULID, создаваемая в ~/.novafabric/capsules/, которая содержит наблюдаемые факты одного выполнения, а не строку трассировки в облачной базе данных. Установка выполняется с помощью `pip install novafabric` (Python 3.12+); дополнительные опции добавляют dashboard, query, server, compliance и поддержку Sigstore, а команда `nova doctor --check-extras` сообщает о недостающих компонентах.
Захват: команда `nova capture python my_agent.py --dataset data.csv` работает с любой командой и не требует изменений в приложении. Она внедряет загрузчик sitecustomize.py через PYTHONPATH и устанавливает monkey-патчи для SDK OpenAI, Anthropic и MCP, а также перехваты на уровне сетевых запросов для httpx, requests, aiohttp и urllib3, используя механизм защиты слоев, чтобы вложенные вызовы создавали одну запись. Извлекаются поля семантических соглашений OpenTelemetry GenAI (temperature, top_p, max_tokens, seed, причины завершения и др.). Для клиентов не на Python, таких как Claude Code, Cursor или агенты на Node/Go, два прозрачных прокси — `nova api-proxy` и `nova mcp-proxy` — перехватывают трафик LLM и MCP без вмешательства в клиент. Капсулы записываются как при успехе, так и при сбое, поэтому аварийное завершение фиксируется как доказательство со статусом, кодом выхода и блоком ошибки.
Содержимое капсулы: манифест capsule.yaml, спаны trace.jsonl, model-calls.jsonl, tool-calls.jsonl, env.lock, replay.yaml, входные и выходные данные (stdout/stderr) и redaction-proof.json. Перед финализацией каждый артефакт проходит сканирование на наличие секретов; капсула без подтверждения очистки (redaction proof) считается недействительной для `nova validate` и не может быть экспортирована.
Воспроизведение и сравнение: `nova replay` предлагает четыре режима — forensic (чтение без сети и подпроцессов), mocked (повторный запуск команды с использованием кэша вызовов моделей и инструментов из капсулы), semantic (оценка смысла, а не токенов, сходство от 0.0 до 1.0) и exact (побайтовое соответствие, требующее детерминированной среды и seed для каждого вызова). В README прямо указано, что инструмент не гарантирует точного воспроизведения удаленных вызовов LLM. `nova diff` сравнивает два запуска, а `nova diff --assert-no-regressions` возвращает ненулевой код при изменении поведения, что позиционируется как CI-фильтр для агентов, которые работали вчера, но перестали работать сегодня.
Управление и происхождение: локальный реестр активов SQLite хранит версионированные активы семи типов (model, agent, prompt, tool, dataset, evaluation, deployment), адресуемые как name@version с жизненным циклом от разработки до архивации; продвижение (promotion) является только метаданными управления и ничего не развертывает. Слой происхождения (lineage) создает механические связи consumed, produced_by и replayed_from с наблюдаемой или выведенной степенью уверенности, поддерживает запросы по происхождению, радиусу поражения (blast-radius) и цепочке воспроизведения, а также может генерировать события OpenLineage и экспорт W3C PROV-N. Существуют экспериментальные опциональные бэкенды для более крупных графов. `nova export-evidence` создает подписанный ZIP-архив, содержащий капсулу, подграф происхождения, аттестации in-toto DSSE и подписи ed25519, которые можно проверить с помощью sha256sum и верификатора ed25519 без среды выполнения NovaFabric.
Применимость: в проекте указано, что он не является оркестратором, тренажером моделей, сервером вывода, векторной БД, шлюзом LLM или CI-раннером, и что управляемая SaaS-платформа наблюдаемости будет более подходящим выбором, если целью являются дашборды в реальном времени, оповещения и многопользовательская аналитика. Режим сервера и живой дашборд помечены как экспериментальные, схемы капсул не будут заморожены до планируемой версии v1.0, а инструмент создает доказательства, поддерживающие рабочие процессы комплаенса, а не сертифицирует их. В README в качестве целевой аудитории указаны ML/платформенные инженеры, команды HPC и исследователи, офицеры по комплаенсу, специалисты по реагированию на инциденты и авторы фреймворков для агентов.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.