Как повторить проверки
Приложение к четырём статьям от 1 ноября 2026 года. Здесь исходники оценщиков, авторские данные, результаты по каждому случаю и сведения об окружении. Это материалы конкретной серии, а не приёмка готового выпуска CapyAgent.
Что доступно для независимой проверки
Все прогнозы и метрики можно пересчитать по опубликованным данным. Публичные SciFact и RuDecide загружаются отдельно из указанных источников. Полный запуск компонента CapyAgent требует разрешённого доступа к закрытому снимку 77ac9b72; один хеш не заменяет доступа к исходникам. Называть такой повтор полностью открытым было бы неверно.
Порядок повторения
- Создайте собственный каталог опыта. Скачайте размещённые ниже скрипты и запустите make_fixtures.py для авторского набора.
- Запустите
python3 prepare_public_data.py RUN_DIR. Скрипт не ставит пакеты и не использует API-ключи; он проверяет хеши открытых файлов и готовит ровно те же 50 запросов SciFact. Условия исходных данных сохраняются. - При наличии доступа к коду сделайте отдельную копию закреплённой ревизии. Добавьте два исследовательских Go-теста в core/internal/memory. Рабочую копию разработки и пользовательские профили не используйте.
- Для Recall задайте RESEARCH_FIXTURES и RESEARCH_RESULTS, для матрицы доступа - RESEARCH_SCOPE_RESULTS, для восстановления - RESEARCH_RECOVERY_RESULTS. Имена тестов: TestResearchMemoryRetrievalV1, TestResearchScopeMatrixV2, TestResearchRecoveryMatrixV2.
- Запускайте
go test -p 1 ./internal/memory -run '^ИМЯ_ТЕСТА$' -count=1 -jsonс GOMAXPROCS=1, пустым пользовательским окружением, GOPROXY=off и GOSUMDB=off. Для повторения исходной серии см. сохранённые run-*.sh; абсолютные пути относятся к исходной машине и требуют адаптации. - Запустите baselines.py, analyze_public.py и routing_ablation.py для подсчётов. Последний вариант с именами инструментов является разведочным, добавленным после просмотра первичного результата.
Этот порядок команд дополнительно выполнен в новом каталоге на KotikTurbo: итоговые JSON совпали с опубликованными. Выдачи CapyAgent при таком пересчёте взяты из сохранённых результатов, повторного запуска самого компонента здесь нет. Квитанция пересчёта.
Расположение файлов и команды пересчёта
В новом каталоге опыта RUN_DIR разместите Python-скрипты и rag-fixtures.json. Создайте подкаталог evidence и сохраните туда опубликованные JSON с выдачами. Скрипты используют эту структуру; плоский список файлов на сайте не является структурой рабочего каталога.
RUN_DIR/
make_fixtures.py, prepare_public_data.py
baselines.py, analyze_public.py
routing_ablation.py, verify_results.py
rag-fixtures.json
evidence/
capy-retrieval.json
capy-scifact.json
capy-scope-v2.json
capy-recovery-v2.jsonДля независимого пересчёта опубликованных выдач CapyAgent достаточно скачать эти JSON. Это не новый запуск самого агента. Перейдите в RUN_DIR и выполните команды ниже. prepare_public_data.py загрузит открытые SciFact и RuDecide, проверит их SHA-256; baselines.py заново построит лексические прогнозы.
mkdir -p evidence
python3 make_fixtures.py
python3 prepare_public_data.py .
python3 baselines.py .
python3 analyze_public.py .
python3 routing_ablation.py .
python3 verify_results.py .Для нового запуска компонента вместо сохранённых выдач сначала получите разрешённый снимок CapyAgent и выполните Go-тесты. Переменные RESEARCH_RESULTS, RESEARCH_SCOPE_RESULTS и RESEARCH_RECOVERY_RESULTS направьте на соответствующие JSON внутри RUN_DIR/evidence. Для SciFact повторите TestResearchMemoryRetrievalV1 с RESEARCH_FIXTURES, указывающей на scifact-fixtures.json, и RESEARCH_RESULTS на evidence/capy-scifact.json. Старые run-*.sh сохранены как квитанции команд исходного окружения, а не как универсальный установщик.
Ограничения и безопасность запуска
На KotikTurbo все вычисления шли через kotik-run с сохранением power-saver и тихого расписания 00:00-10:00 по Москве. Собственные процессы ограничены 25% одного ядра. GPU, платные API и рабочие службы не использовались. Время под этим ограничением не является замером скорости продукта. Не запускайте бездумно исторический shell-скрипт на рабочем профиле.
Серия не содержит нового сквозного модельного опыта, проверки всей системы RAG, инференса Кивка/Мигома или испытания выдачи и отзыва реальных токенов. Оплачиваемый API-бюджет не разрешён; локальная модель для такой серии не подготовлена. Эти пункты не отмечены как выполненные.
Что изменялось в оценщике
Первая версия неверно принимала смену команды за смену владельца private-памяти. Другая первоначальная постановка смешивала чтение рядом со службой с открытием при запуске. В финальной версии эти различия объявлены явно. Журнал исправлений опубликован; продуктовый код не подгонялся под результаты.
Лицензии и атрибуция
Снимок CapyAgent имеет Business Source License 1.1 с дополнительным разрешением. MIT-уведомление адаптаций Hermes от Nous Research сохранено в THIRD_PARTY_NOTICES. Полный исходный код CapyAgent не переиздаётся. У SciFact утверждения и разметка - CC BY 4.0, аннотации - ODC-By 1.0. Синтетический раздел навыков RuDecide обозначен авторами CC BY 4.0; лицензии других частей набора отличаются.
Первоисточники: SciFact и условия данных, BEIR и ссылка на архив, RuDecide в закреплённой версии.
Файлы исследования
- final-protocol.json
- environment-and-receipts.json
- source-manifest.json
- rag-fixtures.json
- make_fixtures.py
- prepare_public_data.py
- research_eval_test.go
- research_recovery_test.go
- baselines.py
- analyze_public.py
- routing_ablation.py
- retrieval-summary.json
- scifact-summary.json
- state-and-access-summary.json
- routing-summary-final.json
- capy-retrieval.json
- capy-scifact.json
- capy-scope-v2.json
- capy-recovery-v2.json
- routing-predictions-final.json
- agent-cases-sanitized.json
- scoring-corrections.json
- CapyAgent-LICENSE.txt
- THIRD_PARTY_NOTICES.txt
- verify_results.py
- independent-final-check.json
- run-memory.sh
- run-second.sh
- run-agent.sh
- run-recovery.sh
Контрольные суммы опубликованных материалов
Вернуться к статьямДополнение: попарный разбор ошибок
Описательный пересчёт двух вариантов BM25 на тех же 300 опубликованных предсказаниях. Новый запуск модели не проводился.