Создание агентного RAG для Obsidian с помощью Claude и оценочного инструмента для выявления галлюцинаций

Разработчик на r/ClaudeAI создал агентную RAG-систему поверх своего хранилища Obsidian, чтобы Claude мог отвечать на вопросы из инженерных PDF без сжигания еженедельного лимита токенов. Процесс: конвертировать инженерные PDF в markdown, поместить их в хранилище Obsidian, использовать дешевый агент (Kimi K2.5) для BM25-поиска по хранилищу, и показывать Claude только релевантные фрагменты вместо целых книг. Это снизило затраты токенов на вопрос с ~50k до ~5k.
Новая проблема: агент иногда уверенно ошибался — например, говоря "Марк Аврелий писал о смерти в Книге IX, раздел 3", когда канонический отрывок был в Книге IV, раздел 5. Достаточно правдоподобно, чтобы требовалась ручная проверка. Поэтому разработчик создал eval-обвязку с использованием Claude Sonnet 4.6 в качестве LLM-судьи, намеренно из другого семейства моделей, чем агент Kimi, чтобы избежать оценки собственных результатов.
Первоначальная рубрика имела четыре категории, включая 0,7 "тонко, но не неверно". При ручной оценке человек (тот же разработчик, вслепую, в другой день) также сваливал всё пограничное в 0,7. Цифра согласия выглядела внушительно, но на самом деле измеряла общее смещение. После четырех итераций рубрики рабочая версия полностью убрала среднюю категорию и добавила категорию 0,9 для одного конкретного случая: "правильный ответ, неверный фрагмент". Ранее этот случай вызывал ложноположительный (1,0, маскирующий пробел в поиске) или ложноотрицательный результат (0,4, наказывающий за правильный ответ). Разделение исправило это.
По новой рубрике согласие судьи с человеком на 18 строках возросло с 7/18 (39%) до 17/18 (94%). Оговорки: 18 строк — малая выборка, один оценщик (межэкспертная надежность не установлена), BM25 не нов (но хорошо работает для технических/литературных корпусов, где перекрытие лексики запроса и документа высокое). Отрицательный результат: та же техника разбиения на чанки, которая подняла один корпус на 33 п.п., ухудшила другой на 17 п.п. на том же eval — обвязка выявила это на первом прогоне.
Полное описание с историей четырех итераций рубрики, калибровочным листом и заметкой об отрицательном результате — на Medium. Автору интересно, как другие используют Claude Sonnet в качестве судьи для своих RAG/агентных установок, какую рубрику они выбрали и как решают проблему межэкспертной надежности с одним человеком в цикле.
📖 Читать полный источник: r/ClaudeAI
👀 Смотрите также

Шерлок: Документация Apple Developer как локальный MCP для Claude Code
Sherlock индексирует 70 000 символов API Apple в SQLite FTS5 и предоставляет 5 инструментов MCP + 3 навыка автоматического запуска для привязки Claude Code к реальной документации, предотвращая галлюцинации.

ETL-D MCP-сервер: Детерминированный парсинг CSV для Claude, предотвращающий финансовые галлюцинации
Разработчик создал ETL-D — сервер MCP с открытым исходным кодом для Claude Desktop, который обрабатывает CSV-файлы в трёх детерминированных слоях, чтобы предотвратить галлюцинации с десятичными точками в финансовых данных. Он использует парсеры Python для известных форматов, достигает времени отклика ~70 мс при 0 вызовах LLM для 200 параллельных запросов и задействует LLM только в качестве запасного варианта для текста с высокой энтропией.

Tocket CLI: Инженерный Фреймворк Контекста для ИИ-Агентов Программирования
Tocket — это CLI-инструмент, который создает папку .context/ с файлами в формате markdown для AI-агентов, чтобы они могли сохранять память о проекте между сессиями. Он автоматически определяет стек технологий из package.json и генерирует предварительно настроенный файл .cursorrules.

Creation OS: Локальная σ-затворная среда выполнения LLM, позволяющая моделям говорить «Я не знаю» вместо галлюцинаций
Creation OS оборачивает локальные LLM (BitNet, Qwen, Gemma, любые GGUF) с σ-затвором, который измеряет несколько каналов неопределенности и принимает решение ACCEPT, RETHINK или ABSTAIN для каждого вывода. Без облака, без API. Точность TruthfulQA улучшена ~29% за счет селективной регенерации.